Fixed distcheck failure and cleaned up ignores.
[debian/gnuradio] / configure.ac
index 209d9f8b98b33c8c6a9417e9e9814c33a507de4a..6d21017e98854e0dde9578057440f1598dbb5820 100644 (file)
@@ -1,10 +1,10 @@
-dnl Copyright 2001,2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
+dnl Copyright 2001,2002,2003,2004,2005,2006,2007,2008 Free Software Foundation, Inc.
 dnl 
 dnl This file is part of GNU Radio
 dnl 
 dnl GNU Radio is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
 dnl 
 dnl This file is part of GNU Radio
 dnl 
 dnl GNU Radio is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2, or (at your option)
+dnl the Free Software Foundation; either version 3, or (at your option)
 dnl any later version.
 dnl 
 dnl GNU Radio is distributed in the hope that it will be useful,
 dnl any later version.
 dnl 
 dnl GNU Radio is distributed in the hope that it will be useful,
@@ -20,11 +20,22 @@ dnl Boston, MA 02110-1301, USA.
 AC_INIT
 AC_PREREQ(2.57)
 AM_CONFIG_HEADER(config.h)
 AC_INIT
 AC_PREREQ(2.57)
 AM_CONFIG_HEADER(config.h)
-AC_CANONICAL_HOST
-AC_CANONICAL_TARGET([])
-AM_INIT_AUTOMAKE(gnuradio,3.0svn)
 AC_CONFIG_SRCDIR([gnuradio-core/src/lib/runtime/gr_vmcircbuf.cc])
 
 AC_CONFIG_SRCDIR([gnuradio-core/src/lib/runtime/gr_vmcircbuf.cc])
 
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
+AC_CANONICAL_TARGET
+
+AM_INIT_AUTOMAKE(gnuradio,3.1svn)
+
+dnl add ${prefix}/lib/pkgconfig to the head of the PKG_CONFIG_PATH
+if test [x]${PKG_CONFIG_PATH} = x; then
+    PKG_CONFIG_PATH=${prefix}/lib/pkgconfig
+else
+    PKG_CONFIG_PATH=${prefix}/lib/pkgconfig:${PKG_CONFIG_PATH}
+fi
+export PKG_CONFIG_PATH
+
 DEFINES=""
 AC_SUBST(DEFINES)
 
 DEFINES=""
 AC_SUBST(DEFINES)
 
@@ -49,17 +60,14 @@ if test "$user_set_cxxflags" != yes; then
   autoconf_default_CXXFLAGS="$CXXFLAGS"
   CXXFLAGS=""
   if test "$GXX" = yes; then
   autoconf_default_CXXFLAGS="$CXXFLAGS"
   CXXFLAGS=""
   if test "$GXX" = yes; then
-    case "$host_os" in
-       darwin*)
-       if test "$host_cpu" = i386; then
-          swig_CXXFLAGS="-g1 -O1"
-       else
-          # "-O1" breaks PPC-OSX for some reason
+    case "$host_cpu" in
+       powerpc*)
+          dnl "-O1" is broken on the PPC for some reason
+          dnl (at least as of g++ 4.1.1)
           swig_CXXFLAGS="-g1 -O2"
           swig_CXXFLAGS="-g1 -O2"
-       fi      
        ;;
        *) 
        ;;
        *) 
-       swig_CXXFLAGS="-g1 -O1"
+       swig_CXXFLAGS="-g -O1"
        ;;
     esac
   fi
        ;;
     esac
   fi
@@ -67,7 +75,6 @@ fi
 AC_SUBST(autoconf_default_CXXFLAGS)
 AC_SUBST(swig_CXXFLAGS)
 
 AC_SUBST(autoconf_default_CXXFLAGS)
 AC_SUBST(swig_CXXFLAGS)
 
-
 LF_SET_WARNINGS
 GR_SET_GPROF
 GR_SET_PROF
 LF_SET_WARNINGS
 GR_SET_GPROF
 GR_SET_PROF
@@ -81,7 +88,7 @@ AC_LIBTOOL_WIN32_DLL
 dnl AC_DISABLE_SHARED  dnl don't build shared libraries
 AC_ENABLE_SHARED       dnl do build shared libraries
 AC_DISABLE_STATIC      dnl don't build static libraries
 dnl AC_DISABLE_SHARED  dnl don't build shared libraries
 AC_ENABLE_SHARED       dnl do build shared libraries
 AC_DISABLE_STATIC      dnl don't build static libraries
-AC_PROG_LIBTOOL
+m4_ifdef([LT_INIT],[LT_INIT],[AC_PROG_LIBTOOL])
 GR_FORTRAN
 
 GR_NO_UNDEFINED                dnl do we need the -no-undefined linker flag
 GR_FORTRAN
 
 GR_NO_UNDEFINED                dnl do we need the -no-undefined linker flag
@@ -95,14 +102,18 @@ AC_CHECK_LIB(socket,socket)
 
 dnl check for threads (mandatory)
 GR_OMNITHREAD
 
 dnl check for threads (mandatory)
 GR_OMNITHREAD
-#AC_SUBST(PTHREAD_CFLAGS)
 CFLAGS="${CFLAGS} $PTHREAD_CFLAGS"
 CXXFLAGS="${CXXFLAGS} $PTHREAD_CFLAGS"
 
 CFLAGS="${CFLAGS} $PTHREAD_CFLAGS"
 CXXFLAGS="${CXXFLAGS} $PTHREAD_CFLAGS"
 
-if test "x$CXX_FOR_BUILD" = x
+if test x$CXX_FOR_BUILD = x
 then
 then
-  CXX_FOR_BUILD=${CXX}
+  if test x$cross_compiling = xno; then
+    CXX_FOR_BUILD=${CXX}
+  else
+    CXX_FOR_BUILD=g++
+  fi
 fi
 fi
+
 AC_SUBST(CXX_FOR_BUILD)
 
 dnl Check for SysV shm (mandatory)
 AC_SUBST(CXX_FOR_BUILD)
 
 dnl Check for SysV shm (mandatory)
@@ -113,15 +124,26 @@ dnl Checks for header files.
 AC_HEADER_STDC
 AC_HEADER_SYS_WAIT
 AC_CHECK_HEADERS(fcntl.h limits.h strings.h time.h sys/ioctl.h sys/time.h unistd.h)
 AC_HEADER_STDC
 AC_HEADER_SYS_WAIT
 AC_CHECK_HEADERS(fcntl.h limits.h strings.h time.h sys/ioctl.h sys/time.h unistd.h)
-AC_CHECK_HEADERS(linux/ppdev.h sys/mman.h sys/select.h sys/types.h)
-AC_CHECK_HEADERS(sys/resource.h stdint.h sched.h signal.h)
+AC_CHECK_HEADERS(linux/ppdev.h dev/ppbus/ppi.h sys/mman.h sys/select.h sys/types.h)
+AC_CHECK_HEADERS(sys/resource.h stdint.h sched.h signal.h sys/syscall.h)
+AC_CHECK_HEADERS(netinet/in.h)
+AC_CHECK_HEADERS(windows.h)
+
+dnl Allow creating autoconf independent header files for bytesex routines
+AC_CHECK_HEADER(arpa/inet.h, [GR_HAVE_ARPA_INET=1],[GR_HAVE_ARPA_INET=0])
+AC_CHECK_HEADER(netinet/in.h, [GR_HAVE_NETINET_IN=1],[GR_HAVE_NETINET_IN=0])
+AC_CHECK_HEADER(byteswap.h, [GR_HAVE_BYTESWAP=1],[GR_HAVE_BYTESWAP=0])
+AC_SUBST(GR_HAVE_ARPA_INET)
+AC_SUBST(GR_HAVE_NETINET_IN)
+AC_SUBST(GR_HAVE_BYTESWAP)
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_C_INLINE
 AC_TYPE_SIZE_T
 AC_HEADER_TIME
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_C_INLINE
 AC_TYPE_SIZE_T
 AC_HEADER_TIME
-AC_C_BIGENDIAN
+AC_C_BIGENDIAN([GR_ARCH_BIGENDIAN=1],[GR_ARCH_BIGENDIAN=0])
+AC_SUBST(GR_ARCH_BIGENDIAN)
 AC_STRUCT_TM
 
 dnl Checks for library functions.
 AC_STRUCT_TM
 
 dnl Checks for library functions.
@@ -130,7 +152,8 @@ 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_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 sigaction sigprocmask])
+AC_CHECK_FUNCS([modf sqrt sigaction sigprocmask pthread_sigmask])
+AC_CHECK_FUNCS([sched_setaffinity])
 
 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'.])])
 
 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'.])])
@@ -138,6 +161,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_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_CHECK_LIB(m, log2, [AC_DEFINE([HAVE_LOG2],[1],[Define to 1 if your system has 'log2'.])])
 #AC_FUNC_MKTIME
 
 AH_BOTTOM([
 #AC_FUNC_MKTIME
 
 AH_BOTTOM([
@@ -156,6 +180,10 @@ inline static double exp10(double x)
   return pow(10.0, x);
 }
 #endif
   return pow(10.0, x);
 }
 #endif
+
+#ifdef HAVE_WINDOWS_H
+#define NOMINMAX
+#endif
 ])
 
 GR_CHECK_SHM_OPEN
 ])
 
 GR_CHECK_SHM_OPEN
@@ -178,8 +206,14 @@ GR_SET_MD_CPU
 
 dnl Define where to look for cppunit includes and libs
 dnl sets CPPUNIT_CFLAGS and CPPUNIT_LIBS
 
 dnl Define where to look for cppunit includes and libs
 dnl sets CPPUNIT_CFLAGS and CPPUNIT_LIBS
-AM_PATH_CPPUNIT([1.9.14],[],
-               [AC_MSG_ERROR([GNU Radio requires cppunit.  Stop])])
+dnl Try using pkg-config first, then fall back to cppunit-config.
+PKG_CHECK_EXISTS(cppunit,
+  [PKG_CHECK_MODULES(CPPUNIT, cppunit >= 1.9.14)],
+  [AM_PATH_CPPUNIT([1.9.14],[],
+               [AC_MSG_ERROR([GNU Radio requires cppunit.  Stop])])])
+
+dnl see if GUILE is installed
+AC_PATH_PROG(GUILE,guile)
 
 CPPUNIT_INCLUDES=$CPPUNIT_CFLAGS
 AC_SUBST(CPPUNIT_INCLUDES)
 
 CPPUNIT_INCLUDES=$CPPUNIT_CFLAGS
 AC_SUBST(CPPUNIT_INCLUDES)
@@ -188,18 +222,42 @@ dnl Define where to find boost includes
 dnl defines BOOST_CFLAGS
 GR_REQUIRE_BOOST_INCLUDES
 
 dnl defines BOOST_CFLAGS
 GR_REQUIRE_BOOST_INCLUDES
 
+dnl If this is being done from a subversion tree, create variables
+GR_SUBVERSION
+
 dnl Component specific configuration
 dnl The order of the GR_ macros determines the order of compilation
 dnl Component specific configuration
 dnl The order of the GR_ macros determines the order of compilation
+dnl For -any- checks on $enable_all_components
+dnl use the following guildlines:
+dnl   yes : --enable-all-components was specified, so error out if any
+dnl         components do not pass configuration checks.
+dnl   no  : --disable-all-components was specified, so try to build the
+dnl         --enable'd components, and error out if any do not pass
+dnl         configuration checks.
+dnl   ""  : this option was not specified on the command line; try to
+dnl         build all components that are not --with'd, but don't
+dnl         error out if any component does not pass configuration checks.
+dnl
+dnl For each --enable-foo component, if that flag is not specified on
+dnl the command line, the related variable $enable_foo will be set to
+dnl $enable_all_components .
+
 AC_ARG_ENABLE(
     [all-components],
 AC_ARG_ENABLE(
     [all-components],
-    [  --enable-all-components Build all components or stop on failed dependencies]
+    [  --enable-all-components Build all configurable components (default), or stop on failed dependencies]
 )
 
 build_dirs="config"
 )
 
 build_dirs="config"
+GRC_GRUEL                       dnl must come first
 GRC_OMNITHREAD                 dnl must come before gnuradio-core and mblock
 GRC_OMNITHREAD                 dnl must come before gnuradio-core and mblock
+GRC_GCELL
 GRC_GNURADIO_CORE
 GRC_GNURADIO_CORE
+GRC_PMT
+GRC_MBLOCK                     dnl this must come after GRC_PMT
 GRC_USRP
 GRC_GR_USRP                    dnl this must come after GRC_USRP
 GRC_USRP
 GRC_GR_USRP                    dnl this must come after GRC_USRP
+GRC_GR_GCELL                   dnl this must come after GRC_GCELL and GRC_GNURADIO_CORE
+GRC_GR_MSDD6000                dnl disabled until component is fixed
 GRC_GR_AUDIO_ALSA
 GRC_GR_AUDIO_JACK
 GRC_GR_AUDIO_OSS
 GRC_GR_AUDIO_ALSA
 GRC_GR_AUDIO_JACK
 GRC_GR_AUDIO_OSS
@@ -209,31 +267,46 @@ GRC_GR_AUDIO_WINDOWS
 GRC_GR_ATSC
 GRC_GR_COMEDI
 GRC_GR_CVSD_VOCODER
 GRC_GR_ATSC
 GRC_GR_COMEDI
 GRC_GR_CVSD_VOCODER
+GRC_GR_GPIO
 GRC_GR_GSM_FR_VOCODER
 GRC_GR_PAGER
 GRC_GR_GSM_FR_VOCODER
 GRC_GR_PAGER
+GRC_GR_RADAR_MONO
 GRC_GR_RADIO_ASTRONOMY
 GRC_GR_TRELLIS
 GRC_GR_VIDEO_SDL
 GRC_GR_RADIO_ASTRONOMY
 GRC_GR_TRELLIS
 GRC_GR_VIDEO_SDL
-GRC_GR_QTGUI
 GRC_GR_WXGUI
 GRC_GR_WXGUI
-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
+GRC_GR_SOUNDER                 dnl this must come after GRC_USRP
+GRC_GR_UTILS                    dnl this must come after GRC_GR_WXGUI
 GRC_GNURADIO_EXAMPLES          dnl must come last
 
 GRC_GNURADIO_EXAMPLES          dnl must come last
 
-# Each component is now either to be built, was skipped, or failed dependencies
+# Each component is now either to be built, was skipped, will be
+# included from pre-installed libraries and includes, or failed
+# dependencies.
 AC_SUBST([build_dirs], [$build_dirs])
 AC_SUBST([skipped_dirs], [$skipped_dirs])
 AC_SUBST([build_dirs], [$build_dirs])
 AC_SUBST([skipped_dirs], [$skipped_dirs])
+AC_SUBST([with_dirs], [$with_dirs])
+
+# fix for older autotools that don't define "abs_top_YYY" by default
+AC_SUBST(abs_top_srcdir)
+AC_SUBST(abs_top_builddir)
+
+# 'with' variables - the pre-installed libraries, includes, and paths
+# - must always come last in the lists, so they require special
+# treatment.
+AC_SUBST(with_INCLUDES)
+AC_SUBST(with_SWIG_INCLUDES)
+AC_SUBST(with_PYDIRPATH)
+AC_SUBST(with_SWIGDIRPATH)
+AC_SUBST(with_LIBDIRPATH)
+
+# Local files tweaked by AC
 AC_CONFIG_FILES([\
     Makefile \
 AC_CONFIG_FILES([\
     Makefile \
-    run_tests.sh
-    config/Makefile
+    run_tests.sh \
+    config/Makefile \
 ])
 
 ])
 
-dnl run_tests.sh is created from run_tests.in.sh.  Make it executable.
+dnl run_tests.sh is created from run_tests.sh.in .  Make it executable.
 AC_CONFIG_COMMANDS([run_tests_build], [chmod +x run_tests.sh])
 
 AC_OUTPUT
 AC_CONFIG_COMMANDS([run_tests_build], [chmod +x run_tests.sh])
 
 AC_OUTPUT
@@ -262,3 +335,16 @@ if test "$skipped_dirs" != ""; then
     echo These components will not be built.
     echo
 fi
     echo These components will not be built.
     echo
 fi
+if test "$with_dirs" != ""; then
+    echo "*********************************************************************"
+    echo The following components will be included from pre-installed
+    echo libraries and includes:
+    echo
+    for dir in $with_dirs
+    do
+        echo $dir
+    done
+    echo
+    echo These components will not be built.
+    echo
+fi