Radically simplified standalone configure.ac (for out of tree builds).
[debian/gnuradio] / config / grc_gnuradio_core.m4
index 37849929f3b394861daa54ca8f65b328e7a42e59..df2ec305de708bdfd5051257dd00b8d4bcdb1a9f 100644 (file)
@@ -18,7 +18,61 @@ dnl the Free Software Foundation, Inc., 51 Franklin Street,
 dnl Boston, MA 02110-1301, USA.
 
 AC_DEFUN([GRC_GNURADIO_CORE],[
-    GRC_ENABLE([gnuradio-core])
+    GRC_ENABLE(gnuradio-core)
+
+    GRC_WITH(gnuradio-core, [
+        dnl gnuradio-core has some extra defines if --with specified
+       gnuradio_core_SWIGDIRPATH="$gnuradio_core_INCLUDEDIR/swig"
+       gnuradio_core_I="$gnuradio_core_SWIGDIRPATH/gnuradio.i"
+       gnuradio_core_SWIG_INCLUDES="-I$gnuradio_core_SWIGDIRPATH"
+       gnuradio_core_PYDIRPATH=$pythondir
+    ])
+
+    dnl Don't do gnuradio-core if gruel or omnithread skipped
+    GRC_CHECK_DEPENDENCY(gnuradio-core, gruel)
+    GRC_CHECK_DEPENDENCY(gnuradio-core, omnithread)
+
+    dnl If execution gets to here, $passed will be:
+    dnl   with : if the --with code didn't error out
+    dnl   yes  : if the --enable code passed muster and all dependencies are met
+    dnl   no   : otherwise
+    if test $passed != with; then
+       dnl how and where to find INCLUDES and LA and such
+        gnuradio_core_INCLUDES="\
+-I\${abs_top_srcdir}/gnuradio-core/src/lib/runtime \
+-I\${abs_top_srcdir}/gnuradio-core/src/lib/general \
+-I\${abs_top_builddir}/gnuradio-core/src/lib/general \
+-I\${abs_top_srcdir}/gnuradio-core/src/lib/gengen \
+-I\${abs_top_builddir}/gnuradio-core/src/lib/gengen \
+-I\${abs_top_srcdir}/gnuradio-core/src/lib/filter \
+-I\${abs_top_builddir}/gnuradio-core/src/lib/filter \
+-I\${abs_top_srcdir}/gnuradio-core/src/lib/reed-solomon \
+-I\${abs_top_srcdir}/gnuradio-core/src/lib/viterbi \
+-I\${abs_top_srcdir}/gnuradio-core/src/lib/io \
+-I\${abs_top_srcdir}/gnuradio-core/src/lib/g72x \
+-I\${abs_top_srcdir}/gnuradio-core/src/lib/swig \
+-I\${abs_top_builddir}/gnuradio-core/src/lib/swig \
+\$(FFTW3F_CFLAGS)"
+        gnuradio_core_LA="\${abs_top_builddir}/gnuradio-core/src/lib/libgnuradio-core.la"
+       gnuradio_core_I="\${abs_top_srcdir}/gnuradio-core/src/lib/swig/gnuradio.i"
+       gnuradio_core_LIBDIRPATH="\${abs_top_builddir}/gnuradio-core/src/lib:\${abs_top_builddir}/gnuradio-core/src/lib/.libs"
+       gnuradio_core_SWIGDIRPATH="\${abs_top_builddir}/gnuradio-core/src/lib/swig:\${abs_top_builddir}/gnuradio-core/src/lib/swig/.libs:\${abs_top_srcdir}/gnuradio-core/src/lib/swig"
+       gnuradio_core_PYDIRPATH="\${abs_top_srcdir}/gnuradio-core/src/python"
+
+        dnl kludge up initial swig dependency files
+        AC_CONFIG_COMMANDS([swig_deps], [
+            touch gnuradio-core/src/lib/swig/gnuradio_swig_py_runtime.d
+            touch gnuradio-core/src/lib/swig/gnuradio_swig_py_general.d
+            touch gnuradio-core/src/lib/swig/gnuradio_swig_py_gengen.d
+            touch gnuradio-core/src/lib/swig/gnuradio_swig_py_filter.d
+            touch gnuradio-core/src/lib/swig/gnuradio_swig_py_io.d
+        ])
+    fi
+
+    dnl other externally-required gnuradio-core variables
+    AC_SUBST(gnuradio_core_I)
+    AC_SUBST(gnuradio_core_SWIGDIRPATH)
+    AC_SUBST(gnuradio_core_PYDIRPATH)
 
     AC_CONFIG_FILES([ \
         gnuradio-core/Makefile
@@ -26,7 +80,7 @@ AC_DEFUN([GRC_GNURADIO_CORE],[
         gnuradio-core/doc/Doxyfile \
         gnuradio-core/doc/Makefile \
         gnuradio-core/doc/other/Makefile \
-        gnuradio-core/doc/xml/Makefile \
+        gnuradio-core/doc/xml-swig/Makefile \
         gnuradio-core/src/Makefile \
         gnuradio-core/src/gen_interpolator_taps/Makefile \
         gnuradio-core/src/lib/Makefile \
@@ -38,6 +92,7 @@ AC_DEFUN([GRC_GNURADIO_CORE],[
         gnuradio-core/src/lib/io/Makefile \
         gnuradio-core/src/lib/missing/Makefile \
         gnuradio-core/src/lib/reed-solomon/Makefile \
+        gnuradio-core/src/lib/viterbi/Makefile \
         gnuradio-core/src/lib/runtime/Makefile \
         gnuradio-core/src/lib/swig/Makefile \
         gnuradio-core/src/python/Makefile \
@@ -49,33 +104,13 @@ AC_DEFUN([GRC_GNURADIO_CORE],[
         gnuradio-core/src/python/gnuradio/gr/run_tests \
         gnuradio-core/src/python/gnuradio/gru/Makefile \
         gnuradio-core/src/python/gnuradio/gruimpl/Makefile \
-       gnuradio-core/src/python/gnuradio/vocoder/Makefile \
+        gnuradio-core/src/python/gnuradio/vocoder/Makefile \
         gnuradio-core/src/tests/Makefile \
         gnuradio-core/src/utils/Makefile \
     ])
-    
-    passed=yes
-    # Don't do gnuradio-core if omnithread skipped
-    # There *has* to be a better way to check if a value is in a string
-    for dir in $skipped_dirs
-    do
-       if test x$dir = xomnithread; then
-           AC_MSG_RESULT([Component gnuradio-core requires omnithread, which is not being built.])
-           passed=no
-       fi
-    done
 
-    GRC_BUILD_CONDITIONAL([gnuradio-core],[
+    GRC_BUILD_CONDITIONAL(gnuradio-core, [
         dnl run_tests is created from run_tests.in.  Make it executable.
-        AC_CONFIG_COMMANDS([run_tests_core], [chmod +x gnuradio-core/src/python/gnuradio/gr/run_tests])
-
-        dnl kludge up initial swig dependency files
-        AC_CONFIG_COMMANDS([swig_deps],        [
-               touch gnuradio-core/src/lib/swig/gnuradio_swig_py_runtime.d
-               touch gnuradio-core/src/lib/swig/gnuradio_swig_py_general.d
-               touch gnuradio-core/src/lib/swig/gnuradio_swig_py_gengen.d
-               touch gnuradio-core/src/lib/swig/gnuradio_swig_py_filter.d
-               touch gnuradio-core/src/lib/swig/gnuradio_swig_py_io.d
-               ])
+        AC_CONFIG_COMMANDS([run_tests_core],[chmod +x gnuradio-core/src/python/gnuradio/gr/run_tests])
     ])
 ])