Use paths with $(top_srcdir) so that builds from other than source dirs work.
[debian/gnuradio] / configure.ac
index 3dbbae84ed0cfe53c168be21aeb60f584fcd8f15..f3254a33f2adadca59e7ac66b7e1c1c301e23315 100644 (file)
@@ -14,15 +14,16 @@ dnl GNU General Public License for more details.
 dnl 
 dnl You should have received a copy of the GNU General Public License
 dnl along with GNU Radio; see the file COPYING.  If not, write to
-dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-dnl Boston, MA 02111-1307, USA.
+dnl the Free Software Foundation, Inc., 51 Franklin Street,
+dnl Boston, MA 02110-1301, USA.
 
 AC_INIT
 AC_PREREQ(2.57)
 AM_CONFIG_HEADER(config.h)
 AC_CANONICAL_HOST
 AC_CANONICAL_TARGET([])
-AM_INIT_AUTOMAKE(gnuradio,2.8svn)
+AM_INIT_AUTOMAKE(gnuradio,3.0svn)
+AC_CONFIG_SRCDIR([gnuradio-core/src/lib/runtime/gr_vmcircbuf.cc])
 
 GR_X86_64              dnl check for lib64 suffix
 LF_CONFIGURE_CC
@@ -30,10 +31,11 @@ LF_CONFIGURE_CXX
 LF_SET_WARNINGS
 GR_SET_GPROF
 GR_SET_PROF
-GR_PROG_AS
+AM_PROG_AS
 AC_PROG_LN_S
 AC_PROG_MAKE_SET
 AC_PROG_INSTALL
+AC_PATH_PROG([RM_PROG], [rm])
 
 AC_LIBTOOL_WIN32_DLL
 dnl AC_DISABLE_SHARED  dnl don't build shared libraries
@@ -45,12 +47,15 @@ GR_FORTRAN
 GR_NO_UNDEFINED                dnl do we need the -no-undefined linker flag
 GR_SCRIPTING
 
+AC_CHECK_PROG([XMLTO],[xmlto],[yes],[])
+AM_CONDITIONAL([HAS_XMLTO], [test x$XMLTO = xyes])
+
 dnl Checks for libraries.
 AC_CHECK_LIB(socket,socket)
 
 dnl check for threads (mandatory)
 GR_OMNITHREAD
-
+#AC_SUBST(PTHREAD_CFLAGS)
 CFLAGS="${CFLAGS} $PTHREAD_CFLAGS"
 CXXFLAGS="${CXXFLAGS} $PTHREAD_CFLAGS"
 
@@ -77,6 +82,7 @@ AC_C_INLINE
 AC_TYPE_SIZE_T
 AC_HEADER_TIME
 AC_C_BIGENDIAN
+AC_STRUCT_TM
 
 dnl Checks for library functions.
 AC_FUNC_ALLOCA
@@ -84,6 +90,7 @@ AC_FUNC_SETVBUF_REVERSED
 AC_FUNC_VPRINTF
 AC_CHECK_FUNCS([mmap select socket strcspn strerror strspn getpagesize sysconf])
 AC_CHECK_FUNCS([snprintf gettimeofday nanosleep sched_setscheduler])
+AC_CHECK_FUNCS([modf sqrt])
 
 AC_CHECK_LIB(m, sincos, [AC_DEFINE([HAVE_SINCOS],[1],[Define to 1 if your system has `sincos'.])])
 AC_CHECK_LIB(m, sincosf,[AC_DEFINE([HAVE_SINCOSF],[1],[Define to 1 if your system has `sincosf'.])])
@@ -91,6 +98,7 @@ AC_CHECK_LIB(m, sinf, [AC_DEFINE([HAVE_SINF],[1],[Define to 1 if your system has
 AC_CHECK_LIB(m, cosf, [AC_DEFINE([HAVE_COSF],[1],[Define to 1 if your system has `cosf'.])])
 AC_CHECK_LIB(m, trunc, [AC_DEFINE([HAVE_TRUNC],[1],[Define to 1 if your system has `trunc'.])])
 AC_CHECK_LIB(m, exp10, [AC_DEFINE([HAVE_EXP10],[1],[Define to 1 if your system has 'exp10'.])])
+#AC_FUNC_MKTIME
 
 AH_BOTTOM([
 #ifndef HAVE_TRUNC
@@ -128,10 +136,6 @@ dnl conditional build stuff
 GR_CHECK_DOXYGEN
 GR_SET_MD_CPU
 
-dnl Define where to look for GNURADIO includes
-GNURADIO_INCLUDES='-I$(top_srcdir)/gnuradio-core/src/lib/runtime -I$(top_srcdir)/gnuradio-core/src/lib/general -I$(top_srcdir)/gnuradio-core/src/lib/filter -I$(top_srcdir)/gnuradio-core/src/lib/io -I$(top_srcdir)/gnuradio-core/src/lib/g72x -I$(top_srcdir)/gnuradio-core/src/lib/atsc -I$(top_srcdir)/gnuradio-core/src/lib/omnithread -I$(top_builddir)/gnuradio-core/src/lib/general -I$(top_builddir)/gnuradio-core/src/lib/filter -I$(top_builddir)/gnuradio-core/src/lib/reed-solomon -I$(top_builddir)/gnuradio-core/src/lib/swig $(FFTW3F_CFLAGS)'
-AC_SUBST(GNURADIO_INCLUDES)
-
 dnl Define where to look for cppunit includes and libs
 dnl sets CPPUNIT_CFLAGS and CPPUNIT_LIBS
 AM_PATH_CPPUNIT([1.9.14],[],
@@ -147,12 +151,14 @@ GR_REQUIRE_BOOST_INCLUDES
 DEFINES=""
 AC_SUBST(DEFINES)
 
-STD_DEFINES_AND_INCLUDES="$DEFINES $GNURADIO_INCLUDES $BOOST_CFLAGS"
-AC_SUBST(STD_DEFINES_AND_INCLUDES)
-
 dnl Component specific configuration
 dnl The order of the GR_ macros determines the order of compilation
-subdirs="config"
+AC_ARG_ENABLE(
+    [all-components],
+    [  --enable-all-components Build all components or stop on failed dependencies]
+)
+
+build_dirs="config"
 GRC_GNURADIO_CORE
 GRC_GNURADIO_EXAMPLES
 GRC_USRP
@@ -160,52 +166,61 @@ GRC_GR_USRP                       dnl this must come after GRC_USRP
 GRC_GR_AUDIO_ALSA
 GRC_GR_AUDIO_JACK
 GRC_GR_AUDIO_OSS
-GRC_GR_AUDIO_OSX               dnl ***NOT TESTED***
-GRC_GR_AUDIO_PORTAUDIO         dnl ***NOT TESTED***
-GRC_GR_AUDIO_WINDOWS           dnl ***NOT TESTED***
+GRC_GR_AUDIO_OSX
+GRC_GR_AUDIO_PORTAUDIO
+GRC_GR_AUDIO_WINDOWS
 GRC_GR_ATSC
 GRC_GR_COMEDI
 GRC_GR_ERROR_CORRECTING_CODES
 GRC_GR_GSM_FR_VOCODER
+GRC_GR_PAGER
 GRC_GR_RADAR
 GRC_GR_RADIO_ASTRONOMY
-GRC_GR_PMT
+GRC_GR_TRELLIS
 GRC_GR_VIDEO_SDL
 GRC_GR_WXGUI
-
-dnl Has list of successfully configured components
-AC_SUBST([subdirs],$subdirs)
-AC_SUBST([failed_subdirs], $failed)
+GRC_PMT
+GRC_MBLOCK                     dnl this must come after GRC_PMT
+GRC_EZDOP              
+GRC_GR_EZDOP                   dnl this must come after GRC_EZDOP
+GRC_GR_RDF
+
+# Each component is now either to be built, was skipped, or failed dependencies
+AC_SUBST([build_dirs], [$build_dirs])
+AC_SUBST([skipped_dirs], [$skipped_dirs])
  
 AC_CONFIG_FILES([\
-         Makefile \
-         config/Makefile
+    Makefile \
+    run_tests.sh
+    config/Makefile
 ])
 
+dnl run_tests.sh is created from run_tests.in.sh.  Make it executable.
+AC_CONFIG_COMMANDS([run_tests_build], [chmod +x run_tests.sh])
+
 AC_OUTPUT
 
 echo
-echo "*******************************************************************"
+echo "*********************************************************************"
 echo The following GNU Radio components have been successfully configured:
 echo 
-for dir in $subdirs
+for dir in $build_dirs
 do
     echo $dir
 done
 echo
-if test "$failed" != ""; then
-    echo However, the following components did not configure successfully due to 
-    echo missing dependencies:
+echo You my now run the 'make' command to build these components.
+echo
+if test "$skipped_dirs" != ""; then
+    echo "*********************************************************************"
+    echo The following components were skipped either because you asked not
+    echo to build them or they didn\'t pass configuration checks:
     echo
-    for dir in $failed
+    for dir in $skipped_dirs
     do
         echo $dir
     done
     echo
-    echo You may still run the 'make' command to build the successfully configured
-    echo components.
+    echo These components will not be built.
     echo
-    #exit 1
 fi
-echo You my now run the 'make' command to build these packages.
-echo