diff options
author | jcorgan | 2008-02-08 23:32:10 +0000 |
---|---|---|
committer | jcorgan | 2008-02-08 23:32:10 +0000 |
commit | 42d9c6f495503d3d9d2db47a9979036c9233f976 (patch) | |
tree | b4d2be737c3ad6836e62dc35c861e987ea3729e0 /config/grc_usrp.m4 | |
parent | 6bf2c048d94e1c673c06c058b23213cd28292520 (diff) | |
download | gnuradio-42d9c6f495503d3d9d2db47a9979036c9233f976.tar.gz gnuradio-42d9c6f495503d3d9d2db47a9979036c9233f976.tar.bz2 gnuradio-42d9c6f495503d3d9d2db47a9979036c9233f976.zip |
Merged r7478:7608 from michaelld/t186 into trunk. Adds ability to compile GNU Radio modules individually, using already installed dependent libraries and include files. New functionality is enabled using --with-* on configure command line; existing build options should remain unchanged. Nice work by Michael Dickens, still needs documentation update on wiki.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@7617 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'config/grc_usrp.m4')
-rw-r--r-- | config/grc_usrp.m4 | 158 |
1 files changed, 111 insertions, 47 deletions
diff --git a/config/grc_usrp.m4 b/config/grc_usrp.m4 index e28e6c28d..34acee818 100644 --- a/config/grc_usrp.m4 +++ b/config/grc_usrp.m4 @@ -1,4 +1,4 @@ -dnl Copyright 2001,2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc. +dnl Copyright 2001,2002,2003,2004,2005,2006,2007,2008 Free Software Foundation, Inc. dnl dnl This file is part of GNU Radio dnl @@ -19,58 +19,122 @@ dnl Boston, MA 02110-1301, USA. AC_DEFUN([GRC_USRP],[ GRC_ENABLE([usrp]) + GRC_WITH([usrp]) + passed=no + if test x$with_usrp = xyes; then + if test x$enable_usrp = xyes; then + AC_MSG_ERROR([Component usrp: Cannot use both --enable and --with]) + else + # the following is required, for whatever reason; ignore the output + USRP_SET_FUSB_TECHNIQUE([],[passed=no;AC_MSG_RESULT([Unable to set fast USB technique.])]) + passed=no + # on to the regular routine + PKG_CHECK_MODULES(USRP, usrp, passed=with, + AC_MSG_RESULT([Component usrp: PKGCONFIG cannot find info])) + if test x$passed = xwith; then + usrp_INCLUDES=`$PKG_CONFIG --cflags-only-I usrp` + usrp_LA=$USRP_LIBS + passed=no + PKG_CHECK_MODULES(USRP_INBAND, usrp-inband, passed=with, + AC_MSG_RESULT([Component usrp-inband: PKGCONFIG cannot find info])) + if test x$passed = xwith; then + usrp_inband_INCLUDES=`$PKG_CONFIG --cflags-only-I usrp-inband` + usrp_inband_LA=$USRP_INBAND_LIBS + fi + fi + fi + fi + dnl if $passed = with, then "--with" worked; ignore the "--enable" stuff + dnl otherwise, $passed = no; check the "--enable" stuff + if test x$passed = xno; then + AC_CONFIG_FILES([ \ + usrp/Makefile \ + usrp/usrp.pc \ + usrp/usrp-inband.pc \ + usrp/usrp.iss \ + usrp/doc/Doxyfile \ + usrp/doc/Makefile \ + usrp/doc/other/Makefile \ + usrp/host/Makefile \ + usrp/host/misc/Makefile \ + usrp/host/lib/Makefile \ + usrp/host/lib/inband/Makefile \ + usrp/host/lib/legacy/Makefile \ + usrp/host/lib/legacy/std_paths.h \ + usrp/host/swig/Makefile \ + usrp/host/apps/Makefile \ + usrp/host/apps-inband/Makefile \ + usrp/firmware/Makefile \ + usrp/firmware/include/Makefile \ + usrp/firmware/lib/Makefile \ + usrp/firmware/src/Makefile \ + usrp/firmware/src/common/Makefile \ + usrp/firmware/src/usrp2/Makefile \ + usrp/fpga/Makefile \ + usrp/fpga/rbf/Makefile \ + ]) - AC_CONFIG_FILES([ \ - usrp/Makefile \ - usrp/usrp.pc \ - usrp/usrp-inband.pc \ - usrp/usrp.iss \ - usrp/doc/Doxyfile \ - usrp/doc/Makefile \ - usrp/doc/other/Makefile \ - usrp/host/Makefile \ - usrp/host/misc/Makefile \ - usrp/host/lib/Makefile \ - usrp/host/lib/inband/Makefile \ - usrp/host/lib/legacy/Makefile \ - usrp/host/lib/legacy/std_paths.h \ - usrp/host/swig/Makefile \ - usrp/host/apps/Makefile \ - usrp/host/apps-inband/Makefile \ - usrp/firmware/Makefile \ - usrp/firmware/include/Makefile \ - usrp/firmware/lib/Makefile \ - usrp/firmware/src/Makefile \ - usrp/firmware/src/common/Makefile \ - usrp/firmware/src/usrp2/Makefile \ - usrp/fpga/Makefile \ - usrp/fpga/rbf/Makefile \ - ]) - - # gnulib. - # FIXME: this needs to fail gracefully and continue, not implemented yet - UTILS_FUNC_MKSTEMP + # gnulib. + # FIXME: this needs to fail gracefully and continue, not implemented yet + UTILS_FUNC_MKSTEMP - # These checks don't fail - AC_C_BIGENDIAN - AC_CHECK_HEADERS([byteswap.h linux/compiler.h]) - AC_CHECK_FUNCS([getrusage sched_setscheduler pthread_setschedparam]) - AC_CHECK_FUNCS([sigaction snprintf]) + # These checks don't fail + AC_C_BIGENDIAN + AC_CHECK_HEADERS([byteswap.h linux/compiler.h]) + AC_CHECK_FUNCS([getrusage sched_setscheduler pthread_setschedparam]) + AC_CHECK_FUNCS([sigaction snprintf]) - passed=yes - # Don't do usrp if mblock skipped - # There *has* to be a better way to check if a value is in a string - for dir in $skipped_dirs - do - if test "$dir" = "mblock"; then - AC_MSG_RESULT([Component usrp requires mblock, which is not being built.]) + # There are 2 pkg-config files; the one for usrp requires omnithread + # for Darwin only. + case "$host_os" in + darwin*) + # for usrp.pc.in + usrp_darwin_omnithread_pc_requires="gnuradio-omnithread" + usrp_darwin_omnithread_pc_la="-lgromnithread" + ;; + *) + # for usrp.pc.in (blanks) + usrp_darwin_omnithread_pc_requires="" + usrp_darwin_omnithread_pc_la="" + ;; + esac + passed=yes + # Don't do usrp if omnithread, mblock, or pmt skipped + if test x$omnithread_skipped = xyes; then + AC_MSG_RESULT([Component usrp requires omnithread, which is not being built or specified via pre-installed files.]) passed=no fi - done + if test x$mblock_skipped = xyes; then + AC_MSG_RESULT([Component usrp requires mblock, which is not being built or specified via pre-installed files.]) + passed=no + fi + if test x$pmt_skipped = xyes; then + AC_MSG_RESULT([Component usrp requires pmt, which is not being built or specified via pre-installed files.]) + passed=no + fi + # Don't do mblock if guile not available (inband requires it) + AC_PATH_PROG(GUILE,guile) + if test "$GUILE" = "" ; then + AC_MSG_RESULT([Component mblock requires guile, which was not found.]) + passed=no + fi + USRP_LIBUSB([],[passed=no;AC_MSG_RESULT([Unable to configure USB dependency.])]) + USRP_SET_FUSB_TECHNIQUE([],[passed=no;AC_MSG_RESULT([Unable to set fast USB technique.])]) + USRP_SDCC([2.4.0],[],[passed=no;AC_MSG_RESULT([Unable to find firmware compiler.])]) - USRP_LIBUSB([],[passed=no;AC_MSG_RESULT([Unable to configure USB dependency.])]) - USRP_SET_FUSB_TECHNIQUE([],[passed=no;AC_MSG_RESULT([Unable to set fast USB technique.])]) - USRP_SDCC([2.4.0],[],[passed=no;AC_MSG_RESULT([Unable to find firmware compiler.])]) + usrp_INCLUDES="-I\${abs_top_srcdir}/usrp/host/lib/legacy \ + -I\${abs_top_srcdir}/usrp/firmware/include" + usrp_LA="\${abs_top_builddir}/usrp/host/lib/legacy/libusrp.la" + usrp_inband_INCLUDES="-I\${abs_top_srcdir}/usrp/host/lib/inband" + usrp_inband_LA="\${abs_top_builddir}/usrp/host/lib/inband/libusrp_inband.la" + fi GRC_BUILD_CONDITIONAL([usrp]) + + AC_SUBST(usrp_INCLUDES) + AC_SUBST(usrp_LA) + AC_SUBST(usrp_inband_INCLUDES) + AC_SUBST(usrp_inband_LA) + AC_SUBST(usrp_darwin_omnithread_pc_requires) + AC_SUBST(usrp_darwin_omnithread_pc_la) ]) |