--- qsampler/trunk/configure.ac 2006/06/01 08:41:42 870 +++ qsampler/trunk/configure.ac 2008/02/26 16:00:00 1710 @@ -1,8 +1,9 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(Qsampler, 0.1.3, rncbc@rncbc.org, qsampler) -AC_CONFIG_SRCDIR(src/qsamplerMainForm.ui.h) +AC_INIT(Qsampler, 0.2.1.13, rncbc@rncbc.org, qsampler) + +AC_CONFIG_SRCDIR(src/qsamplerMainForm.ui) AC_CONFIG_HEADERS(config.h) -AC_CONFIG_FILES(Makefile qsampler.pro qsampler.spec) +AC_CONFIG_FILES(Makefile qsampler.pro qsampler.spec qsampler.desktop) # Set default installation prefix. AC_PREFIX_DEFAULT(/usr/local) @@ -16,20 +17,39 @@ # Enable debugging argument option. AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [enable debugging (default=no)]), - [ac_debug="debug"], - [ac_debug="release"]) -AC_SUBST(ac_debug) + [ac_debug="$enableval"]) -if test "x$ac_debug" = "xdebug"; then +if test "x$ac_debug" = "xyes"; then AC_DEFINE(CONFIG_DEBUG, 1, [Define if debugging is enabled.]) + ac_debug="debug" +else + ac_debug="release" fi +AC_SUBST(ac_debug) # Enable libgig availability. AC_ARG_ENABLE(libgig, - AC_HELP_STRING([--disable-libgig], [disable libgig interface (default=no)]), - [ac_libgig="no"], + AC_HELP_STRING([--enable-libgig], [enable libgig interface (default=yes)]), + [ac_libgig="$enableval"], [ac_libgig="yes"]) +# Standard installation base dirs. +ac_with_paths="/usr /usr/local" + +# Some a-la-debian alternatives... +for X in /usr/lib /usr/share; do + for Y in qt qt4; do + if test -d $X/$Y/bin; then + ac_with_paths="$ac_with_paths $X/$Y" + fi + done +done + +# 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 liblscp installation dir. AC_ARG_WITH(liblscp, AC_HELP_STRING([--with-liblscp=PATH], [use alternate liblscp install path]), @@ -52,96 +72,71 @@ AC_LANG_CPLUSPLUS # Prepend alternate dependencies paths. +ac_path=$PATH for X in $ac_with_paths; do + if test -d $X/bin; then + ac_path="$X/bin:$ac_path" + fi + if test -x $X/qmake; then + ac_path="$X:$ac_path" + fi if test -d $X/include; then - CFLAGS="$CFLAGS -I$X/include" - CPPFLAGS="$CPPFLAGS -I$X/include" + for Y in qt qt4; do + if test -d $X/include/$Y; then + CFLAGS="-I$X/include/$Y $CFLAGS" + CPPFLAGS="-I$X/include/$Y $CPPFLAGS" + ac_incpath="$X/include/$Y $ac_incpath" + fi + done + CFLAGS="-I$X/include $CFLAGS" + CPPFLAGS="-I$X/include $CPPFLAGS" ac_incpath="$X/include $ac_incpath" fi if test -d $X/lib64; then - LIBS="$LIBS -L$X/lib64" - ac_libs="$ac_libs -L$X/lib64" + LIBS="-L$X/lib64 $LIBS" + ac_libs="-L$X/lib64 $ac_libs" fi if test -d $X/lib; then - LIBS="$LIBS -L$X/lib" + LIBS="-L$X/lib $LIBS" ac_libs="-L$X/lib $ac_libs" fi done -# Check for QTDIR environment variable. -AC_MSG_CHECKING([whether QTDIR environment variable is set]) -if test "x$QTDIR" = "x"; then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([QTDIR must be properly set.]) -else - AC_MSG_RESULT([$QTDIR]) -fi - -CFLAGS="$CFLAGS -I$QTDIR/include" -CPPFLAGS="$CPPFLAGS -I$QTDIR/include" -if test -d $QTDIR/lib64; then - LIBS="$LIBS -L$QTDIR/lib64" -else - LIBS="$LIBS -L$QTDIR/lib" -fi -for X in qt qt3; do - if test -d $QTDIR/include/$X; then - CFLAGS="$CFLAGS -I$QTDIR/include/$X" - CPPFLAGS="$CPPFLAGS -I$QTDIR/include/$X" - fi -done - -# Checks for Qt library. -for X in qt-mt qt; do - if test "x$ac_qtlib" = "x"; then - AC_CHECK_LIB($X, main, [ac_qtlib=$X]) - fi -done -if test "x$ac_qtlib" = "x"; then - AC_MSG_ERROR([Qt library not found. Maybe QTDIR isn't properly set.]) -fi -AC_SUBST(ac_qtlib) - -# Check for Qt multi-thread support. -if test "x$ac_qtlib" = "xqt-mt"; then - ac_thread="thread" -fi -AC_SUBST(ac_thread) - -AC_CACHE_CHECK([for Qt library version >= 3.1.1], +# Check for proper Qt version. +AC_CACHE_CHECK([for Qt library version >= 4.1], ac_qtlib_version, [ - AC_TRY_LINK([#include "qglobal.h"], [ -#if QT_VERSION < 0x030101 -#error Qt library 3.1.1 or greater required. + AC_TRY_LINK([#include "Qt/qglobal.h"], [ +#if QT_VERSION < 0x040100 +#error Qt library 4.1 or greater required. #endif ], ac_qtlib_version="yes", [ - echo "no; Qt 3.1.1 or greater is required" + echo "no; Qt 4.1 or greater is required" exit ]) ]) # A common error message: -ac_qtdir_errmsg="not found in current PATH. Maybe QT development environment isn't available (qt3-devel)." +ac_errmsg="not found in current PATH. Maybe QT development environment isn't available (qt-devel)." # Check for Qt qmake utility. -AC_PATH_PROG(ac_qmake, qmake, [no], $QTDIR/bin:${PATH}) +AC_PATH_PROG(ac_qmake, qmake, [no], $ac_path) if test "x$ac_qmake" = "xno"; then - AC_MSG_ERROR([qmake $ac_qtdir_errmsg]) + AC_MSG_ERROR([qmake $ac_errmsg]) fi AC_SUBST(ac_qmake) # Check for Qt moc utility. -AC_PATH_PROG(ac_moc, moc, [no], $QTDIR/bin:${PATH}) +AC_PATH_PROG(ac_moc, moc, [no], $ac_path) if test "x$ac_moc" = "xno"; then - AC_MSG_ERROR([moc $ac_qtdir_errmsg]) + AC_MSG_ERROR([moc $ac_errmsg]) fi AC_SUBST(ac_moc) # Check for Qt uic utility. -AC_PATH_PROG(ac_uic, uic, [no], $QTDIR/bin:${PATH}) +AC_PATH_PROG(ac_uic, uic, [no], $ac_path) if test "x$ac_uic" = "xno"; then - AC_MSG_ERROR([uic $ac_qtdir_errmsg]) + AC_MSG_ERROR([uic $ac_errmsg]) fi AC_SUBST(ac_uic) @@ -149,7 +144,6 @@ AC_CHECK_LIB(m, main) AC_CHECK_LIB(X11, main) AC_CHECK_LIB(Xext, main) -AC_CHECK_LIB($ac_qtlib, main) # Check for round math function. AC_CHECK_LIB(m, round, [ac_round="yes"], [ac_round="no"]) @@ -193,15 +187,116 @@ AC_DEFINE(CONFIG_MUTE_SOLO, 1, [Define if mute/solo is available.]) fi +AC_CHECK_LIB(lscp, lscp_map_midi_instrument, [ac_midi_instrument="yes"], [ac_midi_instrument="no"]) +if test "x$ac_midi_instrument" = "xyes"; then + AC_DEFINE(CONFIG_MIDI_INSTRUMENT, 1, [Define if MIDI instrument mapping is available.]) +fi + +AC_CHECK_LIB(lscp, lscp_create_fxsend, [ac_fxsend="yes"], [ac_fxsend="no"]) +if test "x$ac_fxsend" = "xyes"; then + AC_DEFINE(CONFIG_FXSEND, 1, [Define if FX sends is available.]) + AC_CACHE_CHECK([for FX send level in lscp_fxsend_info_t], + ac_fxsend_level, [ + AC_TRY_COMPILE([#include "lscp/client.h"], [ + lscp_fxsend_info_t info; + info.level = 0.0f; + ], ac_fxsend_level="yes", ac_fxsend_level="no") + ]) + if test "x$ac_fxsend_level" = "xyes"; then + AC_DEFINE(CONFIG_FXSEND_LEVEL, 1, [Define if FX send level is available.]) + fi + AC_CHECK_LIB(lscp, lscp_set_fxsend_name, [ac_fxsend_rename="yes"], [ac_fxsend_rename="no"]) + if test "x$ac_fxsend_rename" = "xyes"; then + AC_DEFINE(CONFIG_FXSEND_RENAME, 1, [Define if FX send rename is available.]) + fi +fi + +AC_CACHE_CHECK([for audio_routing array type], + ac_audio_routing, [ + AC_TRY_COMPILE([#include "lscp/client.h"], [ + lscp_channel_info_t info; + char ch = info.audio_routing[0][0]; + ], ac_audio_routing="no", ac_audio_routing="yes") +]) +if test "x$ac_audio_routing" = "xyes"; then + AC_DEFINE(CONFIG_AUDIO_ROUTING, 1, [Define if audio_routing is an integer array.]) +fi + +AC_CHECK_LIB(lscp, lscp_set_volume, [ac_volume="yes"], [ac_volume="no"]) +if test "x$ac_volume" = "xyes"; then + AC_DEFINE(CONFIG_VOLUME, 1, [Define if global volume is available.]) +fi + +AC_CHECK_LIB(lscp, lscp_edit_channel_instrument, [ac_edit_instrument="yes"], [ac_edit_instrument="no"]) +if test "x$ac_edit_instrument" = "xyes"; then + AC_DEFINE(CONFIG_EDIT_INSTRUMENT, 1, [Define if instrument editing is available.]) +fi + +AC_CACHE_CHECK([for CHANNEL_MIDI LSCP event support in liblscp], + ac_lscp_channel_midi_event, [ + AC_TRY_COMPILE([ + #include "lscp/client.h" + #include "lscp/event.h" + ], [ + lscp_event_t ev; + ev = LSCP_EVENT_CHANNEL_MIDI; + ], ac_lscp_channel_midi_event="yes", ac_lscp_channel_midi_event="no") +]) +if test "x$ac_lscp_channel_midi_event" = "xyes"; then + AC_DEFINE(CONFIG_EVENT_CHANNEL_MIDI, 1, [Define if LSCP CHANNEL_MIDI event support is available.]) +fi + +AC_CACHE_CHECK([for DEVICE_MIDI LSCP event support in liblscp], + ac_lscp_device_midi_event, [ + AC_TRY_COMPILE([ + #include "lscp/client.h" + #include "lscp/event.h" + ], [ + lscp_event_t ev; + ev = LSCP_EVENT_DEVICE_MIDI; + ], ac_lscp_device_midi_event="yes", ac_lscp_device_midi_event="no") +]) +if test "x$ac_lscp_device_midi_event" = "xyes"; then + AC_DEFINE(CONFIG_EVENT_DEVICE_MIDI, 1, [Define if LSCP DEVICE_MIDI event support is available.]) +fi + # Check for optional libraries. if test "x$ac_libgig" = "xyes"; then AC_CHECK_LIB(gig, main, [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_RUN([ +#include +#include +int main() { + gig::File file; + file.SetAutoLoad(false); + exit(0); +} + ], + have_libgig_setautoload="yes", + have_libgig_setautoload="no", + 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 fi fi +# Check for round math function. +AC_CHECK_LIB(m, lroundf, [ac_round="yes"], [ac_round="no"]) +if test "x$ac_round" = "xyes"; then + AC_DEFINE(CONFIG_ROUND, 1, [Define if round is available.]) +fi + AC_SUBST(ac_libs) AC_SUBST(ac_incpath) @@ -226,6 +321,30 @@ # make clean > /dev/null 2>&1 -echo "" +# Output summary message + +echo +echo " $PACKAGE_NAME $PACKAGE_VERSION" +echo +echo " Build target . . . . . . . . . . . . . . . . . . .: $ac_debug" +echo +echo " LSCP instrument name support . . . . . . . . . . .: $ac_instrument_name" +echo " LSCP mute/solo support . . . . . . . . . . . . . .: $ac_mute_solo" +echo " LSCP MIDI instrument support . . . . . . . . . . .: $ac_midi_instrument" +echo " LSCP FX send support . . . . . . . . . . . . . . .: $ac_fxsend" +echo " LSCP FX send level support . . . . . . . . . . . .: $ac_fxsend_level" +echo " LSCP FX send rename support . . . . . . . . . . .: $ac_fxsend_rename" +echo " LSCP audio routing support . . . . . . . . . . . .: $ac_audio_routing" +echo " LSCP volume support . . . . . . . . . . . . . . .: $ac_volume" +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" +fi +echo " LSCP channel MIDI event support . . . . . . . . .: $ac_lscp_channel_midi_event" +echo " LSCP device MIDI event support . . . . . . . . . .: $ac_lscp_device_midi_event" +echo +echo " Install prefix . . . . . . . . . . . . . . . . . .: $ac_prefix" +echo echo "Now type 'make', followed by 'make install' as root." -echo "" +echo