--- qsampler/trunk/configure.ac 2014/05/20 10:59:37 2563 +++ qsampler/trunk/configure.ac 2015/03/09 09:13:24 2724 @@ -1,5 +1,5 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(Qsampler, 0.2.3.3, rncbc@rncbc.org, qsampler) +AC_INIT(Qsampler, 0.2.3.21, rncbc@rncbc.org, qsampler) AC_CONFIG_SRCDIR(src/qsampler.cpp) AC_CONFIG_HEADERS(src/config.h) @@ -41,12 +41,6 @@ [ac_qt5="$enableval"], [ac_qt5="no"]) -if test "x$ac_qt4" = "xno"; then - ac_qt5="yes" -fi -if test "x$ac_qt5" = "xyes"; then - ac_qt4="no" -fi # Enable libgig availability. @@ -62,12 +56,37 @@ # Standard installation base dirs. -ac_with_paths="/usr /usr/local" +if test "$cross_compiling" = yes; then + ac_with_paths="" +else + ac_with_paths="/usr /usr/local" +fi -# Set for alternate Qt installation dir. -AC_ARG_WITH(qt, - AC_HELP_STRING([--with-qt=PATH], [use alternate Qt install path]), - [ac_with_paths="$ac_with_paths $withval"]) +# Set for alternate Qt4/5 installation dir. +AC_ARG_WITH(qt4, + AC_HELP_STRING([--with-qt4=PATH], [use alternate Qt4 install path]), + [ac_qt4_path="$withval"], [ac_qt4_path="no"]) + +AC_ARG_WITH(qt5, + AC_HELP_STRING([--with-qt5=PATH], [use alternate Qt5 install path]), + [ac_qt5_path="$withval"], [ac_qt5_path="no"]) + +if test "x$ac_qt4_path" != "xno"; then + ac_with_paths="$ac_with_paths $ac_qt4_path" + ac_qt4="yes" +fi + +if test "x$ac_qt5_path" != "xno"; then + ac_with_paths="$ac_with_paths $ac_qt5_path" + ac_qt5="yes" +fi + +if test "x$ac_qt4" = "xno"; then + ac_qt5="yes" +fi +if test "x$ac_qt5" = "xyes"; then + ac_qt4="no" +fi # Set for alternate liblscp installation dir. AC_ARG_WITH(liblscp, @@ -96,6 +115,7 @@ AC_LANG_C AC_LANG_CPLUSPLUS +PKG_PROG_PKG_CONFIG # Check for proper flags. ac_arch=`uname -m` @@ -157,20 +177,34 @@ fi done - -# Check for proper Qt version. -AC_CACHE_CHECK([for Qt library version >= 4.4], - ac_cv_qtversion, [ - AC_TRY_LINK([#include "QtCore/qglobal.h"], [ -#if QT_VERSION < 0x040400 -#error Qt library 4.4 or greater required. -#endif - ], ac_cv_qtversion="yes", [ - echo "no; Qt 4.4 or greater is required" - exit - ]) -]) - +# Check for proper Qt4/5 version. +if test "x$ac_qt4" = "xyes"; then + AC_CACHE_CHECK([for Qt library version >= 4.4], + ac_cv_qtversion, [ + AC_TRY_LINK([#include "QtCore/qglobal.h"], [ + #if QT_VERSION < 0x040400 + #error Qt library 4.4 or greater required. + #endif + ], ac_cv_qtversion="yes", [ + echo "no; Qt 4.4 or greater is required" + exit 1 + ]) + ]) +fi + +if test "x$ac_qt5" = "xyes"; then + AC_CACHE_CHECK([for Qt library version >= 5.1], + ac_cv_qtversion, [ + AC_TRY_LINK([#include "QtCore/qglobal.h"], [ + #if QT_VERSION < 0x050100 + #error Qt library 5.1 or greater required. + #endif + ], ac_cv_qtversion="yes", [ + echo "no; Qt 5.1 or greater is required" + exit 1 + ]) + ]) +fi # A common error message: ac_errmsg="not found in current PATH. Maybe QT development environment isn't available (qt-devel)." @@ -349,29 +383,15 @@ # Check for optional libraries. if test "x$ac_libgig" = "xyes"; then - AC_CHECK_LIB(gig, main, [ac_libgig="yes"], [ac_libgig="no"]) + PKG_CHECK_MODULES(LIBGIG, gig >= 3.3.0, [ac_libgig="yes"], [ac_libgig="no"]) if test "x$ac_libgig" = "xyes"; then AC_DEFINE(CONFIG_LIBGIG, 1, [Define if libgig is available.]) - ac_libs="$ac_libs -lgig" - AC_MSG_CHECKING([for gig::File::SetAutoLoad() method in libgig]) - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - CXXFLAGS="$ac_libs" - AC_TRY_COMPILE([ -#include -#include - ],[ - gig::File file; - file.SetAutoLoad(false); - ], - have_libgig_setautoload="yes", - have_libgig_setautoload="no" - ) - AC_LANG_RESTORE - AC_MSG_RESULT([$have_libgig_setautoload]) - if test "x$have_libgig_setautoload" = "xyes"; then - AC_DEFINE(HAVE_LIBGIG_SETAUTOLOAD, 1, [Define if libgig provides gig::File::SetAutoLoad() method.]) - fi + AC_SUBST(LIBGIG_CFLAGS) + AC_SUBST(LIBGIG_LIBS) + ac_cflags="$ac_cflags $LIBGIG_CFLAGS" + ac_libs="$ac_libs $LIBGIG_LIBS" + AC_DEFINE(CONFIG_LIBGIG_SETAUTOLOAD, 1, [Define if libgig provides gig::File::SetAutoLoad() method.]) + ac_libgig_setautoload="yes" fi fi @@ -406,6 +426,13 @@ AC_MSG_ERROR([LSCP headers not found.]) fi +if test "x$ac_libgig" = "xyes"; then + AC_CHECK_HEADER(libgig/SF.h, [ac_libgig_sf2="yes"], [ac_libgig_sf2="no"]) + if test "x$ac_libgig_sf2" = "xyes"; then + AC_DEFINE(CONFIG_LIBGIG_SF2, 1, [Define if libgig/SF.h is available.]) + fi +fi + # Checks for typedefs, structures, and compiler characteristics. # AC_C_CONST @@ -435,7 +462,8 @@ echo " LSCP edit instrument support . . . . . . . . . . .: $ac_edit_instrument" echo " GigaSampler instrument file support (libgig) . . .: $ac_libgig" if test "x$ac_libgig" = "xyes"; then -echo " libgig supports fast information retrieval . . . .: $have_libgig_setautoload" +echo " libgig supports fast information retrieval . . . .: $ac_libgig_setautoload" +echo " libgig supports SoundFont2 instruments files . . .: $ac_libgig_sf2" fi echo " LSCP channel MIDI event support . . . . . . . . .: $ac_channel_midi_event" echo " LSCP device MIDI event support . . . . . . . . . .: $ac_device_midi_event"