[Top][All Lists]
[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) \
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r6848 - in gnuradio/branches/developers/eb/trial-merge: . config dtools/bin gr-atsc/src/lib usrp/host/lib/inband,
eb <=