--- linuxsampler/trunk/configure.in 2008/07/10 15:00:38 1750 +++ linuxsampler/trunk/configure.in 2010/01/27 20:29:36 2053 @@ -3,9 +3,9 @@ #------------------------------------------------------------------------------------ # LinuxSampler's / liblinuxsampler's "official" release version: -LINUXSAMPLER_RELEASE_MAJOR=0 -LINUXSAMPLER_RELEASE_MINOR=5 -LINUXSAMPLER_RELEASE_BUILD=1.6cvs +LINUXSAMPLER_RELEASE_MAJOR=1 +LINUXSAMPLER_RELEASE_MINOR=0 +LINUXSAMPLER_RELEASE_BUILD=0.cvs3 #------------------------------------------------------------------------------------ # The following is the libtool / shared library version. This doesn't have to @@ -24,44 +24,41 @@ # 6. If any interfaces have been removed since the last public release, then set age # to 0. -LIBLINUXSAMPLER_LT_CURRENT=2 +LIBLINUXSAMPLER_LT_CURRENT=3 LIBLINUXSAMPLER_LT_REVISION=0 -LIBLINUXSAMPLER_LT_AGE=1 +LIBLINUXSAMPLER_LT_AGE=0 SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT_CURRENT:$LIBLINUXSAMPLER_LT_REVISION:$LIBLINUXSAMPLER_LT_AGE" #------------------------------------------------------------------------------------ # the LSCP specification version this LinuSampler release complies with: LSCP_RELEASE_MAJOR=1 -LSCP_RELEASE_MINOR=4 +LSCP_RELEASE_MINOR=5 AC_DEFINE_UNQUOTED(LSCP_RELEASE_MAJOR, ${LSCP_RELEASE_MAJOR}, [LSCP spec major version this release complies with.]) 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 ########################################################################### # General Checks +AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes) + 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 +70,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 +82,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 +253,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 +283,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 +310,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 +336,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 +379,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 +409,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 +435,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 +487,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 @@ -458,7 +551,7 @@ # Checks for various DLL libraries # Check presence of libgig -libgig_version="3.2.1" +libgig_version="3.3.0" PKG_CHECK_MODULES(GIG, gig >= $libgig_version, HAVE_GIG=true, HAVE_GIG=false) if test "$HAVE_GIG" = "false"; then echo "Required libgig version not found!" @@ -470,6 +563,40 @@ AC_SUBST(GIG_CFLAGS) AC_SUBST(GIG_LIBS) +# SF2 Engine (requires libgig) +AC_ARG_ENABLE(sf2-engine, + [ --disable-sf2-engine + Disable compilation of the SF2 engine. + You need to have libgig installed.], + [config_sf2_engine="$enableval"], + [config_sf2_engine="yes"] +) +HAVE_SF2=0; +if test "$config_sf2_engine" = "yes"; then + HAVE_SF2=1 +else + echo "SF2 engine disabled by configure script parameter" +fi +AM_CONDITIONAL(HAVE_SF2, test $HAVE_SF2 = 1) +AC_DEFINE_UNQUOTED(HAVE_SF2,$HAVE_SF2,[Define to 1 if you want SF2 engine and have libsf2 installed.]) +config_have_sf2="no" +if test $HAVE_SF2 = "1"; then + config_have_sf2="yes" +fi + +# Check presence of libsndfile +libsndfile_version="1.0" +PKG_CHECK_MODULES(SNDFILE, sndfile >= $libsndfile_version, HAVE_SNDFILE=true, HAVE_SNDFILE=false) +if test "$HAVE_SNDFILE" = "false"; then + echo "Required libsndfile version not found!" + echo "You need to have libsndfile version ${libsndfile_version} installed!" + exit -1; +else + echo "yes, found libsndfile $libsndfile_version" +fi +AC_SUBST(SNDFILE_CFLAGS) +AC_SUBST(SNDFILE_LIBS) + # Instruments DB feature (requires SQLite 3.3) AC_ARG_ENABLE(instruments-db, [ --disable-instruments-db @@ -681,23 +808,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 +1128,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 +1271,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) @@ -1146,6 +1284,8 @@ src/network/Makefile \ src/engines/Makefile \ src/engines/gig/Makefile \ + src/engines/sf2/Makefile \ + src/engines/sfz/Makefile \ src/engines/common/Makefile \ src/effects/Makefile \ src/common/Makefile \ @@ -1154,6 +1294,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 +1326,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 +1342,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 +1362,25 @@ 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 "# Sampler Engines:" +echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes" +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 "#####################################################################"