1 dnl Copyright 2001,2002,2003,2004,2005,2006 Free Software Foundation, Inc.
3 dnl This file is part of GNU Radio
5 dnl GNU Radio is free software; you can redistribute it and/or modify
6 dnl it under the terms of the GNU General Public License as published by
7 dnl the Free Software Foundation; either version 2, or (at your option)
10 dnl GNU Radio is distributed in the hope that it will be useful,
11 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
12 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 dnl GNU General Public License for more details.
15 dnl You should have received a copy of the GNU General Public License
16 dnl along with GNU Radio; see the file COPYING. If not, write to
17 dnl the Free Software Foundation, Inc., 51 Franklin Street,
18 dnl Boston, MA 02110-1301, USA.
22 AM_CONFIG_HEADER(config.h)
24 AC_CANONICAL_TARGET([])
25 AM_INIT_AUTOMAKE(gnuradio,2.8svn)
26 AC_CONFIG_SRCDIR([gnuradio-core/src/lib/runtime/gr_vmcircbuf.cc])
28 GR_X86_64 dnl check for lib64 suffix
38 AC_PATH_PROG([RM_PROG], [rm])
41 dnl AC_DISABLE_SHARED dnl don't build shared libraries
42 AC_ENABLE_SHARED dnl do build shared libraries
43 AC_DISABLE_STATIC dnl don't build static libraries
47 GR_NO_UNDEFINED dnl do we need the -no-undefined linker flag
50 AC_CHECK_PROG([XMLTO],[xmlto],[yes],[])
51 AM_CONDITIONAL([HAS_XMLTO], [test x$XMLTO = xyes])
53 dnl Checks for libraries.
54 AC_CHECK_LIB(socket,socket)
56 dnl check for threads (mandatory)
58 #AC_SUBST(PTHREAD_CFLAGS)
59 CFLAGS="${CFLAGS} $PTHREAD_CFLAGS"
60 CXXFLAGS="${CXXFLAGS} $PTHREAD_CFLAGS"
62 if test "x$CXX_FOR_BUILD" = x
66 AC_SUBST(CXX_FOR_BUILD)
68 dnl Check for SysV shm (mandatory)
69 dnl FIXME this is no longer mandatory. Check the macro.
72 dnl Checks for header files.
75 AC_CHECK_HEADERS(fcntl.h limits.h strings.h time.h sys/ioctl.h sys/time.h unistd.h)
76 AC_CHECK_HEADERS(linux/ppdev.h sys/mman.h sys/select.h sys/types.h)
77 AC_CHECK_HEADERS(sys/resource.h stdint.h sched.h)
79 dnl Checks for typedefs, structures, and compiler characteristics.
87 dnl Checks for library functions.
89 AC_FUNC_SETVBUF_REVERSED
91 AC_CHECK_FUNCS([mmap select socket strcspn strerror strspn getpagesize sysconf])
92 AC_CHECK_FUNCS([snprintf gettimeofday nanosleep sched_setscheduler])
93 AC_CHECK_FUNCS([modf sqrt])
95 AC_CHECK_LIB(m, sincos, [AC_DEFINE([HAVE_SINCOS],[1],[Define to 1 if your system has `sincos'.])])
96 AC_CHECK_LIB(m, sincosf,[AC_DEFINE([HAVE_SINCOSF],[1],[Define to 1 if your system has `sincosf'.])])
97 AC_CHECK_LIB(m, sinf, [AC_DEFINE([HAVE_SINF],[1],[Define to 1 if your system has `sinf'.])])
98 AC_CHECK_LIB(m, cosf, [AC_DEFINE([HAVE_COSF],[1],[Define to 1 if your system has `cosf'.])])
99 AC_CHECK_LIB(m, trunc, [AC_DEFINE([HAVE_TRUNC],[1],[Define to 1 if your system has `trunc'.])])
100 AC_CHECK_LIB(m, exp10, [AC_DEFINE([HAVE_EXP10],[1],[Define to 1 if your system has 'exp10'.])])
106 inline static double trunc(double x)
108 return x >= 0 ? floor(x) : ceil(x);
114 inline static double exp10(double x)
122 GR_LIBGNURADIO_CORE_EXTRA_LDFLAGS
123 GR_CHECK_CREATEFILEMAPPING
125 dnl Check for Mingw support
128 dnl Do we have "dot", part of the graphviz package from AT&T?
129 dnl Doxgen will use it to draw pretty diagrams ;-)
130 AC_CHECK_PROG(HAVE_DOT, [dot],[YES],[NO])
132 PKG_CHECK_MODULES(FFTW3F, fftw3f >= 3.0)
133 AC_SUBST(FFTW3F_LIBS)
135 dnl conditional build stuff
139 dnl Define where to look for cppunit includes and libs
140 dnl sets CPPUNIT_CFLAGS and CPPUNIT_LIBS
141 AM_PATH_CPPUNIT([1.9.14],[],
142 [AC_MSG_ERROR([GNU Radio requires cppunit. Stop])])
144 CPPUNIT_INCLUDES=$CPPUNIT_CFLAGS
145 AC_SUBST(CPPUNIT_INCLUDES)
147 dnl Define where to find boost includes
148 dnl defines BOOST_CFLAGS
149 GR_REQUIRE_BOOST_INCLUDES
154 dnl Component specific configuration
155 dnl The order of the GR_ macros determines the order of compilation
158 [ --enable-all-components Build all components or stop on failed dependencies]
163 GRC_GNURADIO_EXAMPLES
165 GRC_GR_USRP dnl this must come after GRC_USRP
170 GRC_GR_AUDIO_PORTAUDIO
174 GRC_GR_ERROR_CORRECTING_CODES
175 GRC_GR_GSM_FR_VOCODER
177 GRC_GR_RADIO_ASTRONOMY
182 GRC_MBLOCK dnl this must come after GRC_PMT
184 GRC_GR_EZDOP dnl this must come after GRC_EZDOP
188 # Each component is now either to be built, was skipped, or failed dependencies
189 AC_SUBST([build_dirs], [$build_dirs])
190 AC_SUBST([skipped_dirs], [$skipped_dirs])
198 dnl run_tests.sh is created from run_tests.in.sh. Make it executable.
199 AC_CONFIG_COMMANDS([run_tests_build], [chmod +x run_tests.sh])
204 echo "*********************************************************************"
205 echo The following GNU Radio components have been successfully configured:
207 for dir in $build_dirs
212 echo You my now run the 'make' command to build these components.
214 if test "$skipped_dirs" != ""; then
215 echo "*********************************************************************"
216 echo The following components were skipped either because you asked not
217 echo to build them or they didn\'t pass configuration checks:
219 for dir in $skipped_dirs
224 echo These components will not be built.