--- linuxsampler/trunk/configure.in 2008/07/10 15:00:38 1750 +++ linuxsampler/trunk/configure.in 2009/05/10 16:35:12 1899 @@ -5,7 +5,7 @@ LINUXSAMPLER_RELEASE_MAJOR=0 LINUXSAMPLER_RELEASE_MINOR=5 -LINUXSAMPLER_RELEASE_BUILD=1.6cvs +LINUXSAMPLER_RELEASE_BUILD=1.12cvs #------------------------------------------------------------------------------------ # The following is the libtool / shared library version. This doesn't have to @@ -39,19 +39,14 @@ AC_DEFINE_UNQUOTED(LSCP_RELEASE_MINOR, ${LSCP_RELEASE_MINOR}, [LSCP spec minor version this release complies with.]) AC_PROG_CXX +AC_LIBTOOL_WIN32_DLL AM_PROG_LIBTOOL AC_SUBST(SHLIB_VERSION_ARG) AC_SUBST(SHARED_VERSION_INFO) AC_C_BIGENDIAN -AC_CANONICAL_SYSTEM - -AC_SUBST(target) -AC_SUBST(target_alias) -AC_SUBST(target_cpu) -AC_SUBST(target_os) -AC_SUBST(target_vendor) +AC_CANONICAL_HOST PKG_PROG_PKG_CONFIG @@ -60,8 +55,8 @@ AC_MSG_CHECKING([whether x86 architecture]) def_arch_x86=0 -case $target_cpu in - "i386" | "i486" | "i586" | "i686" | "i786") +case $host_cpu in + "i386" | "i486" | "i586" | "i686" | "i786" | "x86_64") echo "yes" def_arch_x86=1;; *) @@ -73,10 +68,10 @@ # (only if the user did not provide one) CXX_CPU_SWITCH= if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then - if test "$def_arch_x86" = 1; then - CXX_CPU_SWITCH="-march=$target_cpu" + if test "$def_arch_x86" = 1 -a "$host_cpu" != "x86_64"; then + CXX_CPU_SWITCH="-march=$host_cpu" elif test "$target_cpu" = "ppc"; then - CXX_CPU_SWITCH="-arch=$target_cpu" + CXX_CPU_SWITCH="-arch=$host_cpu" fi fi AC_SUBST([CXX_CPU_SWITCH]) @@ -85,7 +80,8 @@ AC_CHECK_HEADERS( mmsystem.h, have_windows=1, - have_windows=0 + have_windows=0, + [#include ] ) AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1") @@ -255,6 +251,10 @@ fi AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1") AC_DEFINE_UNQUOTED(HAVE_ALSA,$have_alsa,[Define to 1 if you have ALSA installed.]) +config_have_alsa="no" +if test $have_alsa = "1"; then + config_have_alsa="yes" +fi # JACK AC_ARG_ENABLE(jack-driver, @@ -281,6 +281,10 @@ fi AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1") AC_DEFINE_UNQUOTED(HAVE_JACK,$have_jack,[Define to 1 if you have JACK installed.]) +config_have_jack="no" +if test $have_jack = "1"; then + config_have_jack="yes" +fi # JACK MIDI have_jack_midi=0 @@ -304,6 +308,10 @@ AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1") AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi, [Define to 1 if you have JACK with MIDI support installed.]) +config_have_jack_midi="no" +if test $have_jack_midi = "1"; then + config_have_jack_midi="yes" +fi # ARTS AC_ARG_ENABLE(arts-driver, @@ -326,6 +334,10 @@ fi AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1") AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.]) +config_have_arts="no" +if test $have_arts = "1"; then + config_have_arts="yes" +fi # ASIO AUDIO (Win32) AC_ARG_ENABLE(asiosdk-dir, @@ -365,6 +377,10 @@ AC_SUBST(ASIOSDK_BASEDIR) AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1") AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.]) +config_have_asio="no" +if test $have_asio = "1"; then + config_have_asio="yes" +fi # MidiShare (Linux, OS X, Windows) AC_ARG_ENABLE(midishare-driver, @@ -391,6 +407,10 @@ fi AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1") AC_DEFINE_UNQUOTED(HAVE_MIDISHARE,$have_midishare,[Define to 1 if you have MidiShare installed.]) +config_have_midishare="no" +if test $have_midishare = "1"; then + config_have_midishare="yes" +fi # CoreMIDI (OS X) AC_ARG_ENABLE(coremidi-driver, @@ -413,6 +433,36 @@ fi AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1") AC_DEFINE_UNQUOTED(HAVE_COREMIDI,$have_coremidi,[Define to 1 if you have CoreMIDI installed.]) +config_have_coremidi="no" +if test $have_coremidi = "1"; then + config_have_coremidi="yes" +fi + +# CoreAudio (OS X) +AC_ARG_ENABLE(coreaudio-driver, + [ --disable-coreaudio-driver + Disable support for the Apple CoreAudio system.], + [config_coreaudio_driver="$enableval"], + [config_coreaudio_driver="yes"] +) +have_coreaudio=0 +if test "$config_coreaudio_driver" = "yes"; then + AC_CHECK_HEADER(CoreAudio/CoreAudio.h, + have_coreaudio=1, + have_coreaudio=0 + ) + if test "$have_coreaudio" = "1"; then + have_audio_output_driver="true" + fi +else + echo "CoreAudio support disabled by configure script parameter" +fi +AM_CONDITIONAL(HAVE_COREAUDIO, test $have_coreaudio = "1") +AC_DEFINE_UNQUOTED(HAVE_COREAUDIO,$have_coreaudio,[Define to 1 if you have CoreAudio installed.]) +config_have_coreaudio="no" +if test $have_coreaudio = "1"; then + config_have_coreaudio="yes" +fi # MME MIDI (Win32) AC_ARG_ENABLE(mmemidi-driver, @@ -435,6 +485,47 @@ fi AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1") AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.]) +config_have_mme="no" +if test $have_mmemidi = "1"; then + config_have_mme="yes" +fi + +# DSSI +AC_CHECK_HEADERS(dssi.h, + config_have_dssi="yes", + config_have_dssi="no") +AM_CONDITIONAL(HAVE_DSSI, test $config_have_dssi = "yes") + +# LV2 +PKG_CHECK_MODULES(LV2, lv2core, config_have_lv2="yes", config_have_lv2="no") +if test $config_have_lv2 = "no"; then + AC_CHECK_HEADER(lv2.h, config_have_lv2="yes", config_have_lv2="no") +fi +AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes") + +# VST +AC_ARG_ENABLE(vstsdk-dir, + [ --enable-vstsdk-dir + Directory where the VST SDK is located. + This automatically enables the compilation + of the VST plugin.], + [VSTSDK_DIR="${enableval}"], + [VSTSDK_DIR=] +) +AC_SUBST(VSTSDK_DIR) +AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x") +config_have_vst="no" +if test "x$VSTSDK_DIR" != "x"; then + config_have_vst="yes" +fi + +# AU +AC_CHECK_HEADERS(AudioUnit/AudioUnit.h, + config_have_au="yes", + config_have_au="no") +AM_CONDITIONAL(HAVE_AU, test $config_have_au = "yes") +AM_CONDITIONAL(HAVE_AUFLAGS, test "$AUFLAGS" != "") + # have we found at least one MIDI input and one audio output driver ? if test "$have_midi_input_driver" = "false"; then @@ -681,23 +772,25 @@ AC_ARG_ENABLE(max-streams, [ --enable-max-streams - Maximum amount of disk streams (default=90). This - value should always be higher than the maximum - amount of voices.], + Initial maximum amount of disk streams + (default=90). This value can be changed at + runtime. It should always be higher than the + maximum amount of voices.], [config_max_streams="${enableval}"], [config_max_streams="90"] ) -AC_DEFINE_UNQUOTED(CONFIG_MAX_STREAMS, $config_max_streams, [Define max. streams.]) +AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_MAX_STREAMS, $config_max_streams, [Define initial max. streams.]) AC_ARG_ENABLE(max-voices, [ --enable-max-voices - Maximum amount of voices (default=64). This value - should always be lower than the maximum amount of - disk streams.], + Initial maximum amount of voices (default=64). + This value can be changed at runtime. It should + always be lower than the maximum amount of disk + streams.], [config_max_voices="${enableval}"], [config_max_voices="64"] ) -AC_DEFINE_UNQUOTED(CONFIG_MAX_VOICES, $config_max_voices, [Define max. voices.]) +AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_MAX_VOICES, $config_max_voices, [Define initial max. voices.]) AC_ARG_ENABLE(subfragment-size, [ --enable-subfragment-size @@ -999,6 +1092,22 @@ AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.]) fi +AC_ARG_ENABLE(master-volume-sysex-by-port, + [ --enable-master-volume-sysex-by-port + Whether global volume sysex message should be + applied globally to the whole sampler or only to + the sampler channels connected to the same MIDI + input port on which the sysex message arrived on. + By default global volume sysex messages apply + globally to the whole sampler, since many MIDI + devices behave that way.], + [config_master_volume_sysex_by_port="$enableval"], + [config_master_volume_sysex_by_port="no"] +) +if test "$config_master_volume_sysex_by_port" = "yes"; then + AC_DEFINE_UNQUOTED(CONFIG_MASTER_VOLUME_SYSEX_BY_PORT, 1, [Define to 1 if you want global volume sysex message only be applied to the respective MIDI port.]) +fi + AC_ARG_ENABLE(plugin-dir, [ --enable-plugin-dir Directory where the sampler shall look for potential plugins, @@ -1126,13 +1235,6 @@ AC_LANG_CPLUSPLUS -# some gcc 4.0 versions need -msse for SSE register allocations -if test "$config_asm" = "yes"; then - if test "$def_arch_x86" = 1; then - CXXFLAGS="$CXXFLAGS -msse" - fi -fi - # autoconf 2.59/libtool 1.5.12 bug? work-around. Without a check like # this, the dlfcn.h check in am_prog_libtool may fail. AC_CHECK_HEADER(stdlib.h) @@ -1154,6 +1256,11 @@ src/drivers/audio/Makefile \ src/drivers/midi/Makefile \ src/plugins/Makefile \ + src/hostplugins/Makefile \ + src/hostplugins/dssi/Makefile \ + src/hostplugins/lv2/Makefile \ + src/hostplugins/vst/Makefile \ + src/hostplugins/au/Makefile \ linuxsampler.spec \ debian/Makefile \ Artwork/Makefile \ @@ -1181,6 +1288,9 @@ echo "#####################################################################" echo "# LinuxSampler Configuration #" echo "#-------------------------------------------------------------------#" +echo "# Release Version: ${LINUXSAMPLER_RELEASE_MAJOR}.${LINUXSAMPLER_RELEASE_MINOR}.${LINUXSAMPLER_RELEASE_BUILD}" +echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}" +echo "#-------------------------------------------------------------------" echo "# Assembly Optimizations: ${config_asm}" echo "# Development Mode: ${config_dev_mode}" echo "# Debug Level: ${config_debug_level}" @@ -1194,8 +1304,8 @@ echo "# Minimum Stream Refill Size: ${config_stream_min_refill}" echo "# Maximum Stream Refill Size: ${config_stream_max_refill}" echo "# Stream Size: ${config_stream_size}" -echo "# Maximum Disk Streams: ${config_max_streams}" -echo "# Maximum Voices: ${config_max_voices}" +echo "# Default Maximum Disk Streams: ${config_max_streams}" +echo "# Default Maximum Voices: ${config_max_voices}" echo "# Default Subfragment Size: ${config_subfragment_size}" echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}" echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}" @@ -1214,12 +1324,22 @@ echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}" echo "# Process Muted Channels: ${config_process_muted_channels}" echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}" +echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}" echo "# Interpolate Volume: ${config_interpolate_volume}" echo "# Instruments database support: ${config_instruments_db}" if test "$config_instruments_db" = "yes"; then echo "# Instruments DB default location: ${config_default_instruments_db_file}" fi echo "# Plugin Path: ${config_plugin_dir}" +echo "#-------------------------------------------------------------------" +echo "# MIDI Input Drivers:" +echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}" +echo "#-------------------------------------------------------------------" +echo "# Audio Output Drivers:" +echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}" +echo "#-------------------------------------------------------------------" +echo "# Building sampler as plugin for following host standards:" +echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}" echo "#-------------------------------------------------------------------#" echo "# Read './configure --help' or file 'configure.in' for details. #" echo "#####################################################################"