From 09c84f41c3265d27a7812e95a2906b17a7f01ca8 Mon Sep 17 00:00:00 2001 From: Nick Foster Date: Mon, 13 Dec 2010 19:04:05 -0800 Subject: volk: added ORC integration. still requires polishing. --- volk/config/orc.m4 | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 volk/config/orc.m4 (limited to 'volk/config') diff --git a/volk/config/orc.m4 b/volk/config/orc.m4 new file mode 100644 index 000000000..3c501762d --- /dev/null +++ b/volk/config/orc.m4 @@ -0,0 +1,67 @@ +dnl pkg-config-based checks for Orc + +dnl specific: +dnl ORC_CHECK([REQUIRED_VERSION]) + +AC_DEFUN([ORC_CHECK], +[ + ORC_REQ=ifelse([$1], , "0.4.6", [$1]) + + AC_ARG_ENABLE(orc, + AC_HELP_STRING([--enable-orc],[use Orc if installed]), + [case "${enableval}" in + auto) enable_orc=auto ;; + yes) enable_orc=yes ;; + no) enable_orc=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-orc) ;; + esac + ], + [enable_orc=auto]) dnl Default value + + if test "x$enable_orc" != "xno" ; then + PKG_CHECK_MODULES(ORC, orc-0.4 >= $ORC_REQ, [ + AC_DEFINE(HAVE_ORC, 1, [Use Orc]) + if test "x$ORCC" = "x" ; then + ORCC=`$PKG_CONFIG --variable=orcc orc-0.4` + fi + AC_SUBST(ORCC) + ORCC_FLAGS="--compat $ORC_REQ" + AC_SUBST(ORCC_FLAGS) + HAVE_ORC=yes + HAVE_ORCC=yes + if test "x$cross_compiling" = "xyes" ; then + HAVE_ORCC=no + fi + ], [ + if test "x$enable_orc" = "xyes" ; then + AC_MSG_ERROR([--enable-orc specified, but Orc >= $ORC_REQ not found]) + fi + AC_DEFINE(DISABLE_ORC, 1, [Disable Orc]) + HAVE_ORC=no + HAVE_ORCC=no + ]) + else + AC_DEFINE(DISABLE_ORC, 1, [Disable Orc]) + HAVE_ORC=no + HAVE_ORCC=no + fi + AM_CONDITIONAL(HAVE_ORC, [test "x$HAVE_ORC" = "xyes"]) + AM_CONDITIONAL(HAVE_ORCC, [test "x$HAVE_ORCC" = "xyes"]) + +])) + +AC_DEFUN([ORC_OUTPUT], +[ + if test "$HAVE_ORC" = yes ; then + printf "configure: *** Orc acceleration enabled.\n" + else + if test "x$enable_orc" = "xno" ; then + printf "configure: *** Orc acceleration disabled by --disable-orc.\n" + else + printf "configure: *** Orc acceleration disabled. Requires Orc >= $ORC_REQ, which was\n" + printf " not found.\n" + fi + fi + printf "\n" +]) + -- cgit From bef3db60e73953f2d2ecdc6a86a81e11df3b103d Mon Sep 17 00:00:00 2001 From: Nick Foster Date: Mon, 13 Dec 2010 19:18:45 -0800 Subject: volk: committed some stuff i neglected --- volk/config/Makefile.am | 1 + volk/config/lv_configure.m4 | 3 +++ 2 files changed, 4 insertions(+) (limited to 'volk/config') diff --git a/volk/config/Makefile.am b/volk/config/Makefile.am index 0e556c6e2..1d0041e35 100644 --- a/volk/config/Makefile.am +++ b/volk/config/Makefile.am @@ -45,6 +45,7 @@ m4macros = \ mkstemp.m4 \ onceonly.m4 \ pkg.m4 \ + orc.m4 \ gcc_version_workaround.m4 diff --git a/volk/config/lv_configure.m4 b/volk/config/lv_configure.m4 index c7a5fe960..f98b2dc5b 100644 --- a/volk/config/lv_configure.m4 +++ b/volk/config/lv_configure.m4 @@ -100,6 +100,9 @@ dnl AM_CONDITIONAL([USE_PYTHON], [test "$with_python" = yes]) GR_PWIN32 GR_LIBGNURADIO_CORE_EXTRA_LDFLAGS + dnl Check for liborc + ORC_CHECK + LDFLAGS="$LDFLAGS $LIBGNURADIO_CORE_EXTRA_LDFLAGS" AC_CHECK_PROG([XMLTO],[xmlto],[yes],[]) -- cgit From 611526f9dfba0df4a1a49d47916706438ac194b3 Mon Sep 17 00:00:00 2001 From: Nick Foster Date: Tue, 14 Dec 2010 01:00:29 -0800 Subject: Volk: Automated more automake for orc. Brought orcc generation in. Shared library libvolk_orc.la. Linking is hackery right now with specified -lorc-0.4 flags; this should change. Otherwise pretty much OK. --- volk/config/lv_configure.m4 | 4 ++++ volk/config/orc.m4 | 2 ++ 2 files changed, 6 insertions(+) (limited to 'volk/config') diff --git a/volk/config/lv_configure.m4 b/volk/config/lv_configure.m4 index f98b2dc5b..47ad543f8 100644 --- a/volk/config/lv_configure.m4 +++ b/volk/config/lv_configure.m4 @@ -104,6 +104,10 @@ dnl AM_CONDITIONAL([USE_PYTHON], [test "$with_python" = yes]) ORC_CHECK LDFLAGS="$LDFLAGS $LIBGNURADIO_CORE_EXTRA_LDFLAGS" + + if test HAVE_ORC = true; then + LDFLAGS="$LDFLAGS $ORC_LDFLAGS" + fi AC_CHECK_PROG([XMLTO],[xmlto],[yes],[]) AM_CONDITIONAL([HAS_XMLTO], [test x$XMLTO = xyes]) diff --git a/volk/config/orc.m4 b/volk/config/orc.m4 index 3c501762d..03c12a8f9 100644 --- a/volk/config/orc.m4 +++ b/volk/config/orc.m4 @@ -26,6 +26,7 @@ AC_DEFUN([ORC_CHECK], fi AC_SUBST(ORCC) ORCC_FLAGS="--compat $ORC_REQ" + ORC_LDFLAGS="-lorc-0.4" AC_SUBST(ORCC_FLAGS) HAVE_ORC=yes HAVE_ORCC=yes @@ -44,6 +45,7 @@ AC_DEFUN([ORC_CHECK], AC_DEFINE(DISABLE_ORC, 1, [Disable Orc]) HAVE_ORC=no HAVE_ORCC=no + ORC_LDFLAGS="" fi AM_CONDITIONAL(HAVE_ORC, [test "x$HAVE_ORC" = "xyes"]) AM_CONDITIONAL(HAVE_ORCC, [test "x$HAVE_ORCC" = "xyes"]) -- cgit From 05f4bced29987a0a573d1fc5b214f3fa01dc84bd Mon Sep 17 00:00:00 2001 From: Nick Foster Date: Tue, 14 Dec 2010 13:36:55 -0800 Subject: Volk: More autotools stuff for Orc. Should build OK with or without Orc now. --- volk/config/lv_configure.m4 | 4 ---- volk/config/orc.m4 | 1 - 2 files changed, 5 deletions(-) (limited to 'volk/config') diff --git a/volk/config/lv_configure.m4 b/volk/config/lv_configure.m4 index 47ad543f8..f98b2dc5b 100644 --- a/volk/config/lv_configure.m4 +++ b/volk/config/lv_configure.m4 @@ -104,10 +104,6 @@ dnl AM_CONDITIONAL([USE_PYTHON], [test "$with_python" = yes]) ORC_CHECK LDFLAGS="$LDFLAGS $LIBGNURADIO_CORE_EXTRA_LDFLAGS" - - if test HAVE_ORC = true; then - LDFLAGS="$LDFLAGS $ORC_LDFLAGS" - fi AC_CHECK_PROG([XMLTO],[xmlto],[yes],[]) AM_CONDITIONAL([HAS_XMLTO], [test x$XMLTO = xyes]) diff --git a/volk/config/orc.m4 b/volk/config/orc.m4 index 03c12a8f9..fa48b10df 100644 --- a/volk/config/orc.m4 +++ b/volk/config/orc.m4 @@ -45,7 +45,6 @@ AC_DEFUN([ORC_CHECK], AC_DEFINE(DISABLE_ORC, 1, [Disable Orc]) HAVE_ORC=no HAVE_ORCC=no - ORC_LDFLAGS="" fi AM_CONDITIONAL(HAVE_ORC, [test "x$HAVE_ORC" = "xyes"]) AM_CONDITIONAL(HAVE_ORCC, [test "x$HAVE_ORCC" = "xyes"]) -- cgit From d8031649fa3186d7e6b000dcfaa349deacf51262 Mon Sep 17 00:00:00 2001 From: Nick Foster Date: Tue, 14 Dec 2010 16:41:14 -0800 Subject: Volk: patch via Nick M. --- volk/config/orc.m4 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'volk/config') diff --git a/volk/config/orc.m4 b/volk/config/orc.m4 index fa48b10df..7845a940c 100644 --- a/volk/config/orc.m4 +++ b/volk/config/orc.m4 @@ -26,8 +26,11 @@ AC_DEFUN([ORC_CHECK], fi AC_SUBST(ORCC) ORCC_FLAGS="--compat $ORC_REQ" - ORC_LDFLAGS="-lorc-0.4" + ORC_LDFLAGS=`$PKG_CONFIG --libs orc-0.4` + ORC_CFLAGS=`$PKG_CONFIG --cflags orc-0.4` AC_SUBST(ORCC_FLAGS) + AC_SUBST(ORC_LDFLAGS) + AC_SUBST(ORC_CFLAGS) HAVE_ORC=yes HAVE_ORCC=yes if test "x$cross_compiling" = "xyes" ; then -- cgit From 21426265324c883c91eeaaf75a81f2ccdc6e249d Mon Sep 17 00:00:00 2001 From: Nick Foster Date: Tue, 14 Dec 2010 21:12:49 -0800 Subject: Volk: Build fixes to work with/without Orc. --- volk/config/orc.m4 | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) (limited to 'volk/config') diff --git a/volk/config/orc.m4 b/volk/config/orc.m4 index 7845a940c..9645661b0 100644 --- a/volk/config/orc.m4 +++ b/volk/config/orc.m4 @@ -6,18 +6,8 @@ dnl ORC_CHECK([REQUIRED_VERSION]) AC_DEFUN([ORC_CHECK], [ ORC_REQ=ifelse([$1], , "0.4.6", [$1]) - - AC_ARG_ENABLE(orc, - AC_HELP_STRING([--enable-orc],[use Orc if installed]), - [case "${enableval}" in - auto) enable_orc=auto ;; - yes) enable_orc=yes ;; - no) enable_orc=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-orc) ;; - esac - ], - [enable_orc=auto]) dnl Default value - + + enable_orc = auto if test "x$enable_orc" != "xno" ; then PKG_CHECK_MODULES(ORC, orc-0.4 >= $ORC_REQ, [ AC_DEFINE(HAVE_ORC, 1, [Use Orc]) -- cgit From c6fff77de9b686761f93f0e1de237f8543f5e919 Mon Sep 17 00:00:00 2001 From: Nick Foster Date: Fri, 17 Dec 2010 11:14:41 -0800 Subject: Volk: A bunch of new Orc routines plus a couple of build changes. 32fc_magnitude_16s fails test_all right now. --- volk/config/orc.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'volk/config') diff --git a/volk/config/orc.m4 b/volk/config/orc.m4 index 9645661b0..a4653400c 100644 --- a/volk/config/orc.m4 +++ b/volk/config/orc.m4 @@ -5,7 +5,7 @@ dnl ORC_CHECK([REQUIRED_VERSION]) AC_DEFUN([ORC_CHECK], [ - ORC_REQ=ifelse([$1], , "0.4.6", [$1]) + ORC_REQ=ifelse([$1], , "0.4.10", [$1]) enable_orc = auto if test "x$enable_orc" != "xno" ; then -- cgit From 060df0d1fe23c07a0ba2f0242f22073dc62626c1 Mon Sep 17 00:00:00 2001 From: Nick Foster Date: Tue, 25 Jan 2011 16:28:21 -0800 Subject: Volk: uses m4 magic to find boost_unit_test_framework --- volk/config/Makefile.am | 2 + volk/config/ax_boost_base.m4 | 334 ++++++++++++++++++++++++++++ volk/config/ax_boost_unit_test_framework.m4 | 36 +++ 3 files changed, 372 insertions(+) create mode 100644 volk/config/ax_boost_base.m4 create mode 100644 volk/config/ax_boost_unit_test_framework.m4 (limited to 'volk/config') diff --git a/volk/config/Makefile.am b/volk/config/Makefile.am index 1d0041e35..27e3f1296 100644 --- a/volk/config/Makefile.am +++ b/volk/config/Makefile.am @@ -27,6 +27,8 @@ m4datadir = $(datadir)/aclocal # List your m4 macros here m4macros = \ acx_pthread.m4 \ + ax_boost_base.m4 \ + ax_boost_unit_test_framework.m4 \ bnv_have_qt.m4 \ cppunit.m4 \ gr_lib64.m4 \ diff --git a/volk/config/ax_boost_base.m4 b/volk/config/ax_boost_base.m4 new file mode 100644 index 000000000..e9790227e --- /dev/null +++ b/volk/config/ax_boost_base.m4 @@ -0,0 +1,334 @@ +# =========================================================================== +# http://autoconf-archive.cryp.to/ax_boost_base.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_BASE([MINIMUM-VERSION]) +# +# DESCRIPTION +# +# Test for the Boost C++ libraries of a particular version (or newer) +# +# If no path to the installed boost library is given the macro searchs +# under /usr, /usr/local, /opt and /opt/local and evaluates the +# $BOOST_ROOT environment variable. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS) +# +# And sets: +# +# HAVE_BOOST +# +# LAST MODIFICATION +# +# 2008-04-12 +# +# COPYLEFT +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2008 Free Software Foundation, Inc. +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. + +AC_DEFUN([AX_BOOST_BASE], +[ +AC_REQUIRE([GR_LIB64]) +AC_ARG_WITH([boost], + AS_HELP_STRING([--with-boost@<:@=DIR@:>@], + [use boost (default is yes) - it is possible to specify the root directory for boost (optional)]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ac_boost_path="" + else + want_boost="yes" + ac_boost_path="$withval" + fi + ], + [want_boost="yes"]) + + +AC_ARG_WITH([boost-libdir], + AS_HELP_STRING([--with-boost-libdir=LIB_DIR], + [Force given directory for boost libraries. Note that this + will overwrite library path detection, so use this parameter + only if default library detection fails and you know exactly + where your boost libraries are located.]), + [ + if test -d $withval + then + ac_boost_lib_path="$withval" + else + AC_MSG_ERROR(--with-boost-libdir expected directory name) + fi + ], + [ac_boost_lib_path=""] +) + +if test "x$want_boost" = "xyes"; then + boost_lib_version_req=ifelse([$1], ,1.20.0,$1) + boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'` + boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'` + boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$boost_lib_version_req_sub_minor" = "x" ; then + boost_lib_version_req_sub_minor="0" + fi + WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor` + AC_MSG_CHECKING(for boost >= $boost_lib_version_req) + succeeded=no + + dnl first we check the system location for boost libraries + dnl this location ist chosen if boost libraries are installed with the --layout=system option + dnl or if you install boost with RPM + if test "$ac_boost_path" != ""; then + dnl Look first where we think they ought to be, accounting for a possible "64" suffix on lib. + dnl If that directory doesn't exist, fall back to the default behavior + if test -d "$ac_boost_path/lib${gr_libdir_suffix}"; then + BOOST_LDFLAGS="-L$ac_boost_path/lib${gr_libdir_suffix}" + else + BOOST_LDFLAGS="-L$ac_boost_path/lib" + fi + BOOST_CPPFLAGS="-I$ac_boost_path/include" + else + for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do + if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then + dnl Look first where we think they ought to be, accounting for a possible "64" suffix on lib. + dnl If that directory doesn't exist, fall back to the default behavior + if test -d "$ac_boost_path_tmp/lib${gr_libdir_suffix}"; then + BOOST_LDFLAGS="-L$ac_boost_path_tmp/lib${gr_libdir_suffix}" + else + BOOST_LDFLAGS="-L$ac_boost_path_tmp/lib" + fi + BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include" + break; + fi + done + fi + + dnl overwrite ld flags if we have required special directory with + dnl --with-boost-libdir parameter + if test "$ac_boost_lib_path" != ""; then + BOOST_LDFLAGS="-L$ac_boost_lib_path" + fi + + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + @%:@include + ]], [[ + #if BOOST_VERSION >= $WANT_BOOST_VERSION + // Everything is okay + #else + # error Boost version is too old + #endif + ]])],[AC_MSG_RESULT(yes) + succeeded=yes + found_system=yes + ], + []) + AC_LANG_POP([C++]) + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + + + dnl if we found no boost with system layout we search for boost libraries + dnl built and installed without the --layout=system option + if test "$succeeded" != "yes"; then + _version=0 + + if test "$ac_boost_path" != ""; then + path_list="$ac_boost_path" + else + path_list="/usr /usr/local /opt /opt/local" + fi + for ac_boost_path in $path_list ; do + if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then + for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do + _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's,/include/boost-,,; s,_,.,'` + V_CHECK=`expr $_version_tmp \> $_version` + if test "$V_CHECK" = "1" ; then + _version=$_version_tmp + best_path=$ac_boost_path + fi + done + fi + done + + VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` + BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE" + + if test "$ac_boost_lib_path" = ""; then + dnl Look first where we think they ought to be, accounting for a possible "64" suffix on lib. + dnl If that directory doesn't exist, fall back to the default behavior + if test -d "$best_path/lib${gr_libdir_suffix}"; then + BOOST_LDFLAGS="-L$best_path/lib${gr_libdir_suffix}" + else + BOOST_LDFLAGS="-L$best_path/lib" + fi + fi + + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + @%:@include + ]], [[ + #if BOOST_VERSION >= $WANT_BOOST_VERSION + // Everything is okay + #else + # error Boost version is too old + #endif + ]])],[AC_MSG_RESULT(yes) + succeeded=yes + found_system=yes + ], + []) + AC_LANG_POP([C++]) + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi + + if test "$succeeded" != "yes" ; then + AC_MSG_RESULT([no]) + if test "$_version" = "0" ; then + AC_MSG_ERROR([[we could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). +If you are sure you have boost installed, then check your version number looking in .]]) + else + AC_MSG_ERROR([your boost libraries seem to old (version $_version).]) + fi + else + AC_SUBST(BOOST_CPPFLAGS) + AC_SUBST(BOOST_LDFLAGS) + AC_DEFINE(HAVE_BOOST,1,[Define if the Boost headers are available]) + fi +fi +]) + +dnl +dnl Macros used by the boost items that need libraries. +dnl + +dnl $1 is unit name. E.g., boost_thread +AC_DEFUN([_AX_BOOST_CHECK_LIB],[ + _AX_BOOST_CHECK_LIB_($1,HAVE_[]m4_toupper($1),m4_toupper($1)_LIB) +]) + +dnl $1 is unit name. E.g., boost_thread +dnl $2 is AC_DEFINE name. E.g., HAVE_BOOST_THREAD +dnl $3 is lib var name. E.g., BOOST_THREAD_LIB +AC_DEFUN([_AX_BOOST_CHECK_LIB_],[ + AC_LANG_PUSH([C++]) + AC_DEFINE($2,1,[Define if the $1 library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + dnl See if we can find a usable library + link_ok="no" + if test "$ax_boost_user_lib" != ""; then + dnl use what the user supplied + for ax_lib in $ax_boost_user_lib $1-${ax_boost_user_lib}; do + AC_CHECK_LIB($ax_lib, exit, + [$3="-l$ax_lib"; AC_SUBST($3) link_ok="yes"; break]) + done + else + dnl Look in BOOSTLIBDIR for possible candidates + head=$BOOSTLIBDIR/lib[]$1 + for f in ${head}*.so* ${head}*.a* ${head}*.dll* ${head}*.dylib; do + dnl echo 1: $f + case $f in + *\**) continue;; + esac + f=`echo $f | sed -e 's,.*/,,' -e 's,^lib,,'` + dnl echo 2: $f + f=`echo $f | sed -e 's,\($1.*\)\.so.*$,\1,' -e 's,\($1.*\)\.a.*$,\1,' -e 's,\($1.*\)\.dll.*$,\1,' -e 's,\($1.*\)\.dylib.*$,\1,'` + dnl echo 3: $f + + ax_lib=$f + AC_CHECK_LIB($ax_lib, exit, + [$3="-l$ax_lib"; AC_SUBST($3) link_ok="yes"; break]) + done + fi + + if test "$link_ok" != "yes"; then + AC_MSG_ERROR([Could not link against lib[$1]!]) + fi + AC_LANG_POP([C++]) +]) + + +dnl $1 is unit name. E.g., boost_thread +AC_DEFUN([_AX_BOOST_WITH],[ + _AX_BOOST_WITH_($1,m4_bpatsubst($1,_,-)) +]) + +dnl $1 is unit name. E.g., boost_thread +dnl $2 is hyphenated unit name. E.g., boost-thread +AC_DEFUN([_AX_BOOST_WITH_],[ + AC_ARG_WITH([$2], + AC_HELP_STRING([--with-$2@<:@=special-lib@:>@], + [Use the m4_substr($1,6) library from boost. It is possible to specify a certain + library to the linker. E.g., --with-$2=$1-gcc41-mt-1_35]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_lib="" + else + want_boost="yes" + ax_boost_user_lib="$withval" + fi + ], + [want_boost="yes"]) +]) + +dnl $1 is unit name. E.g., boost_thread +dnl $2 is AC_LANG_PROGRAM argument 1 +dnl $3 is AC_LANG_PROGRAM argument 2 +dnl $4 is cv variable name. E.g., ax_cv_boost_thread +AC_DEFUN([_AX_BOOST_CHECK_],[ + _AX_BOOST_WITH($1) + if test "$want_boost" = "yes"; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_PROG_CXX]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + AC_CACHE_CHECK([whether the boost::m4_substr([$1],6) includes are available], [$4], + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE(AC_LANG_PROGRAM([$2],[$3]),[$4]=yes,[$4]=no) + AC_LANG_POP([C++]) + ]) + if test "$[$4]" = "yes"; then + _AX_BOOST_CHECK_LIB([$1]) + fi + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) + +dnl $1 is unit name. E.g., boost_thread +dnl $2 is AC_LANG_PROGRAM argument 1 +dnl $3 is AC_LANG_PROGRAM argument 2 +AC_DEFUN([_AX_BOOST_CHECK],[ + _AX_BOOST_CHECK_($1,$2,$3,ax_cv_$1) +]) diff --git a/volk/config/ax_boost_unit_test_framework.m4 b/volk/config/ax_boost_unit_test_framework.m4 new file mode 100644 index 000000000..73affccfd --- /dev/null +++ b/volk/config/ax_boost_unit_test_framework.m4 @@ -0,0 +1,36 @@ +# +# SYNOPSIS +# +# AX_BOOST_UNIT_TEST_FRAMEWORK +# +# DESCRIPTION +# +# Test for Unit_Test_Framework library from the Boost C++ libraries. The +# macro requires a preceding call to AX_BOOST_BASE. +# +# This macro calls: +# +# AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) +# +# And sets: +# +# HAVE_BOOST_UNIT_TEST_FRAMEWORK +# +# COPYLEFT +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2008 Free Software Foundation, Inc. +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. + +AC_DEFUN([AX_BOOST_UNIT_TEST_FRAMEWORK], +[ + AC_REQUIRE([AX_BOOST_BASE]) + _AX_BOOST_CHECK([boost_unit_test_framework], + [@%:@include ], + [using boost::unit_test::test_suite; + test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" ); + return 0;]) +]) -- cgit From 6503e3b21978b71908400c994148836bec4a97b9 Mon Sep 17 00:00:00 2001 From: Tom Rondeau Date: Sun, 30 Jan 2011 12:35:07 -0500 Subject: volk: Updating build structure to work when orc is not installed. Distcheck passes for me if liborc is installed or not. --- volk/config/orc.m4 | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'volk/config') diff --git a/volk/config/orc.m4 b/volk/config/orc.m4 index a4653400c..df0f3d6f3 100644 --- a/volk/config/orc.m4 +++ b/volk/config/orc.m4 @@ -7,10 +7,9 @@ AC_DEFUN([ORC_CHECK], [ ORC_REQ=ifelse([$1], , "0.4.10", [$1]) - enable_orc = auto if test "x$enable_orc" != "xno" ; then PKG_CHECK_MODULES(ORC, orc-0.4 >= $ORC_REQ, [ - AC_DEFINE(HAVE_ORC, 1, [Use Orc]) + AC_DEFINE(LV_HAVE_ORC, 1, [Use Orc]) if test "x$ORCC" = "x" ; then ORCC=`$PKG_CONFIG --variable=orcc orc-0.4` fi @@ -21,32 +20,31 @@ AC_DEFUN([ORC_CHECK], AC_SUBST(ORCC_FLAGS) AC_SUBST(ORC_LDFLAGS) AC_SUBST(ORC_CFLAGS) - HAVE_ORC=yes - HAVE_ORCC=yes + LV_HAVE_ORC=yes + LV_HAVE_ORCC=yes if test "x$cross_compiling" = "xyes" ; then - HAVE_ORCC=no + LV_HAVE_ORCC=no fi ], [ if test "x$enable_orc" = "xyes" ; then AC_MSG_ERROR([--enable-orc specified, but Orc >= $ORC_REQ not found]) fi AC_DEFINE(DISABLE_ORC, 1, [Disable Orc]) - HAVE_ORC=no - HAVE_ORCC=no + LV_HAVE_ORC=no + LV_HAVE_ORCC=no ]) else AC_DEFINE(DISABLE_ORC, 1, [Disable Orc]) - HAVE_ORC=no - HAVE_ORCC=no + LV_HAVE_ORC=no + LV_HAVE_ORCC=no fi - AM_CONDITIONAL(HAVE_ORC, [test "x$HAVE_ORC" = "xyes"]) - AM_CONDITIONAL(HAVE_ORCC, [test "x$HAVE_ORCC" = "xyes"]) - + AM_CONDITIONAL(LV_HAVE_ORC, [test "x$LV_HAVE_ORC" = "xyes"]) + AM_CONDITIONAL(LV_HAVE_ORCC, [test "x$LV_HAVE_ORCC" = "xyes"]) ])) AC_DEFUN([ORC_OUTPUT], [ - if test "$HAVE_ORC" = yes ; then + if test "$LV_HAVE_ORC" = yes ; then printf "configure: *** Orc acceleration enabled.\n" else if test "x$enable_orc" = "xno" ; then -- cgit From ca64a7a905b1a5fa5e74dd730591f0f7e0ff3929 Mon Sep 17 00:00:00 2001 From: Tom Rondeau Date: Thu, 17 Feb 2011 15:48:41 -0500 Subject: volk: Properly sets up package config script if Orc is not found for Volk. --- volk/config/orc.m4 | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'volk/config') diff --git a/volk/config/orc.m4 b/volk/config/orc.m4 index df0f3d6f3..d17160a9a 100644 --- a/volk/config/orc.m4 +++ b/volk/config/orc.m4 @@ -22,6 +22,7 @@ AC_DEFUN([ORC_CHECK], AC_SUBST(ORC_CFLAGS) LV_HAVE_ORC=yes LV_HAVE_ORCC=yes + LV_ORC_PKGCONFIG="-lvolk_orc" if test "x$cross_compiling" = "xyes" ; then LV_HAVE_ORCC=no fi @@ -32,14 +33,17 @@ AC_DEFUN([ORC_CHECK], AC_DEFINE(DISABLE_ORC, 1, [Disable Orc]) LV_HAVE_ORC=no LV_HAVE_ORCC=no + LV_ORC_PKGCONFIG="" ]) else AC_DEFINE(DISABLE_ORC, 1, [Disable Orc]) LV_HAVE_ORC=no LV_HAVE_ORCC=no + LV_ORC_PKGCONFIG="" fi AM_CONDITIONAL(LV_HAVE_ORC, [test "x$LV_HAVE_ORC" = "xyes"]) AM_CONDITIONAL(LV_HAVE_ORCC, [test "x$LV_HAVE_ORCC" = "xyes"]) + AC_SUBST(LV_ORC_PKGCONFIG) ])) AC_DEFUN([ORC_OUTPUT], -- cgit