summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac200
1 files changed, 200 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 000000000..410567fc2
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,200 @@
+dnl Copyright 2001,2002,2003,2004,2005,2006 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 the Free Software Foundation; either version 2, or (at your option)
+dnl any later version.
+dnl
+dnl GNU Radio is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+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.
+
+AC_INIT
+AC_PREREQ(2.57)
+AM_CONFIG_HEADER(config.h)
+AC_CANONICAL_HOST
+AC_CANONICAL_TARGET([])
+AM_INIT_AUTOMAKE(gnuradio,2.8svn)
+
+GR_X86_64 dnl check for lib64 suffix
+LF_CONFIGURE_CC
+LF_CONFIGURE_CXX
+LF_SET_WARNINGS
+GR_SET_GPROF
+GR_SET_PROF
+GR_PROG_AS
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+AC_PROG_INSTALL
+
+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
+AC_PROG_LIBTOOL
+GR_FORTRAN
+
+GR_NO_UNDEFINED dnl do we need the -no-undefined linker flag
+GR_SCRIPTING
+
+dnl Checks for libraries.
+AC_CHECK_LIB(socket,socket)
+
+dnl check for threads (mandatory)
+GR_OMNITHREAD
+
+CFLAGS="${CFLAGS} $PTHREAD_CFLAGS"
+CXXFLAGS="${CXXFLAGS} $PTHREAD_CFLAGS"
+
+if test "x$CXX_FOR_BUILD" = x
+then
+ CXX_FOR_BUILD=${CXX}
+fi
+AC_SUBST(CXX_FOR_BUILD)
+
+dnl Check for SysV shm (mandatory)
+dnl FIXME this is no longer mandatory. Check the macro.
+GR_SYSV_SHM
+
+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_CHECK_HEADERS(linux/ppdev.h sys/mman.h sys/select.h sys/types.h)
+AC_CHECK_HEADERS(sys/resource.h stdint.h sched.h)
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_C_INLINE
+AC_TYPE_SIZE_T
+AC_HEADER_TIME
+AC_C_BIGENDIAN
+
+dnl Checks for library functions.
+AC_FUNC_ALLOCA
+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_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, sinf, [AC_DEFINE([HAVE_SINF],[1],[Define to 1 if your system has `sinf'.])])
+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'.])])
+AH_BOTTOM([
+#ifndef HAVE_TRUNC
+#include <math.h>
+inline static double trunc(double x)
+{
+ return x >= 0 ? floor(x) : ceil(x);
+}
+#endif
+])
+
+GR_CHECK_SHM_OPEN
+GR_LIBGNURADIO_CORE_EXTRA_LDFLAGS
+GR_CHECK_CREATEFILEMAPPING
+
+dnl Check for Mingw support
+GR_PWIN32
+
+dnl Do we have "dot", part of the graphviz package from AT&T?
+dnl Doxgen will use it to draw pretty diagrams ;-)
+AC_CHECK_PROG(HAVE_DOT, [dot],[YES],[NO])
+
+PKG_CHECK_MODULES(FFTW3F, fftw3f >= 3.0)
+AC_SUBST(FFTW3F_LIBS)
+
+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],[],
+ [AC_MSG_ERROR([GNU Radio requires cppunit. Stop])])
+
+CPPUNIT_INCLUDES=$CPPUNIT_CFLAGS
+AC_SUBST(CPPUNIT_INCLUDES)
+
+dnl Define where to find boost includes
+dnl defines BOOST_CFLAGS
+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"
+GR_GNURADIO_CORE
+GR_GNURADIO_EXAMPLES
+GR_USRP_HW
+GR_USRP dnl this must come after GR_USRP_HW
+GR_AUDIO_ALSA
+GR_AUDIO_JACK
+GR_AUDIO_OSS
+#GR_AUDIO_PORTAUDIO dnl Disabled until portaudio patch figured out
+GR_AUDIO_OSX dnl ***NOT TESTED***
+GR_AUDIO_WINDOWS dnl ***NOT TESTED***
+GR_ATSC
+GR_COMEDI
+#GR_ERROR_CORRECTING_CODES dnl Disabled until compile error fixed from CVS
+GR_GSM_FR_VOCODER
+GR_RADAR
+GR_RADIO_ASTRONOMY
+GR_PMT
+GR_VIDEO_SDL
+GR_WXGUI
+
+dnl Has list of successfully configured components
+AC_SUBST([subdirs],$subdirs)
+
+AC_CONFIG_FILES([\
+ Makefile \
+ config/Makefile
+])
+
+AC_OUTPUT
+
+echo
+echo "*******************************************************************"
+echo The following GNU Radio components have been successfully configured:
+echo
+for dir in $subdirs
+do
+ echo $dir
+done
+echo
+if test "$failed" != ""; then
+ echo However, the following components did not configure successfully due to
+ echo missing dependencies:
+ echo
+ for dir in $failed
+ do
+ echo $dir
+ done
+ echo
+ echo You may still run the 'make' command to build the successfully configured
+ echo components.
+ echo
+ exit 1
+fi
+echo You my now run the 'make' command to build these packages.
+echo