annotate acinclude.m4 @ 671:59ae875b017b

* Skip tests for modules when {module}_LIBS is provided by user
author Chris Cannam
date Tue, 08 Mar 2011 10:31:12 +0000
parents 3270c92deacd
children 5f75414d85f6
rev   line source
Chris@638 1
Chris@638 2 AC_DEFUN([SV_MODULE_REQUIRED],
Chris@638 3 [
Chris@638 4 SV_MODULE_MODULE=$1
Chris@638 5 SV_MODULE_VERSION_TEST="$2"
Chris@638 6 SV_MODULE_HEADER=$3
Chris@638 7 SV_MODULE_LIB=$4
Chris@638 8 SV_MODULE_FUNC=$5
Chris@638 9 SV_MODULE_HAVE=HAVE_$(echo $1 | tr '[a-z]' '[A-Z]')
Chris@638 10 SV_MODULE_FAILED=1
Chris@671 11 if test -n "$$1_LIBS" ; then
Chris@671 12 AC_MSG_NOTICE([User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE])
Chris@671 13 SV_MODULE_FAILED=""
Chris@671 14 fi
Chris@638 15 if test -z "$SV_MODULE_VERSION_TEST" ; then
Chris@638 16 SV_MODULE_VERSION_TEST=$SV_MODULE_MODULE
Chris@638 17 fi
Chris@671 18 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
Chris@638 19 PKG_CHECK_MODULES($1,[$SV_MODULE_VERSION_TEST],[HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $$1_CFLAGS";LIBS="$LIBS $$1_LIBS";SV_MODULE_FAILED=""],[AC_MSG_NOTICE([Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means])])
Chris@638 20 fi
Chris@638 21 if test -n "$SV_MODULE_FAILED"; then
Chris@638 22 AC_CHECK_HEADER([$SV_MODULE_HEADER],[HAVES="$HAVES $SV_MODULE_HAVE"],[AC_MSG_ERROR([Failed to find header $SV_MODULE_HEADER for required module $SV_MODULE_MODULE])])
Chris@638 23 if test -n "$SV_MODULE_LIB"; then
Chris@638 24 AC_CHECK_LIB([$SV_MODULE_LIB],[$SV_MODULE_FUNC],[LIBS="$LIBS -l$SV_MODULE_LIB"],[AC_MSG_ERROR([Failed to find library $SV_MODULE_LIB for required module $SV_MODULE_MODULE])])
Chris@638 25 fi
Chris@638 26 fi
Chris@638 27 ])
Chris@638 28
Chris@638 29 AC_DEFUN([SV_MODULE_OPTIONAL],
Chris@638 30 [
Chris@638 31 SV_MODULE_MODULE=$1
Chris@638 32 SV_MODULE_VERSION_TEST="$2"
Chris@638 33 SV_MODULE_HEADER=$3
Chris@638 34 SV_MODULE_LIB=$4
Chris@638 35 SV_MODULE_FUNC=$5
Chris@638 36 SV_MODULE_HAVE=HAVE_$(echo $1 | tr '[a-z]' '[A-Z]')
Chris@638 37 SV_MODULE_FAILED=1
Chris@671 38 if test -n "$$1_LIBS" ; then
Chris@671 39 AC_MSG_NOTICE([User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE])
Chris@671 40 SV_MODULE_FAILED=""
Chris@671 41 fi
Chris@638 42 if test -z "$SV_MODULE_VERSION_TEST" ; then
Chris@638 43 SV_MODULE_VERSION_TEST=$SV_MODULE_MODULE
Chris@638 44 fi
Chris@671 45 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
Chris@649 46 PKG_CHECK_MODULES($1,[$SV_MODULE_VERSION_TEST],[HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $$1_CFLAGS";LIBS="$LIBS $$1_LIBS";SV_MODULE_FAILED=""],[AC_MSG_NOTICE([Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means])])
Chris@638 47 fi
Chris@638 48 if test -n "$SV_MODULE_FAILED"; then
Chris@638 49 AC_CHECK_HEADER([$SV_MODULE_HEADER],[HAVES="$HAVES $SV_MODULE_HAVE";SV_MODULE_FAILED=""],[AC_MSG_NOTICE([Failed to find header $SV_MODULE_HEADER for optional module $SV_MODULE_MODULE])])
Chris@638 50 if test -z "$SV_MODULE_FAILED"; then
Chris@638 51 if test -n "$SV_MODULE_LIB"; then
Chris@638 52 AC_CHECK_LIB([$SV_MODULE_LIB],[$SV_MODULE_FUNC],[LIBS="$LIBS -l$SV_MODULE_LIB"],[AC_MSG_NOTICE([Failed to find library $SV_MODULE_LIB for optional module $SV_MODULE_MODULE])])
Chris@638 53 fi
Chris@638 54 fi
Chris@638 55 fi
Chris@638 56 ])
Chris@638 57
Chris@651 58 # Check for Qt. The only part of Qt we use directly is qmake.
Chris@651 59
Chris@638 60 AC_DEFUN([SV_CHECK_QT],
Chris@638 61 [
Chris@638 62 AC_REQUIRE([AC_PROG_CXX])
Chris@638 63
Chris@651 64 if test x$QMAKE = x ; then
Chris@651 65 AC_CHECK_PROG(QMAKE, qmake-qt4, $QTDIR/bin/qmake-qt4,,$QTDIR/bin/)
Chris@651 66 fi
Chris@651 67 if test x$QMAKE = x ; then
Chris@651 68 AC_CHECK_PROG(QMAKE, qmake, $QTDIR/bin/qmake,,$QTDIR/bin/)
Chris@651 69 fi
Chris@651 70 if test x$QMAKE = x ; then
Chris@651 71 AC_CHECK_PROG(QMAKE, qmake.exe, $QTDIR/bin/qmake.exe,,$QTDIR/bin/)
Chris@651 72 fi
Chris@651 73 if test x$QMAKE = x ; then
Chris@651 74 AC_CHECK_PROG(QMAKE, qmake-qt4, qmake-qt4,,$PATH)
Chris@651 75 fi
Chris@651 76 if test x$QMAKE = x ; then
Chris@651 77 AC_CHECK_PROG(QMAKE, qmake, qmake,,$PATH)
Chris@651 78 fi
Chris@651 79 if test x$QMAKE = x ; then
Chris@651 80 AC_MSG_ERROR([
Chris@651 81 Failed to find the required qmake-qt4 or qmake program. Please
Chris@651 82 ensure you have the necessary Qt4 development files installed, and
Chris@651 83 if necessary set QTDIR to the location of your Qt4 installation.
Chris@638 84 ])
Chris@638 85 fi
Chris@638 86
Chris@638 87 # Suitable versions of qmake should print out something like:
Chris@638 88 #
Chris@638 89 # QMake version 2.01a
Chris@638 90 # Using Qt version 4.6.3 in /usr/lib
Chris@638 91 #
Chris@638 92 # This may be translated, so we check only for the numbers (2.x and 4.x
Chris@638 93 # in that order).
Chris@638 94 #
Chris@638 95 QMAKE_VERSION_OUTPUT=`$QMAKE -v`
Chris@638 96 case "$QMAKE_VERSION_OUTPUT" in
Chris@638 97 *2.*4.*) ;;
Chris@638 98 *) AC_MSG_WARN([
Chris@638 99 *** The version of qmake found in "$QMAKE" looks like it might be
Chris@638 100 from the wrong version of Qt (Qt4 is required). Please check
Chris@638 101 that this is the correct version of qmake for Qt4 builds.
Chris@638 102 ])
Chris@638 103 esac
Chris@638 104
Chris@655 105 case "`uname`" in
Chris@655 106 *Darwin*) QMAKE="$QMAKE -spec macx-g++";;
Chris@655 107 esac
Chris@655 108
Chris@638 109 ])
Chris@638 110