-dnl Copyright 2001,2002,2003,2004,2005,2006 Free Software Foundation, Inc.
+dnl Copyright 2001,2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
dnl
dnl This file is part of GNU Radio
dnl
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])
+
+DEFINES=""
+AC_SUBST(DEFINES)
+
+dnl Remember if the user explicity set CXXFLAGS
+if test -n "${CXXFLAGS}"; then
+ user_set_cxxflags=yes
+fi
GR_X86_64 dnl check for lib64 suffix
LF_CONFIGURE_CC
LF_CONFIGURE_CXX
+
+dnl The three macros above are known to override CXXFLAGS if the user
+dnl didn't specify them. Though I'm sure somebody thought this was
+dnl a good idea, it makes it hard to use other than -g -O2 when compiling
+dnl selected files. Thus we "undo" the damage here...
+dnl
+dnl If the user specified CXXFLAGS, we use them. Otherwise when compiling
+dnl the output of swig use use -O1 if we're using g++.
+dnl See Makefile.common for the rest of the magic.
+if test "$user_set_cxxflags" != yes; then
+ autoconf_default_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS=""
+ if test "$GXX" = yes; then
+ swig_CXXFLAGS="-g1 -O1"
+ fi
+fi
+AC_SUBST(autoconf_default_CXXFLAGS)
+AC_SUBST(swig_CXXFLAGS)
+
+
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
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)
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)
+AC_CHECK_HEADERS(sys/resource.h stdint.h sched.h signal.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
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_FUNCS([modf sqrt sigaction sigprocmask])
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'.])])
dnl defines BOOST_CFLAGS
GR_REQUIRE_BOOST_INCLUDES
-DEFINES=""
-AC_SUBST(DEFINES)
-
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_OMNITHREAD dnl must come before gnuradio-core and mblock
GRC_GNURADIO_CORE
-GRC_GNURADIO_EXAMPLES
GRC_USRP
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 dnl disabled until fix for ticket:25
GRC_GR_GSM_FR_VOCODER
-GRC_GR_RADAR
+GRC_GR_PAGER
GRC_GR_RADIO_ASTRONOMY
+GRC_GR_TRELLIS
GRC_GR_VIDEO_SDL
+GRC_GR_QTGUI
GRC_GR_WXGUI
GRC_PMT
-GRC_GR_TRELLIS
-GRC_EZDOP
+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_GNURADIO_EXAMPLES dnl must come last
-dnl Has list of successfully configured components
-AC_SUBST([subdirs],$subdirs)
-AC_SUBST([failed_subdirs], $failed)
+# 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