commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r6848 - in gnuradio/branches/developers/eb/trial-merge


From: eb
Subject: [Commit-gnuradio] r6848 - in gnuradio/branches/developers/eb/trial-merge: . config dtools/bin gr-atsc/src/lib usrp/host/lib/inband
Date: Fri, 9 Nov 2007 16:53:04 -0700 (MST)

Author: eb
Date: 2007-11-09 16:53:03 -0700 (Fri, 09 Nov 2007)
New Revision: 6848

Added:
   gnuradio/branches/developers/eb/trial-merge/configure-cell-cross
   
gnuradio/branches/developers/eb/trial-merge/dtools/bin/tweak-cell-for-cross-compiling
Modified:
   gnuradio/branches/developers/eb/trial-merge/config/gr_doxygen.m4
   gnuradio/branches/developers/eb/trial-merge/config/gr_fortran.m4
   gnuradio/branches/developers/eb/trial-merge/config/gr_python.m4
   gnuradio/branches/developers/eb/trial-merge/config/grc_build.m4
   gnuradio/branches/developers/eb/trial-merge/config/grc_gr_audio_oss.m4
   gnuradio/branches/developers/eb/trial-merge/config/lf_cxx.m4
   gnuradio/branches/developers/eb/trial-merge/config/pkg.m4
   gnuradio/branches/developers/eb/trial-merge/config/sdl.m4
   gnuradio/branches/developers/eb/trial-merge/configure.ac
   gnuradio/branches/developers/eb/trial-merge/gr-atsc/src/lib/Makefile.am
   gnuradio/branches/developers/eb/trial-merge/usrp/host/lib/inband/Makefile.am
Log:
merged eb/cross r6690:6847 into eb/trial-merge

Modified: gnuradio/branches/developers/eb/trial-merge/config/gr_doxygen.m4
===================================================================
--- gnuradio/branches/developers/eb/trial-merge/config/gr_doxygen.m4    
2007-11-09 23:36:22 UTC (rev 6847)
+++ gnuradio/branches/developers/eb/trial-merge/config/gr_doxygen.m4    
2007-11-09 23:53:03 UTC (rev 6848)
@@ -20,10 +20,17 @@
 dnl 
 
 AC_DEFUN([GR_CHECK_DOXYGEN],[
-  AC_ARG_ENABLE(doxygen, [  --enable-doxygen        enable documentation 
generation with doxygen (no)])
-  AC_ARG_ENABLE(dot, [  --enable-dot            use 'dot' to generate graphs 
in doxygen (auto)])
-  AC_ARG_ENABLE(html-docs, [  --enable-html-docs      enable HTML generation 
with doxygen (yes)], [], [ enable_html_docs=yes])
-  AC_ARG_ENABLE(latex-docs, [  --enable-latex-docs     enable LaTeX doc 
generation with doxygen (no)], [], [ enable_latex_docs=no])
+  AC_ARG_ENABLE(doxygen,
+               AC_HELP_STRING([--enable-doxygen],
+                              [enable documentation generation with doxygen 
(no)]))
+  AC_ARG_ENABLE(dot, AC_HELP_STRING([--enable-dot],[use 'dot' to generate 
graphs in doxygen (auto)]))
+  AC_ARG_ENABLE(html-docs,
+                AC_HELP_STRING([--enable-html-docs],[enable HTML generation 
with doxygen (yes)]),
+                [], [ enable_html_docs=yes])
+  AC_ARG_ENABLE(latex-docs,
+                AC_HELP_STRING([--enable-latex-docs],
+                              [enable LaTeX doc generation with doxygen (no)]),
+                [], [ enable_latex_docs=no])
 
   if test "x$enable_doxygen" = xyes; then
         AC_PATH_PROG(DOXYGEN, doxygen, , $PATH)

Modified: gnuradio/branches/developers/eb/trial-merge/config/gr_fortran.m4
===================================================================
--- gnuradio/branches/developers/eb/trial-merge/config/gr_fortran.m4    
2007-11-09 23:36:22 UTC (rev 6847)
+++ gnuradio/branches/developers/eb/trial-merge/config/gr_fortran.m4    
2007-11-09 23:53:03 UTC (rev 6848)
@@ -20,7 +20,8 @@
 AC_DEFUN([GR_FORTRAN],[
     dnl if you want to generate a different table of interpolator taps, you 
need fortran.
     dnl we default to off, since almost no one wants to do this.
-    AC_ARG_ENABLE(fortran, [  --enable-fortran        enable fortran (no)], 
[], [enable_fortran=no])
+    AC_ARG_ENABLE(fortran, AC_HELP_STRING([--enable-fortran],[enable fortran 
(no)]),
+                 [], [enable_fortran=no])
     AM_CONDITIONAL(ENABLE_FORTRAN, test "x$enable_fortran" = xyes)
 
     if test "x$enable_fortran" = xyes

Modified: gnuradio/branches/developers/eb/trial-merge/config/gr_python.m4
===================================================================
--- gnuradio/branches/developers/eb/trial-merge/config/gr_python.m4     
2007-11-09 23:36:22 UTC (rev 6847)
+++ gnuradio/branches/developers/eb/trial-merge/config/gr_python.m4     
2007-11-09 23:53:03 UTC (rev 6848)
@@ -22,27 +22,43 @@
 # PYTHON_DEVEL()
 #
 # Checks for Python and tries to get the include path to 'Python.h'.
-# It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LDFLAGS) output variables.
+# It sets the $(PYTHON_CPPFLAGS), $(PYTHON_LDFLAGS) and $(pythondir) output 
variables,
 #
 AC_DEFUN([PYTHON_DEVEL],[
        AC_REQUIRE([AM_PATH_PYTHON])
        AC_REQUIRE([AC_CANONICAL_HOST])
 
-       # For Fedora Core 5 and 6, see ticket:39 in Trac
-       if test -f '/etc/redhat-release'; then
-               if  (echo $pyexecdir | grep -q lib64); then
-                       pythondir="$pyexecdir"
-               fi
-       fi
+       AC_ARG_WITH(pythondir,
+                    AC_HELP_STRING([--with-pythondir=DIR], 
+                       [python installation directory (cross-compiling) 
[[default=$prefix/lib/python2.5/site-packages]]]),
+                   
[with_pythondir=${withval}],[with_pythondir=${prefix}/lib/python2.5/site-packages])
 
-       # Check for Python include path
-       AC_MSG_CHECKING([for Python include path])
-       if test -z "$PYTHON" ; then
-               AC_MSG_ERROR([cannot find Python path])
-       fi
+       # if we're cross-compiling, asking the host python about any of
+       # this is completely useless...
 
-       # ask distutils which include path we should use
-       python_cmd='
+       if test x$cross_compiling != xno
+       then
+               pythondir=$with_pythondir
+               pyexecdir=$with_pythondir
+               AC_SUBST(PYTHON_CPPFLAGS)
+               AC_SUBST(PYTHON_LDFLAGS)
+        else
+
+           # For Fedora Core 5 and 6, see ticket:39 in Trac
+           if test -f '/etc/redhat-release'; then
+                   if  (echo $pyexecdir | grep -q lib64); then
+                           pythondir="$pyexecdir"
+                   fi
+           fi
+
+           # Check for Python include path
+           AC_MSG_CHECKING([for Python include path])
+           if test -z "$PYTHON" ; then
+                   AC_MSG_ERROR([cannot find Python path])
+           fi
+
+           # ask distutils which include path we should use
+           python_cmd='
 import distutils.sysconfig
 import os
 path = distutils.sysconfig.get_python_inc(plat_specific=False)
@@ -50,30 +66,30 @@
   path = path.replace("\\", "/")
 print path
 '
-       python_path=`$PYTHON -c "$python_cmd"`
-       AC_MSG_RESULT([$python_path])
-       if test -z "$python_path" ; then
-               AC_MSG_ERROR([cannot find Python include path])
-       fi
+           python_path=`$PYTHON -c "$python_cmd"`
+           AC_MSG_RESULT([$python_path])
+           if test -z "$python_path" ; then
+                   AC_MSG_ERROR([cannot find Python include path])
+           fi
 
-       AC_SUBST(PYTHON_CPPFLAGS,[-I$python_path])
+           AC_SUBST(PYTHON_CPPFLAGS,[-I$python_path])
 
-       # Check for Python headers usability
-       python_save_CPPFLAGS=$CPPFLAGS
-       CPPFLAGS="$CPPFLAGS $PYTHON_CPPFLAGS"
-       AC_CHECK_HEADERS([Python.h], [],
-                       [AC_MSG_ERROR([cannot find usable Python headers])])
-       CPPFLAGS="$python_save_CPPFLAGS"
+           # Check for Python headers usability
+           python_save_CPPFLAGS=$CPPFLAGS
+           CPPFLAGS="$CPPFLAGS $PYTHON_CPPFLAGS"
+           AC_CHECK_HEADERS([Python.h], [],
+                           [AC_MSG_ERROR([cannot find usable Python headers])])
+           CPPFLAGS="$python_save_CPPFLAGS"
 
-       # Only set this on mingw and cygwin hosts, (only implemented
-       # for mingw host, for crosscompiling you need to trick this)
+           # Only set this on mingw and cygwin hosts, (only implemented
+           # for mingw host, for crosscompiling you need to trick this)
 
-       PYTHON_LDFLAGS=""
-       case $host_os in
-            *mingw* | *cygwin* )
-         AC_MSG_CHECKING([for Python LDFLAGS])
+           PYTHON_LDFLAGS=""
+           case $host_os in
+                *mingw* | *cygwin* )
+             AC_MSG_CHECKING([for Python LDFLAGS])
 
-        python_cmd='
+           python_cmd='
 import distutils.sysconfig
 import os
 path = distutils.sysconfig.get_config_var("LIBPL")
@@ -82,30 +98,32 @@
 if os.sep == "\\":
   path = path.replace("\\", "/")
 print path
-'      
-         python_stdlib_path=`$PYTHON -c "$python_cmd"`
+'
+             python_stdlib_path=`$PYTHON -c "$python_cmd"`
 
-         python_version_nodot=`echo $PYTHON_VERSION | sed "s,\.,,"`
-         libpython_name="python$PYTHON_VERSION"
+             python_version_nodot=`echo $PYTHON_VERSION | sed "s,\.,,"`
+             libpython_name="python$PYTHON_VERSION"
 
-         # Standard install of python for win32 has libpython24.a
-         # instead of libpython2.4.a so we check for the library
-         # without the dot in the version number.
+             # Standard install of python for win32 has libpython24.a
+             # instead of libpython2.4.a so we check for the library
+             # without the dot in the version number.
 
-         python_stdlib_filename=`find $python_stdlib_path -type f -name 
libpython$python_version_nodot.* -print | sed "1q"`
-         if test -n "$python_stdlib_filename" ; then
-               libpython_name="python$python_version_nodot"
-         fi
+             python_stdlib_filename=`find $python_stdlib_path -type f -name 
libpython$python_version_nodot.* -print | sed "1q"`
+             if test -n "$python_stdlib_filename" ; then
+                   libpython_name="python$python_version_nodot"
+             fi
 
-          PYTHON_LDFLAGS="-L$python_stdlib_path -l$libpython_name"
-          AC_MSG_RESULT($PYTHON_LDFLAGS) 
-          # Replace all backslashes in PYTHON Paths with forward slashes
-          pythondir=`echo $pythondir |sed 's,\\\\,/,g'`
-          pkgpythondir=`echo $pkgpythondir |sed 's,\\\\,/,g'`
-          pyexecdir=`echo $pyexecdir |sed 's,\\\\,/,g'`
-          pkgpyexecdir=`echo $pkgpyexecdir |sed 's,\\\\,/,g'`
-         ;;
-        esac
+             PYTHON_LDFLAGS="-L$python_stdlib_path -l$libpython_name"
+             AC_MSG_RESULT($PYTHON_LDFLAGS) 
+             # Replace all backslashes in PYTHON Paths with forward slashes
+             pythondir=`echo $pythondir |sed 's,\\\\,/,g'`
+             pkgpythondir=`echo $pkgpythondir |sed 's,\\\\,/,g'`
+             pyexecdir=`echo $pyexecdir |sed 's,\\\\,/,g'`
+             pkgpyexecdir=`echo $pkgpyexecdir |sed 's,\\\\,/,g'`
+             ;;
+           esac
 
-       AC_SUBST([PYTHON_LDFLAGS])
+           AC_SUBST([PYTHON_LDFLAGS])
+
+       fi
 ])

Modified: gnuradio/branches/developers/eb/trial-merge/config/grc_build.m4
===================================================================
--- gnuradio/branches/developers/eb/trial-merge/config/grc_build.m4     
2007-11-09 23:36:22 UTC (rev 6847)
+++ gnuradio/branches/developers/eb/trial-merge/config/grc_build.m4     
2007-11-09 23:53:03 UTC (rev 6848)
@@ -20,7 +20,10 @@
 # Create --enable-foo argument for named component, create variables as needed
 # $1 is component name
 AC_DEFUN([GRC_ENABLE],[
-    AC_ARG_ENABLE([$1],[  --enable-$1  Fail build if $1 fails 
configuration],[],
+    AC_ARG_ENABLE([$1],
+                 AC_HELP_STRING([--enable-$1],
+                                [Fail build if $1 fails configuration]),
+                 [],
                   [[enable_]m4_bpatsubst($1,-,_)=$enable_all_components])
 ])
 

Modified: gnuradio/branches/developers/eb/trial-merge/config/grc_gr_audio_oss.m4
===================================================================
--- gnuradio/branches/developers/eb/trial-merge/config/grc_gr_audio_oss.m4      
2007-11-09 23:36:22 UTC (rev 6847)
+++ gnuradio/branches/developers/eb/trial-merge/config/grc_gr_audio_oss.m4      
2007-11-09 23:53:03 UTC (rev 6848)
@@ -27,7 +27,7 @@
     ])
 
     passed=yes
-    case $target in
+    case $host in
        *-*-netbsd*)
            AC_HAVE_LIBRARY(ossaudio,[],
                [passed=no;AC_MSG_RESULT([gr-audio-oss requires library 
ossaudio, not found.])])

Modified: gnuradio/branches/developers/eb/trial-merge/config/lf_cxx.m4
===================================================================
--- gnuradio/branches/developers/eb/trial-merge/config/lf_cxx.m4        
2007-11-09 23:36:22 UTC (rev 6847)
+++ gnuradio/branches/developers/eb/trial-merge/config/lf_cxx.m4        
2007-11-09 23:53:03 UTC (rev 6848)
@@ -37,11 +37,6 @@
 
 # -----------------------------------------------------------------------
 # This macro tests the C++ compiler for various portability problem.
-# 1. Defines CXX_HAS_NO_BOOL if the compiler does not support the bool
-#    data type
-# 2. Defines CXX_HAS_BUGGY_FOR_LOOPS if the compiler has buggy
-#    scoping for the for-loop
-# 3. Defines USE_ASSERT if the user wants to use assertions
 # -----------------------------------------------------------------------
 
 
@@ -56,33 +51,7 @@
   AC_LANG_SAVE
   AC_LANG_CPLUSPLUS
 
-  dnl Check whether we have bool
-  AC_MSG_CHECKING(whether C++ has bool)
-  AC_TRY_RUN([main() { bool b1=true; bool b2=false; }],
-             [ AC_MSG_RESULT(yes) ],
-             [ AC_MSG_RESULT(no)
-               AC_DEFINE(CXX_HAS_NO_BOOL,[],[Define if C++ is missing bool 
type]) ],
-             [ AC_MSG_WARN(Don't cross-compile)]
-            )
 
-  dnl Test whether C++ has buggy for-loops
-  AC_MSG_CHECKING(whether C++ has buggy scoping in for-loops)
-  AC_TRY_COMPILE([#include <iostream.h>], [
-   for (int i=0;i<10;i++) { }
-   for (int i=0;i<10;i++) { }
-], [ AC_MSG_RESULT(no) ],
-   [ AC_MSG_RESULT(yes)
-     AC_DEFINE(CXX_HAS_BUGGY_FOR_LOOPS,[],[Define if for loop scoping is 
broken]) ])
-
-  dnl Test whether the user wants to enable assertions
-  AC_MSG_CHECKING(whether user wants assertions)
-  AC_ARG_ENABLE(assert,
-                [  --disable-assert        don't use cpp.h assert],
-                [ AC_DEFINE(NDEBUG,[],[Define to disable asserts (don't 
doit!)])
-                  AC_MSG_RESULT(no)  ],
-                [ AC_MSG_RESULT(yes) ],
-               )
-
   dnl Test whether C++ has std::isnan
   AC_MSG_CHECKING(whether C++ has std::isnan)
   AC_TRY_COMPILE([#include <cmath>], [
@@ -96,26 +65,3 @@
   AC_LANG_RESTORE
 ])
 
-AH_BOTTOM([// Workaround for compilers with buggy for-loop scoping
-// That's quite a few compilers actually including recent versions of
-// Dec Alpha cxx, HP-UX CC and SGI CC.
-// The trivial "if" statement provides the correct scoping to the 
-// for loop
-
-#ifdef CXX_HAS_BUGGY_FOR_LOOPS
-#undef for
-#define for if(1) for
-#endif
-])
-
-AH_BOTTOM([// If the C++ compiler we use doesn't have bool, then
-// the following is a near-perfect work-around. 
-// You must make sure your code does not depend on "int" and "bool"
-// being two different types, in overloading for instance.
-
-#ifdef CXX_HAS_NO_BOOL
-#define bool int
-#define true 1
-#define false 0
-#endif
-])

Modified: gnuradio/branches/developers/eb/trial-merge/config/pkg.m4
===================================================================
--- gnuradio/branches/developers/eb/trial-merge/config/pkg.m4   2007-11-09 
23:36:22 UTC (rev 6847)
+++ gnuradio/branches/developers/eb/trial-merge/config/pkg.m4   2007-11-09 
23:53:03 UTC (rev 6848)
@@ -1,68 +1,166 @@
-dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, 
action-not)
-dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
-dnl also defines GSTUFF_PKG_ERRORS on error
-AC_DEFUN([PKG_CHECK_MODULES], [
-  succeeded=no
+# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
+# 
+# Copyright © 2004 Scott James Remnant <address@hidden>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
 
-  if test -z "$PKG_CONFIG"; then
-    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-  fi
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+       AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+       _pkg_min_version=m4_default([$1], [0.18])
+       AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+       if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+               AC_MSG_RESULT([yes])
+       else
+               AC_MSG_RESULT([no])
+               PKG_CONFIG=""
+       fi
+               
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
 
-  if test "$PKG_CONFIG" = "no" ; then
-     echo "*** The pkg-config script could not be found. Make sure it is"
-     echo "*** in your path, or set the PKG_CONFIG environment variable"
-     echo "*** to the full path to pkg-config."
-     echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get 
pkg-config."
-  else
-     dnl If PKG_CONFIG_PATH is not already set, add /usr/local/lib/pkgconfig.
-     dnl If it's set, assume the user knows what they're doing.
-     dnl This should help avoid failures while looking for fftw3f
-     if test -z "$PKG_CONFIG_PATH"; then
-       export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
-     fi
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists.  Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+#
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
+# this or PKG_CHECK_MODULES is called, or make sure to call
+# PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+  m4_ifval([$2], [$2], [:])
+m4_ifvaln([$3], [else
+  $3])dnl
+fi])
 
-     PKG_CONFIG_MIN_VERSION=0.9.0
-     if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
-        AC_MSG_CHECKING(for $2)
 
-        if $PKG_CONFIG --exists "$2" ; then
-            AC_MSG_RESULT(yes)
-            succeeded=yes
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$PKG_CONFIG"; then
+    if test -n "$$1"; then
+        pkg_cv_[]$1="$$1"
+    else
+        PKG_CHECK_EXISTS([$3],
+                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+                        [pkg_failed=yes])
+    fi
+else
+       pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
 
-            AC_MSG_CHECKING($1_CFLAGS)
-            $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
-            AC_MSG_RESULT($$1_CFLAGS)
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
 
-            AC_MSG_CHECKING($1_LIBS)
-            $1_LIBS=`$PKG_CONFIG --libs "$2"`
-            AC_MSG_RESULT($$1_LIBS)
 
-            AC_MSG_CHECKING($1_INCLUDEDIR)
-            $1_INCLUDEDIR=`$PKG_CONFIG --variable=includedir "$2"`
-            AC_MSG_RESULT($$1_INCLUDEDIR)
-        else
-            $1_CFLAGS=""
-            $1_LIBS=""
-            ## If we have a custom action on failure, don't print errors, but 
-            ## do set a variable so people can do so.
-            $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
-            ifelse([$4], ,echo $$1_PKG_ERRORS,)
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+# E.g.,
+#   PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, 
action-not)
+#   defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
+#   also defines GSTUFF_PKG_ERRORS on error
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+
+if test x$cross_compiling = xyes
+then
+  _PKG_CONFIG([$1][_LIBS], [libs-only-l --static], [$2])
+else
+  _PKG_CONFIG([$1][_LIBS], [libs --static], [$2])
+fi
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables 
$1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+        _PKG_SHORT_ERRORS_SUPPORTED
+        if test $_pkg_short_errors_supported = yes; then
+               $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout 
--print-errors "$2"`
+        else 
+               $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors 
"$2"`
         fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
 
-        AC_SUBST($1_CFLAGS)
-        AC_SUBST($1_LIBS)
-        AC_SUBST($1_INCLUDEDIR)
-     else
-        echo "*** Your version of pkg-config is too old. You need version 
$PKG_CONFIG_MIN_VERSION or newer."
-        echo "*** See http://www.freedesktop.org/software/pkgconfig";
-     fi
-  fi
+       ifelse([$4], , [AC_MSG_ERROR(dnl
+[Package requirements ($2) were not met:
 
-  if test $succeeded = yes; then
-     ifelse([$3], , :, [$3])
-  else
-     ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider 
adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a 
nonstandard prefix so pkg-config can find them.]), [$4])
-  fi
-])
+$$1_PKG_ERRORS
 
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
 
+_PKG_TEXT
+])],
+               [AC_MSG_RESULT([no])
+                $4])
+elif test $pkg_failed = untried; then
+       ifelse([$4], , [AC_MSG_FAILURE(dnl
+[The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
+               [$4])
+else
+       $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+       $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        AC_MSG_RESULT([yes])
+       ifelse([$3], , :, [$3])
+fi[]dnl
+])# PKG_CHECK_MODULES

Modified: gnuradio/branches/developers/eb/trial-merge/config/sdl.m4
===================================================================
--- gnuradio/branches/developers/eb/trial-merge/config/sdl.m4   2007-11-09 
23:36:22 UTC (rev 6847)
+++ gnuradio/branches/developers/eb/trial-merge/config/sdl.m4   2007-11-09 
23:53:03 UTC (rev 6848)
@@ -16,8 +16,9 @@
             sdl_prefix="$withval", sdl_prefix="")
 AC_ARG_WITH(sdl-exec-prefix,[  --with-sdl-exec-prefix=PFX Exec prefix where 
SDL is installed (optional)],
             sdl_exec_prefix="$withval", sdl_exec_prefix="")
-AC_ARG_ENABLE(sdltest, [  --disable-sdltest       Do not try to compile and 
run a test SDL program],
-                   , enable_sdltest=yes)
+AC_ARG_ENABLE(sdltest, AC_HELP_STRING([--disable-sdltest],
+                                      [Do not try to compile and run a test 
SDL program]),
+              [], enable_sdltest=yes)
 
   if test x$sdl_exec_prefix != x ; then
      sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix"

Copied: gnuradio/branches/developers/eb/trial-merge/configure-cell-cross (from 
rev 6847, gnuradio/branches/developers/eb/cross/configure-cell-cross)
===================================================================
--- gnuradio/branches/developers/eb/trial-merge/configure-cell-cross            
                (rev 0)
+++ gnuradio/branches/developers/eb/trial-merge/configure-cell-cross    
2007-11-09 23:53:03 UTC (rev 6848)
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+scriptdir=`dirname $0`
+
+prefix=
+for arg in "$@"
+do
+  case $arg in
+    --prefix=*)
+      prefix=${arg#--prefix=}
+      ;;
+  esac
+done
+
+if test x$prefix = x
+then
+  echo "usage: $0 --prefix=PREFIX [configure options...]" 1>&2
+  exit 1
+fi
+
+
+arch=ppu
+cell_root=/mnt/cell-root
+python_version=2.5
+# compiler_includes="-I${cell_root}/usr/include 
-I${cell_root}/usr/local/include -I${cell_root}/usr/lib/gcc/ppu/4.1.1/include 
-I${cell_root}/usr/lib/gcc/ppu/4.1.1/include/c++"
+compiler_includes="-I${cell_root}/usr/include"
+
+$scriptdir/configure                       \
+    CC=${arch}32-gcc                        \
+    CXX=${arch}32-g++                       \
+    AR=${arch}-ar                           \
+    NM=${arch}-nm                           \
+    RANLIB=${arch}-ranlib                   \
+    STRIP=${arch}-strip                     \
+    F77=false                               \
+    CPPFLAGS="$compiler_includes"                                              
        \
+    LDFLAGS="-L${cell_root}/lib -L${cell_root}/usr/lib"                        
         \
+    PYTHON_CPPFLAGS=-I${cell_root}/usr/include/python${python_version}         
         \
+    
PKG_CONFIG_PATH=${cell_root}/usr/lib/pkgconfig:${cell_root}/usr/local/lib/pkgconfig
 \
+    --host=powerpc64-unknown-linux-gnu     \
+    --prefix=$prefix                       \
+    --with-pythondir=$prefix/lib/python${python_version}/site-packages
+
+
+# Hack the libtool script so that it doesn't code an --rpath flag into anything
+
+#sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' 
libtool
+#sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool

Modified: gnuradio/branches/developers/eb/trial-merge/configure.ac
===================================================================
--- gnuradio/branches/developers/eb/trial-merge/configure.ac    2007-11-09 
23:36:22 UTC (rev 6847)
+++ gnuradio/branches/developers/eb/trial-merge/configure.ac    2007-11-09 
23:53:03 UTC (rev 6848)
@@ -20,14 +20,24 @@
 AC_INIT
 AC_PREREQ(2.57)
 AM_CONFIG_HEADER(config.h)
+AC_CONFIG_SRCDIR([gnuradio-core/src/lib/runtime/gr_vmcircbuf.cc])
+
+AC_CANONICAL_BUILD
 AC_CANONICAL_HOST
-AC_CANONICAL_TARGET([])
+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)
-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
@@ -96,10 +106,15 @@
 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)
@@ -176,8 +191,11 @@
 
 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)

Copied: 
gnuradio/branches/developers/eb/trial-merge/dtools/bin/tweak-cell-for-cross-compiling
 (from rev 6847, 
gnuradio/branches/developers/eb/cross/dtools/bin/tweak-cell-for-cross-compiling)
===================================================================
--- 
gnuradio/branches/developers/eb/trial-merge/dtools/bin/tweak-cell-for-cross-compiling
                               (rev 0)
+++ 
gnuradio/branches/developers/eb/trial-merge/dtools/bin/tweak-cell-for-cross-compiling
       2007-11-09 23:53:03 UTC (rev 6848)
@@ -0,0 +1,143 @@
+#!/usr/bin/env python
+
+"""
+This should only be run on a native Cell machine.  E.g., ps3, qs21, etc.
+
+It makes a few modifications to the file system and some pseudo shared libs
+so that cross compiling from a build machine over NFS works.  The changes
+do not harm local compilation.
+
+We create a symlink from /mnt/cell-root that points to /
+This allows the local and build machine to access the root filesystem
+using a common name, /mnt/cell-root.  This is required because
+configure hardcodes absolute paths into the generated Makefiles.
+
+There are some .so files that aren't really shared libraries, but rather are
+ascii linker scripts containing instructions to the linker.  Most of them
+contain a GROUP directive that includes hard-coded paths relative to /.
+We modify those files such that the hard-coded paths are relative to 
/mnt/cell-root
+instead of /.  This allows them to work locally and while cross compiling over 
NFS.
+
+E.g., /usr/lib/libc.so originally contains:
+
+    /* GNU ld script
+       Use the shared library, but some functions are only in
+       the static library, so try that secondarily.  */
+    OUTPUT_FORMAT(elf32-powerpc)
+    GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED ( /lib/ld.so.1 
) )
+
+We modify it such that it reads:
+
+    /* GNU ld script
+       Use the shared library, but some functions are only in
+       the static library, so try that secondarily.  */
+    OUTPUT_FORMAT(elf32-powerpc)
+    GROUP ( /mnt/cell-root/lib/libc.so.6 
/mnt/cell-root/usr/lib/libc_nonshared.a  AS_NEEDED ( /mnt/cell-root/lib/ld.so.1 
) )
+
+We backup <foo>.so to <foo>.so.original
+
+"""
+
+import os
+import os.path
+import sys
+import shutil
+import re
+
+cell_root_path = '/mnt/cell-root'
+
+def ensure_cell():
+    s = open('/proc/cpuinfo','r').read()
+    if s.find('Cell Broadband Engine') == -1:
+        sys.stderr.write('This program should only be run on Cell machines.\n')
+        raise SystemExit, 1
+
+def make_symlinks():
+    create_symlink_if_reqd(cell_root_path, "..")
+    create_symlink_if_reqd("/opt/cell/toolchain", "../../usr")
+    create_symlink_if_reqd("/opt/cell/sysroot", "../..")
+
+def symlink_exists_and_is_ok(path, contents):
+    return (os.path.islink(path) and os.readlink(path) == contents)
+
+def create_symlink_if_reqd(path, contents):
+    if symlink_exists_and_is_ok(path, contents):
+        return
+
+    if os.path.islink(path):
+        # Is a symlink but points wrong place
+        os.remove(path)
+        os.symlink(contents, path)
+        return
+
+    if os.path.isdir(path):
+        # if it's empty we'll remove it and create the link
+        try:
+            os.rmdir(path)
+        except:
+            # directory wasn't empty
+            sys.stderr.write("There's already something at %s.\n" % (path,))
+            sys.stderr.write("Please remove it or move it out of the way and 
try again.\n")
+            raise SystemExit, 1
+        os.symlink(contents, path)
+        return
+        
+    if os.path.exists(path):
+        # There's something here, return an error
+        sys.stderr.write("There's already something at %s.\n" % (path,))
+        sys.stderr.write("Please remove it or move it out of the way and try 
again.\n")
+        raise SystemExit, 1
+
+    # nothing there; go ahead and create the symlink
+    os.symlink(contents, path)
+
+
+def find_ascii_shared_libs():
+    cmd = "find /lib /lib64 /usr/lib /usr/lib64 -name '*.so' -type f -print 
2>/dev/null | xargs file | grep -v ELF | cut -d: -f 1"
+    pipe = os.popen(cmd, 'r')
+    filenames = pipe.read().splitlines()
+    return filenames
+
+
+def make_backup_copy(src):
+    dst = src + '.original'
+    if not os.path.exists(dst):
+        shutil.copy2(src, dst)
+
+
+def edit_file(name):
+    def replace_group_body(mo):
+        pat = ' /(?!' + cell_root_path[1:] + ')'  # negative lookahead 
assertion
+        new = re.sub(pat, ' ' + cell_root_path + '/', mo.group(2))
+        return mo.group(1) + new + mo.group(3)
+        
+    f = open(name,'r')
+    s = f.read()
+    f.close()
+    
+    pat = re.compile(r'^( *GROUP *\()(.*)(\) *)$', re.M)
+    t = pat.sub(replace_group_body, s)
+
+    f = open(name,'w')
+    f.write(t)
+    f.close()
+
+
+def edit_ascii_shared_libs():
+    print "Please be patient, this takes awhile..."
+    filenames = find_ascii_shared_libs()
+    for f in filenames:
+        make_backup_copy(f)
+        edit_file(f)
+
+
+def main():
+    ensure_cell()
+    make_symlinks()
+    edit_ascii_shared_libs()
+
+
+if __name__ == '__main__':
+    main()
+    
+

Modified: 
gnuradio/branches/developers/eb/trial-merge/gr-atsc/src/lib/Makefile.am
===================================================================
--- gnuradio/branches/developers/eb/trial-merge/gr-atsc/src/lib/Makefile.am     
2007-11-09 23:36:22 UTC (rev 6847)
+++ gnuradio/branches/developers/eb/trial-merge/gr-atsc/src/lib/Makefile.am     
2007-11-09 23:53:03 UTC (rev 6848)
@@ -31,6 +31,7 @@
 INCLUDES = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) $(CPPUNIT_INCLUDES)
 
 EXTRA_DIST =                                   \
+       atsci_viterbi_gen.cc                    \
        gen_encoder.py                          \
        qa_atsci_trellis_encoder_t1_input.dat   \
        qa_atsci_trellis_encoder_t1_output.dat  \
@@ -190,14 +191,13 @@
 # programs we build but don't install
 # FIXME add test_atsc
 noinst_PROGRAMS =                              \
-       atsci_viterbi_gen                       \
        test_atsci                              
 
 
-atsci_viterbi_gen_SOURCES = atsci_viterbi_gen.cc
+atsci_viterbi_gen$(EXEEXT): $(srcdir)/atsci_viterbi_gen.cc
+       $(CXX_FOR_BUILD) -O2 $(srcdir)/atsci_viterbi_gen.cc -o 
atsci_viterbi_gen$(EXEEXT)
 
 atsci_viterbi_mux.cc: atsci_viterbi_gen$(EXEEXT) 
-       $(MAKE) $(AM_MAKEFLAGS) CXX="$(CXX_FOR_BUILD)" 
atsci_viterbi_gen$(EXEEXT)
        ./atsci_viterbi_gen$(EXEEXT) -o atsci_viterbi_mux.cc
 
 

Modified: 
gnuradio/branches/developers/eb/trial-merge/usrp/host/lib/inband/Makefile.am
===================================================================
--- 
gnuradio/branches/developers/eb/trial-merge/usrp/host/lib/inband/Makefile.am    
    2007-11-09 23:36:22 UTC (rev 6847)
+++ 
gnuradio/branches/developers/eb/trial-merge/usrp/host/lib/inband/Makefile.am    
    2007-11-09 23:53:03 UTC (rev 6848)
@@ -48,7 +48,7 @@
        $(COMPILE_MBH) $(srcdir)/usrp_server.mbh usrp_server_mbh.cc
 
 usrp_interface_mbh.cc : usrp_interface.mbh
-       $(COMPILE_MBH) usrp_interface.mbh usrp_interface_mbh.cc
+       $(COMPILE_MBH) $(srcdir)/usrp_interface.mbh usrp_interface_mbh.cc
 
 libusrp_inband_la_SOURCES =            \
        $(BUILT_SOURCES)                \





reply via email to

[Prev in Thread] Current Thread [Next in Thread]