X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=configure.ac;h=526da90412cdf05cea83b0d5d79b3c1053f9a0a7;hb=7e5ff593896c6c1d832c17a7e0d0eb42f2277d9d;hp=d35f74b8973280b06e5a19db64cd7fc131f532ab;hpb=36c175fb855d11d09d5418afa83dcc7a6924efac;p=debian%2Fgnuradio diff --git a/configure.ac b/configure.ac index d35f74b8..526da904 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,10 @@ -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 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, @@ -14,24 +14,71 @@ 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) AC_CONFIG_SRCDIR([gnuradio-core/src/lib/runtime/gr_vmcircbuf.cc]) +AC_CANONICAL_BUILD +AC_CANONICAL_HOST +AC_CANONICAL_TARGET +if test x$cross_compiling != xyes; then + AC_MSG_NOTICE([Configuring GNU Radio for cross compilation]) +else + AC_MSG_NOTICE([Configuring GNU Radio for native compilation]) +fi + +AM_INIT_AUTOMAKE(gnuradio,3.1svn) + + +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 + case "$host_cpu" in + powerpc*) + # "-O1" is broken on the PPC for some reason + # (at least as of g++ 4.1.1) + swig_CXXFLAGS="-g1 -O2" + ;; + *) + swig_CXXFLAGS="-g1 -O1" + ;; + esac + 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 @@ -59,10 +106,15 @@ GR_OMNITHREAD CFLAGS="${CFLAGS} $PTHREAD_CFLAGS" CXXFLAGS="${CXXFLAGS} $PTHREAD_CFLAGS" -if test "x$CXX_FOR_BUILD" = x +if test x$CXX_FOR_BUILD = x then - CXX_FOR_BUILD=${CXX} + if test x$cross_compiling = xno; then + CXX_FOR_BUILD=${CXX} + else + CXX_FOR_BUILD=g++ + fi fi + AC_SUBST(CXX_FOR_BUILD) dnl Check for SysV shm (mandatory) @@ -74,7 +126,7 @@ 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) +AC_CHECK_HEADERS(sys/resource.h stdint.h sched.h signal.h sys/syscall.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -90,7 +142,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_CHECK_FUNCS([modf sqrt]) +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'.])]) @@ -138,8 +191,11 @@ GR_SET_MD_CPU 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])])]) CPPUNIT_INCLUDES=$CPPUNIT_CFLAGS AC_SUBST(CPPUNIT_INCLUDES) @@ -148,8 +204,8 @@ dnl Define where to find boost includes dnl defines BOOST_CFLAGS GR_REQUIRE_BOOST_INCLUDES -DEFINES="" -AC_SUBST(DEFINES) +# 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 @@ -159,8 +215,10 @@ AC_ARG_ENABLE( ) build_dirs="config" +GRC_OMNITHREAD dnl must come before gnuradio-core and mblock GRC_GNURADIO_CORE -GRC_GNURADIO_EXAMPLES +GRC_PMT +GRC_MBLOCK dnl this must come after GRC_PMT GRC_USRP GRC_GR_USRP dnl this must come after GRC_USRP GRC_GR_AUDIO_ALSA @@ -171,18 +229,18 @@ GRC_GR_AUDIO_PORTAUDIO GRC_GR_AUDIO_WINDOWS GRC_GR_ATSC GRC_GR_COMEDI -GRC_GR_ERROR_CORRECTING_CODES +GRC_GR_CVSD_VOCODER GRC_GR_GSM_FR_VOCODER -GRC_GR_RADAR +GRC_GR_PAGER +GRC_GR_RADAR_MONO GRC_GR_RADIO_ASTRONOMY GRC_GR_TRELLIS GRC_GR_VIDEO_SDL +GRC_GR_QTGUI 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 +GRC_GNURADIO_EXAMPLES dnl must come last # Each component is now either to be built, was skipped, or failed dependencies AC_SUBST([build_dirs], [$build_dirs])