--- qsampler/trunk/configure.ac 2007/11/21 19:57:18 1506 +++ qsampler/trunk/configure.ac 2010/04/13 07:16:54 2083 @@ -1,9 +1,9 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(Qsampler, 0.2.0.9, rncbc@rncbc.org, qsampler) +AC_INIT(Qsampler, 0.2.2.21, rncbc@rncbc.org, qsampler) -AC_CONFIG_SRCDIR(src/qsamplerMainForm.ui) -AC_CONFIG_HEADERS(config.h) -AC_CONFIG_FILES(Makefile qsampler.pro qsampler.spec qsampler.desktop) +AC_CONFIG_SRCDIR(src/qsampler.cpp) +AC_CONFIG_HEADERS(src/config.h) +AC_CONFIG_FILES(Makefile qsampler.spec src/src.pri src/qsampler.desktop) # Set default installation prefix. AC_PREFIX_DEFAULT(/usr/local) @@ -21,8 +21,10 @@ if test "x$ac_debug" = "xyes"; then AC_DEFINE(CONFIG_DEBUG, 1, [Define if debugging is enabled.]) + ac_stacktrace="yes" ac_debug="debug" else + ac_stacktrace="no" ac_debug="release" fi AC_SUBST(ac_debug) @@ -33,11 +35,17 @@ [ac_libgig="$enableval"], [ac_libgig="yes"]) +# Enable debugger stack-trace option (assumes --enable-debug). +AC_ARG_ENABLE(stacktrace, + AC_HELP_STRING([--enable-stacktrace], [enable debugger stack-trace (default=no)]), + [ac_stacktrace="$enableval"]) + + # Standard installation base dirs. ac_with_paths="/usr /usr/local" # Some a-la-debian alternatives... -for X in /usr/lib /usr/share; do +for X in /usr/lib /usr/lib64 /usr/share; do for Y in qt qt4; do if test -d $X/$Y/bin; then ac_with_paths="$ac_with_paths $X/$Y" @@ -104,13 +112,12 @@ # Check for proper Qt version. AC_CACHE_CHECK([for Qt library version >= 4.1], - ac_qtlib_version, [ + ac_cv_qtversion, [ AC_TRY_LINK([#include "Qt/qglobal.h"], [ #if QT_VERSION < 0x040100 #error Qt library 4.1 or greater required. #endif - ], - ac_qtlib_version="yes", [ + ], ac_cv_qtversion="yes", [ echo "no; Qt 4.1 or greater is required" exit ]) @@ -140,6 +147,20 @@ fi AC_SUBST(ac_uic) +# Check for Qt lupdate utility. +AC_PATH_PROG(ac_lupdate, lupdate, [no], $ac_path) +if test "x$ac_lupdate" = "xno"; then + AC_MSG_ERROR([lupdate $ac_errmsg]) +fi +AC_SUBST(ac_lupdate) + +# Check for Qt lrelease utility. +AC_PATH_PROG(ac_lrelease, lrelease, [no], $ac_path) +if test "x$ac_release" = "xno"; then + AC_MSG_ERROR([lrelease $ac_errmsg]) +fi +AC_SUBST(ac_lrelease) + # Checks for libraries. AC_CHECK_LIB(m, main) AC_CHECK_LIB(X11, main) @@ -159,24 +180,26 @@ ac_libs="$ac_libs -llscp" AC_CACHE_CHECK([for instrument_name in lscp_channel_info_t], - ac_instrument_name, [ + ac_cv_instrument_name, [ AC_TRY_COMPILE([#include "lscp/client.h"], [ lscp_channel_info_t info; info.instrument_name = 0; - ], ac_instrument_name="yes", ac_instrument_name="no") + ], ac_cv_instrument_name="yes", ac_cv_instrument_name="no") ]) +ac_instrument_name=$ac_cv_instrument_name if test "x$ac_instrument_name" = "xyes"; then AC_DEFINE(CONFIG_INSTRUMENT_NAME, 1, [Define if instrument_name is available.]) fi AC_CACHE_CHECK([for mute/solo in lscp_channel_info_t], - ac_mute_solo, [ + ac_cv_mute_solo, [ AC_TRY_COMPILE([#include "lscp/client.h"], [ lscp_channel_info_t info; info.mute = 0; info.solo = 0; - ], ac_mute_solo="yes", ac_mute_solo="no") + ], ac_cv_mute_solo="yes", ac_cv_mute_solo="no") ]) +ac_mute_solo=$ac_cv_mute_solo if test "x$ac_mute_solo" = "xyes"; then AC_CHECK_LIB(lscp, lscp_set_channel_mute, [ac_mute_solo="yes"], [ac_mute_solo="no"]) fi @@ -196,24 +219,30 @@ 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_cv_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") + ], ac_cv_fxsend_level="yes", ac_cv_fxsend_level="no") ]) + ac_fxsend_level=$ac_cv_fxsend_level 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_cv_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") + ], ac_cv_audio_routing="no", ac_cv_audio_routing="yes") ]) +ac_audio_routing=$ac_cv_audio_routing if test "x$ac_audio_routing" = "xyes"; then AC_DEFINE(CONFIG_AUDIO_ROUTING, 1, [Define if audio_routing is an integer array.]) fi @@ -228,12 +257,69 @@ 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_cv_channel_midi_event, [ + AC_TRY_COMPILE([ + #include "lscp/client.h" + #include "lscp/event.h" + ], [ + lscp_event_t ev; + ev = LSCP_EVENT_CHANNEL_MIDI; + ], ac_cv_channel_midi_event="yes", ac_cv_channel_midi_event="no") +]) +ac_channel_midi_event=$ac_cv_channel_midi_event +if test "x$ac_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_cv_device_midi_event, [ + AC_TRY_COMPILE([ + #include "lscp/client.h" + #include "lscp/event.h" + ], [ + lscp_event_t ev; + ev = LSCP_EVENT_DEVICE_MIDI; + ], ac_cv_device_midi_event="yes", ac_cv_device_midi_event="no") +]) +ac_device_midi_event=$ac_cv_device_midi_event +if test "x$ac_device_midi_event" = "xyes"; then + AC_DEFINE(CONFIG_EVENT_DEVICE_MIDI, 1, [Define if LSCP DEVICE_MIDI event support is available.]) +fi + +AC_CHECK_LIB(lscp, lscp_get_voices, [ac_max_voices="yes"], [ac_max_voices="no"]) +if test "x$ac_max_voices" = "xyes"; then + AC_DEFINE(CONFIG_MAX_VOICES, 1, [Define if max. voices / streams 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 @@ -243,6 +329,11 @@ AC_DEFINE(CONFIG_ROUND, 1, [Define if round is available.]) fi +# Check for debugging stack-trace. +if test "x$ac_stacktrace" = "xyes"; then + AC_DEFINE(CONFIG_STACKTRACE, 1, [Define if debugger stack-trace is enabled.]) +fi + AC_SUBST(ac_libs) AC_SUBST(ac_incpath) @@ -279,10 +370,19 @@ 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_channel_midi_event" +echo " LSCP device MIDI event support . . . . . . . . . .: $ac_device_midi_event" +echo " LSCP runtime max. voices / disk streams support .: $ac_max_voices" +echo +echo " Debugger stack-trace (gdb) . . . . . . . . . . . .: $ac_stacktrace" echo echo " Install prefix . . . . . . . . . . . . . . . . . .: $ac_prefix" echo