summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authoreb2007-01-13 04:14:56 +0000
committereb2007-01-13 04:14:56 +0000
commitcbe1628f2eb1a1a3c8b0b96a3b1334a039074def (patch)
tree1d551091f8eac7c5381990946e6a5183191905b6 /configure.ac
parent90347f36e4087cb2136096c9f1f43c0cb629dcb0 (diff)
downloadgnuradio-cbe1628f2eb1a1a3c8b0b96a3b1334a039074def.tar.gz
gnuradio-cbe1628f2eb1a1a3c8b0b96a3b1334a039074def.tar.bz2
gnuradio-cbe1628f2eb1a1a3c8b0b96a3b1334a039074def.zip
SWIG compilation speedup! Fixes ticket:9.
Merged -r4203:4254 from eb/swig-split into trunk. This refactors gnuradio_swig_python.{cc,py} into 5 separate .so's These correspond to the runtime, general, filter and io directories, and also includes a new directory, gengen. gengen contains that part of general that was machine generated. This split is arbitrary, but was useful for getting size of the swig generated glue code for general down to about 2MB. In addition, the swig glue is now compiled with -g1 -O1 instead of -g -O2. With this change all the swig code now compiles in about 60% of the time that it used to take. git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@4255 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac27
1 files changed, 26 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 04d16205f..ceea98c04 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-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
@@ -25,9 +25,34 @@ AC_CANONICAL_TARGET([])
AM_INIT_AUTOMAKE(gnuradio,3.0svn)
AC_CONFIG_SRCDIR([gnuradio-core/src/lib/runtime/gr_vmcircbuf.cc])
+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