/[svn]/linuxsampler/trunk/configure.ac
ViewVC logotype

Diff of /linuxsampler/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1432 by schoenebeck, Mon Oct 15 12:14:13 2007 UTC revision 1777 by persson, Mon Sep 15 16:58:10 2008 UTC
# Line 5  AC_INIT(configure.in) Line 5  AC_INIT(configure.in)
5    
6  LINUXSAMPLER_RELEASE_MAJOR=0  LINUXSAMPLER_RELEASE_MAJOR=0
7  LINUXSAMPLER_RELEASE_MINOR=5  LINUXSAMPLER_RELEASE_MINOR=5
8  LINUXSAMPLER_RELEASE_BUILD=0  LINUXSAMPLER_RELEASE_BUILD=1.7cvs
9    
10  #------------------------------------------------------------------------------------  #------------------------------------------------------------------------------------
11  # The following is the libtool / shared library version. This doesn't have to  # The following is the libtool / shared library version. This doesn't have to
# Line 24  LINUXSAMPLER_RELEASE_BUILD=0 Line 24  LINUXSAMPLER_RELEASE_BUILD=0
24  #  6. If any interfaces have been removed since the last public release, then set age  #  6. If any interfaces have been removed since the last public release, then set age
25  #     to 0.  #     to 0.
26    
27  LIBLINUXSAMPLER_LT_CURRENT=1  LIBLINUXSAMPLER_LT_CURRENT=2
28  LIBLINUXSAMPLER_LT_REVISION=0  LIBLINUXSAMPLER_LT_REVISION=0
29  LIBLINUXSAMPLER_LT_AGE=0  LIBLINUXSAMPLER_LT_AGE=1
30  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT_CURRENT:$LIBLINUXSAMPLER_LT_REVISION:$LIBLINUXSAMPLER_LT_AGE"  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT_CURRENT:$LIBLINUXSAMPLER_LT_REVISION:$LIBLINUXSAMPLER_LT_AGE"
31    
32  #------------------------------------------------------------------------------------  #------------------------------------------------------------------------------------
33  # the LSCP specification version this LinuSampler release complies with:  # the LSCP specification version this LinuSampler release complies with:
34    
35  LSCP_RELEASE_MAJOR=1  LSCP_RELEASE_MAJOR=1
36  LSCP_RELEASE_MINOR=2  LSCP_RELEASE_MINOR=4
37    
38  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MAJOR, ${LSCP_RELEASE_MAJOR}, [LSCP spec major version this release complies with.])  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MAJOR, ${LSCP_RELEASE_MAJOR}, [LSCP spec major version this release complies with.])
39  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MINOR, ${LSCP_RELEASE_MINOR}, [LSCP spec minor version this release complies with.])  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MINOR, ${LSCP_RELEASE_MINOR}, [LSCP spec minor version this release complies with.])
40    
41    AC_PROG_CXX
42    AC_LIBTOOL_WIN32_DLL
43  AM_PROG_LIBTOOL  AM_PROG_LIBTOOL
44    
45  AC_SUBST(SHLIB_VERSION_ARG)  AC_SUBST(SHLIB_VERSION_ARG)
# Line 52  AC_SUBST(target_cpu) Line 54  AC_SUBST(target_cpu)
54  AC_SUBST(target_os)  AC_SUBST(target_os)
55  AC_SUBST(target_vendor)  AC_SUBST(target_vendor)
56    
57    PKG_PROG_PKG_CONFIG
58    
59  ###########################################################################  ###########################################################################
60  # General Checks  # General Checks
# Line 79  if ! echo "X $CXXFLAGS " | grep -q -- " Line 82  if ! echo "X $CXXFLAGS " | grep -q -- "
82  fi  fi
83  AC_SUBST([CXX_CPU_SWITCH])  AC_SUBST([CXX_CPU_SWITCH])
84    
85    # check if we're on MS Windows
86    AC_CHECK_HEADERS(
87        mmsystem.h,
88        have_windows=1,
89        have_windows=0
90    )
91    AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")
92    
93  AC_MSG_CHECKING([whether UNIX98 compatible])  AC_MSG_CHECKING([whether UNIX98 compatible])
94  AC_LANG_SAVE  AC_LANG_SAVE
95  AC_LANG_C  AC_LANG_C
# Line 101  have_unix98="no" Line 112  have_unix98="no"
112  )  )
113  AC_LANG_RESTORE  AC_LANG_RESTORE
114  AC_MSG_RESULT([$have_unix98])  AC_MSG_RESULT([$have_unix98])
115  if test "$have_unix98" = "no"; then  if test "$have_unix98" = "no" -a "have_windows" = "0"; then
116      if test "x$HAVE_UNIX98" = "x"; then      if test "x$HAVE_UNIX98" = "x"; then
117          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"
118          echo "pthread_mutexattr_settype() call in Mutex.cpp. You may want to run          echo "pthread_mutexattr_settype() call in Mutex.cpp. You may want to run
# Line 114  fi Line 125  fi
125  # check for <features.h>  # check for <features.h>
126  AC_CHECK_HEADERS(features.h)  AC_CHECK_HEADERS(features.h)
127    
128    # test for POSIX thread library
129    m4_ifdef([m4_include(m4/pthread.m4)],,
130                 [sinclude([m4/pthread.m4])])
131    ACX_PTHREAD
132    LIBS="$PTHREAD_LIBS $LIBS"
133    CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
134    CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
135    CC="$PTHREAD_CC"
136    
137    # check for a bug in NPTL-enabled glibc
138    # (see Gentoo bug report #194076)
139    AC_ARG_ENABLE(nptl-bug-check,
140      [  --disable-nptl-bug-check
141                              Disable check for a bug in certain NPTL-enabled
142                              glibc versions that caused crashs.],
143      [config_check_nptl_bug="$enableval"],
144      [config_check_nptl_bug="yes"]
145    )
146    if test "$config_check_nptl_bug" = "yes"; then
147        m4_ifdef([m4_include(m4/nptl_bug.m4)],,
148                 [sinclude([m4/nptl_bug.m4])])
149        ACX_NPTL_GLIBC_BUG([
150            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
151            echo "You seem to have a buggy PTHREAD library! LinuxSampler would"
152            echo "probably crash due to this. Please report us the system you are"
153            echo "using and/or file a bug report to the bug tracking system of"
154            echo "your distribution."
155            echo "If you have a NPTL-enabled glibc AND it was compiled for TLS as"
156            echo "well, you can try to circumvent this problem for now by setting"
157            echo "the environment variable LD_ASSUME_KERNEL=\"2.4.1\" , which"
158            echo "should cause this test to pass."
159            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
160            AC_MSG_ERROR([possibly NPTL glibc bug detected])
161        ])
162    else
163        echo "NPTL glibc bug check disabled"
164    fi
165    
166    # FIXME: this is actually a dependency of libgig, not of LS directly, why
167    # isn't it hidden by libgig?
168    AC_CHECK_HEADERS(uuid/uuid.h)
169    AC_SEARCH_LIBS(uuid_generate, uuid)
170    
171    
172    
173  ###########################################################################  ###########################################################################
174  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
# Line 216  if test "$config_jack_driver" = "yes"; t Line 271  if test "$config_jack_driver" = "yes"; t
271      if test $have_jack = "1"; then      if test $have_jack = "1"; then
272          AC_SUBST(JACK_LIBS)          AC_SUBST(JACK_LIBS)
273          AC_SUBST(JACK_CFLAGS)          AC_SUBST(JACK_CFLAGS)
274          AC_CHECK_LIB(jack, jack_client_name_size, [AC_DEFINE(HAVE_JACK_CLIENT_NAME_SIZE, 1, [Define to 1 if you have the `jack_client_name_size' function.])], , $JACK_LIBS)          linuxsampler_save_LIBS=$LIBS
275            LIBS="$JACK_LIBS $LIBS"
276            AC_CHECK_FUNCS(jack_client_name_size jack_client_open)
277            LIBS=$linuxsampler_save_LIBS
278          have_audio_output_driver="true";          have_audio_output_driver="true";
279      fi      fi
280  else  else
# Line 225  fi Line 283  fi
283  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
284  AC_DEFINE_UNQUOTED(HAVE_JACK,$have_jack,[Define to 1 if you have JACK installed.])  AC_DEFINE_UNQUOTED(HAVE_JACK,$have_jack,[Define to 1 if you have JACK installed.])
285    
286    # JACK MIDI
287    have_jack_midi=0
288    if test $have_jack = "1"; then
289        linuxsampler_save_CFLAGS=$CFLAGS
290        linuxsampler_save_LIBS=$LIBS
291        CFLAGS="$JACK_CFLAGS $CFLAGS"
292        LIBS="$JACK_LIBS $LIBS"
293        AC_CHECK_HEADER(jack/midiport.h, have_jack_midi=1, have_jack_midi=0)
294        if test $have_jack_midi = "1"; then
295            AC_CHECK_FUNCS(jack_midi_get_event_count)
296            AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jack/midiport.h>]], [[
297                jack_midi_clear_buffer(0, 0);
298            ]])], [AC_DEFINE(JACK_MIDI_FUNCS_NEED_NFRAMES, 1,
299                      [Define to 1 if you have the old jack midi functions that need an nframes argument.])])
300            have_midi_input_driver="true"
301        fi
302        CFLAGS=$linuxsampler_save_CFLAGS
303        LIBS=$linuxsampler_save_LIBS
304    fi
305    AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")
306    AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,
307                       [Define to 1 if you have JACK with MIDI support installed.])
308    
309  # ARTS  # ARTS
310  AC_ARG_ENABLE(arts-driver,  AC_ARG_ENABLE(arts-driver,
311    [  --disable-arts-driver    [  --disable-arts-driver
# Line 247  fi Line 328  fi
328  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
329  AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])  AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])
330    
331    # ASIO AUDIO (Win32)
332    AC_ARG_ENABLE(asiosdk-dir,
333      [  --enable-asiosdk-dir
334                              Directory where the ASIO SDK is located, this automatically
335                              enables the compilation of the ASIO audio output driver.],
336      [config_asiosdk_dir="${enableval}"],
337      [config_asiosdk_dir="."]
338    )
339    AC_SUBST(config_asiosdk_dir)
340    
341    AC_ARG_ENABLE(asio-driver,
342      [  --disable-asio-driver
343                              Disable support for the Windows ASIO driver.],
344      [config_asio_driver="$enableval"],
345      [config_asio_driver="yes"]
346    )
347    have_asio=0
348    ASIOSDK_BASEDIR=
349    if test "$config_asio_driver" = "yes"; then
350        asiosdk_headerfile=$config_asiosdk_dir/ASIOSDK2/common/asio.h
351        echo -n "checking for ASIO headerfile: $asiosdk_headerfile ...."
352        if test -e $asiosdk_headerfile ; then
353            echo yes
354            have_asio=1
355            ASIOSDK_BASEDIR="$config_asiosdk_dir"
356        else
357            echo no
358            have_asio=0
359        fi
360        if test "$have_asio" = "1"; then
361            have_audio_output_driver="true"
362        fi
363    else
364        echo "Windows ASIO support disabled by configure script parameter"
365    fi
366    AC_SUBST(ASIOSDK_BASEDIR)
367    AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
368    AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.])
369    
370  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
371  AC_ARG_ENABLE(midishare-driver,  AC_ARG_ENABLE(midishare-driver,
372    [  --disable-midishare-driver    [  --disable-midishare-driver
# Line 295  fi Line 415  fi
415  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
416  AC_DEFINE_UNQUOTED(HAVE_COREMIDI,$have_coremidi,[Define to 1 if you have CoreMIDI installed.])  AC_DEFINE_UNQUOTED(HAVE_COREMIDI,$have_coremidi,[Define to 1 if you have CoreMIDI installed.])
417    
418    # MME MIDI (Win32)
419    AC_ARG_ENABLE(mmemidi-driver,
420      [  --disable-mmemidi-driver
421                              Disable support for the Windows MME MIDI system.],
422      [config_mmemidi_driver="$enableval"],
423      [config_mmemidi_driver="yes"]
424    )
425    have_mmemidi=0
426    if test "$config_mmemidi_driver" = "yes"; then
427        AC_CHECK_HEADERS(mmsystem.h,
428            have_mmemidi=1,
429            have_mmemidi=0
430        )
431        if test "$have_mmemidi" = "1"; then
432            have_midi_input_driver="true"
433        fi
434    else
435        echo "MME MIDI support disabled by configure script parameter"
436    fi
437    AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")
438    AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.])
439    
440    
441    # DSSI
442    AC_CHECK_HEADERS(dssi.h,
443            have_dssi=1,
444            have_dssi=0)
445    AM_CONDITIONAL(HAVE_DSSI, test $have_dssi = "1")
446    
447    # LV2
448    PKG_CHECK_MODULES(LV2, lv2core, have_lv2=1, have_lv2=0)
449    if test $have_lv2 = "0"; then
450        AC_CHECK_HEADER(lv2.h, have_lv2=1, have_lv2=0)
451    fi
452    AM_CONDITIONAL(HAVE_LV2, test $have_lv2 = "1")
453    
454    # VST
455    AC_ARG_ENABLE(vstsdk-dir,
456      [  --enable-vstsdk-dir
457                              Directory where the VST SDK is located.
458                              This automatically enables the compilation
459                              of the VST plugin.],
460      [VSTSDK_DIR="${enableval}"],
461      [VSTSDK_DIR=]
462    )
463    AC_SUBST(VSTSDK_DIR)
464    AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")
465    
466    
467  # have we found at least one MIDI input and one audio output driver ?  # have we found at least one MIDI input and one audio output driver ?
468  if test "$have_midi_input_driver" = "false"; then  if test "$have_midi_input_driver" = "false"; then
469      echo "No supported MIDI input system found!"      echo "No supported MIDI input system found!"
470      echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"      echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
471      echo "ALSA, MIDIShare, CoreMIDI."      echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
472      echo "If you think you have one of those available on your system, make sure you"      echo "If you think you have one of those available on your system, make sure you"
473      echo "also have the respective development (header) files installed."      echo "also have the respective development (header) files installed."
474      exit -1;      exit -1;
475  fi  fi
476  if test "$have_audio_output_driver" = "false"; then  if test "$have_audio_output_driver" = "false"; then
477      echo "No supported audio output system found!"      echo "No supported audio output system found!"
478      echo "Sorry, LinuxSampler only supports ALSA, JACK and ARTS as audio output"      echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
479      echo "driver at the moment!"      echo "driver at the moment!"
480      exit -1;      exit -1;
481  fi  fi
# Line 317  fi Line 486  fi
486  # Checks for various DLL libraries  # Checks for various DLL libraries
487    
488  # Check presence of libgig  # Check presence of libgig
489  libgig_version="3.2.0"  libgig_version="3.2.1"
490  PKG_CHECK_MODULES(GIG, gig >= $libgig_version, HAVE_GIG=true, HAVE_GIG=false)  PKG_CHECK_MODULES(GIG, gig >= $libgig_version, HAVE_GIG=true, HAVE_GIG=false)
491  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
492      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 424  if test "$config_rt_exceptions" = "yes"; Line 593  if test "$config_rt_exceptions" = "yes";
593    AC_DEFINE_UNQUOTED(CONFIG_RT_EXCEPTIONS, 1, [Define to 1 to allow exceptions in the realtime context.])    AC_DEFINE_UNQUOTED(CONFIG_RT_EXCEPTIONS, 1, [Define to 1 to allow exceptions in the realtime context.])
594  fi  fi
595    
596    AC_ARG_ENABLE(pthread-testcancel,
597      [  --enable-pthread-testcancel
598                              Enable pthread_testcancel() calls and avoid asynchronous
599                              cancel of pthreads (default=no).],
600      [config_pthread_testcancel="$enableval"],
601      [config_pthread_testcancel="no"]
602    )
603    if test "$config_pthread_testcancel" = "yes"; then
604      AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])
605    fi
606    
607  AC_ARG_ENABLE(preload-samples,  AC_ARG_ENABLE(preload-samples,
608    [  --enable-preload-samples    [  --enable-preload-samples
609                            Due to seeking and latency issues with hard drives                            Due to seeking and latency issues with hard drives
# Line 847  if test "$config_interpolate_volume" = " Line 1027  if test "$config_interpolate_volume" = "
1027    AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])    AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])
1028  fi  fi
1029    
1030    AC_ARG_ENABLE(master-volume-sysex-by-port,
1031      [  --enable-master-volume-sysex-by-port
1032                              Whether global volume sysex message should be
1033                              applied globally to the whole sampler or only to
1034                              the sampler channels connected to the same MIDI
1035                              input port on which the sysex message arrived on.
1036                              By default global volume sysex messages apply
1037                              globally to the whole sampler, since many MIDI
1038                              devices behave that way.],
1039      [config_master_volume_sysex_by_port="$enableval"],
1040      [config_master_volume_sysex_by_port="no"]
1041    )
1042    if test "$config_master_volume_sysex_by_port" = "yes"; then
1043      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.])
1044    fi
1045    
1046  AC_ARG_ENABLE(plugin-dir,  AC_ARG_ENABLE(plugin-dir,
1047    [  --enable-plugin-dir    [  --enable-plugin-dir
1048                            Directory where the sampler shall look for potential plugins,                            Directory where the sampler shall look for potential plugins,
# Line 973  AM_CONFIG_HEADER(config.h) Line 1169  AM_CONFIG_HEADER(config.h)
1169  AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")  AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")
1170    
1171  AC_LANG_CPLUSPLUS  AC_LANG_CPLUSPLUS
 AC_PROG_CXX  
1172    
1173  # some gcc 4.0 versions need -msse for SSE register allocations  # some gcc 4.0 versions need -msse for SSE register allocations
1174  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
# Line 996  AC_OUTPUT( \ Line 1191  AC_OUTPUT( \
1191      src/engines/Makefile \      src/engines/Makefile \
1192      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1193      src/engines/common/Makefile \      src/engines/common/Makefile \
1194        src/effects/Makefile \
1195      src/common/Makefile \      src/common/Makefile \
1196      src/testcases/Makefile \      src/testcases/Makefile \
1197      src/drivers/Makefile \      src/drivers/Makefile \
1198      src/drivers/audio/Makefile \      src/drivers/audio/Makefile \
1199      src/drivers/midi/Makefile \      src/drivers/midi/Makefile \
1200      src/plugins/Makefile \      src/plugins/Makefile \
1201        src/hostplugins/Makefile \
1202        src/hostplugins/dssi/Makefile \
1203        src/hostplugins/lv2/Makefile \
1204        src/hostplugins/vst/Makefile \
1205      linuxsampler.spec \      linuxsampler.spec \
1206      debian/Makefile \      debian/Makefile \
1207      Artwork/Makefile \      Artwork/Makefile \
# Line 1062  echo "# Override Filter Type: ${config_o Line 1262  echo "# Override Filter Type: ${config_o
1262  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1263  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
1264  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1265    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1266  echo "# Interpolate Volume: ${config_interpolate_volume}"  echo "# Interpolate Volume: ${config_interpolate_volume}"
1267  echo "# Instruments database support: ${config_instruments_db}"  echo "# Instruments database support: ${config_instruments_db}"
1268  if test "$config_instruments_db" = "yes"; then  if test "$config_instruments_db" = "yes"; then

Legend:
Removed from v.1432  
changed lines
  Added in v.1777

  ViewVC Help
Powered by ViewVC