/[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 1049 by schoenebeck, Wed Feb 28 06:53:42 2007 UTC revision 1762 by schoenebeck, Fri Aug 29 17:33:02 2008 UTC
# Line 4  AC_INIT(configure.in) Line 4  AC_INIT(configure.in)
4  # LinuxSampler's / liblinuxsampler's "official" release version:  # LinuxSampler's / liblinuxsampler's "official" release version:
5    
6  LINUXSAMPLER_RELEASE_MAJOR=0  LINUXSAMPLER_RELEASE_MAJOR=0
7  LINUXSAMPLER_RELEASE_MINOR=4  LINUXSAMPLER_RELEASE_MINOR=5
8  LINUXSAMPLER_RELEASE_BUILD=0.4cvs  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.4cvs Line 24  LINUXSAMPLER_RELEASE_BUILD=0.4cvs
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=0  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  AM_PROG_LIBTOOL  AM_PROG_LIBTOOL
43    
44  AC_SUBST(SHLIB_VERSION_ARG)  AC_SUBST(SHLIB_VERSION_ARG)
# Line 52  AC_SUBST(target_cpu) Line 53  AC_SUBST(target_cpu)
53  AC_SUBST(target_os)  AC_SUBST(target_os)
54  AC_SUBST(target_vendor)  AC_SUBST(target_vendor)
55    
56    PKG_PROG_PKG_CONFIG
57    
58  ###########################################################################  ###########################################################################
59  # General Checks  # General Checks
# Line 79  if ! echo "X $CXXFLAGS " | grep -q -- " Line 81  if ! echo "X $CXXFLAGS " | grep -q -- "
81  fi  fi
82  AC_SUBST([CXX_CPU_SWITCH])  AC_SUBST([CXX_CPU_SWITCH])
83    
84    # check if we're on MS Windows
85    AC_CHECK_HEADERS(
86        mmsystem.h,
87        have_windows=1,
88        have_windows=0
89    )
90    AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")
91    
92  AC_MSG_CHECKING([whether UNIX98 compatible])  AC_MSG_CHECKING([whether UNIX98 compatible])
93  AC_LANG_SAVE  AC_LANG_SAVE
94  AC_LANG_C  AC_LANG_C
# Line 101  have_unix98="no" Line 111  have_unix98="no"
111  )  )
112  AC_LANG_RESTORE  AC_LANG_RESTORE
113  AC_MSG_RESULT([$have_unix98])  AC_MSG_RESULT([$have_unix98])
114  if test "$have_unix98" = "no"; then  if test "$have_unix98" = "no" -a "have_windows" = "0"; then
115      if test "x$HAVE_UNIX98" = "x"; then      if test "x$HAVE_UNIX98" = "x"; then
116          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"
117          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 124  fi
124  # check for <features.h>  # check for <features.h>
125  AC_CHECK_HEADERS(features.h)  AC_CHECK_HEADERS(features.h)
126    
127    # test for POSIX thread library
128    m4_ifdef([m4_include(m4/pthread.m4)],,
129                 [sinclude([m4/pthread.m4])])
130    ACX_PTHREAD
131    LIBS="$PTHREAD_LIBS $LIBS"
132    CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
133    CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
134    CC="$PTHREAD_CC"
135    
136    # check for a bug in NPTL-enabled glibc
137    # (see Gentoo bug report #194076)
138    AC_ARG_ENABLE(nptl-bug-check,
139      [  --disable-nptl-bug-check
140                              Disable check for a bug in certain NPTL-enabled
141                              glibc versions that caused crashs.],
142      [config_check_nptl_bug="$enableval"],
143      [config_check_nptl_bug="yes"]
144    )
145    if test "$config_check_nptl_bug" = "yes"; then
146        m4_ifdef([m4_include(m4/nptl_bug.m4)],,
147                 [sinclude([m4/nptl_bug.m4])])
148        ACX_NPTL_GLIBC_BUG([
149            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
150            echo "You seem to have a buggy PTHREAD library! LinuxSampler would"
151            echo "probably crash due to this. Please report us the system you are"
152            echo "using and/or file a bug report to the bug tracking system of"
153            echo "your distribution."
154            echo "If you have a NPTL-enabled glibc AND it was compiled for TLS as"
155            echo "well, you can try to circumvent this problem for now by setting"
156            echo "the environment variable LD_ASSUME_KERNEL=\"2.4.1\" , which"
157            echo "should cause this test to pass."
158            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
159            AC_MSG_ERROR([possibly NPTL glibc bug detected])
160        ])
161    else
162        echo "NPTL glibc bug check disabled"
163    fi
164    
165    # FIXME: this is actually a dependency of libgig, not of LS directly, why
166    # isn't it hidden by libgig?
167    AC_CHECK_HEADERS(uuid/uuid.h)
168    AC_SEARCH_LIBS(uuid_generate, uuid)
169    
170    
171    
172  ###########################################################################  ###########################################################################
173  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
# Line 127  AC_ARG_ENABLE(alsa-driver, Line 181  AC_ARG_ENABLE(alsa-driver,
181    [  --disable-alsa-driver    [  --disable-alsa-driver
182                            Disable support for the Advanced Linux Sound                            Disable support for the Advanced Linux Sound
183                            Architecture (ALSA).],                            Architecture (ALSA).],
184    [config_alsa_driver="no"],    [config_alsa_driver="$enableval"],
185    [config_alsa_driver="yes"]    [config_alsa_driver="yes"]
186  )  )
187  have_alsa=0  have_alsa=0
# Line 207  AC_ARG_ENABLE(jack-driver, Line 261  AC_ARG_ENABLE(jack-driver,
261    [  --disable-jack-driver    [  --disable-jack-driver
262                            Disable support for the Jack Audio Connection Kit                            Disable support for the Jack Audio Connection Kit
263                            (JACK).],                            (JACK).],
264    [config_jack_driver="no"],    [config_jack_driver="$enableval"],
265    [config_jack_driver="yes"]    [config_jack_driver="yes"]
266  )  )
267  have_jack=0  have_jack=0
# Line 216  if test "$config_jack_driver" = "yes"; t Line 270  if test "$config_jack_driver" = "yes"; t
270      if test $have_jack = "1"; then      if test $have_jack = "1"; then
271          AC_SUBST(JACK_LIBS)          AC_SUBST(JACK_LIBS)
272          AC_SUBST(JACK_CFLAGS)          AC_SUBST(JACK_CFLAGS)
273          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
274            LIBS="$JACK_LIBS $LIBS"
275            AC_CHECK_FUNCS(jack_client_name_size jack_client_open)
276            LIBS=$linuxsampler_save_LIBS
277          have_audio_output_driver="true";          have_audio_output_driver="true";
278      fi      fi
279  else  else
# Line 225  fi Line 282  fi
282  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
283  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.])
284    
285    # JACK MIDI
286    have_jack_midi=0
287    if test $have_jack = "1"; then
288        linuxsampler_save_CFLAGS=$CFLAGS
289        linuxsampler_save_LIBS=$LIBS
290        CFLAGS="$JACK_CFLAGS $CFLAGS"
291        LIBS="$JACK_LIBS $LIBS"
292        AC_CHECK_HEADER(jack/midiport.h, have_jack_midi=1, have_jack_midi=0)
293        if test $have_jack_midi = "1"; then
294            AC_CHECK_FUNCS(jack_midi_get_event_count)
295            AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jack/midiport.h>]], [[
296                jack_midi_clear_buffer(0, 0);
297            ]])], [AC_DEFINE(JACK_MIDI_FUNCS_NEED_NFRAMES, 1,
298                      [Define to 1 if you have the old jack midi functions that need an nframes argument.])])
299            have_midi_input_driver="true"
300        fi
301        CFLAGS=$linuxsampler_save_CFLAGS
302        LIBS=$linuxsampler_save_LIBS
303    fi
304    AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")
305    AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,
306                       [Define to 1 if you have JACK with MIDI support installed.])
307    
308  # ARTS  # ARTS
309  AC_ARG_ENABLE(arts-driver,  AC_ARG_ENABLE(arts-driver,
310    [  --disable-arts-driver    [  --disable-arts-driver
311                            Disable support for the Analogue Realtime System                            Disable support for the Analogue Realtime System
312                            (aRts).],                            (aRts).],
313    [config_arts_driver="no"],    [config_arts_driver="$enableval"],
314    [config_arts_driver="yes"]    [config_arts_driver="yes"]
315  )  )
316  have_arts=0  have_arts=0
# Line 247  fi Line 327  fi
327  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
328  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.])
329    
330    # ASIO AUDIO (Win32)
331    AC_ARG_ENABLE(asiosdk-dir,
332      [  --enable-asiosdk-dir
333                              Directory where the ASIO SDK is located, this automatically
334                              enables the compilation of the ASIO audio output driver.],
335      [config_asiosdk_dir="${enableval}"],
336      [config_asiosdk_dir="."]
337    )
338    AC_SUBST(config_asiosdk_dir)
339    
340    AC_ARG_ENABLE(asio-driver,
341      [  --disable-asio-driver
342                              Disable support for the Windows ASIO driver.],
343      [config_asio_driver="$enableval"],
344      [config_asio_driver="yes"]
345    )
346    have_asio=0
347    ASIOSDK_BASEDIR=
348    if test "$config_asio_driver" = "yes"; then
349        asiosdk_headerfile=$config_asiosdk_dir/ASIOSDK2/common/asio.h
350        echo -n "checking for ASIO headerfile: $asiosdk_headerfile ...."
351        if test -e $asiosdk_headerfile ; then
352            echo yes
353            have_asio=1
354            ASIOSDK_BASEDIR="$config_asiosdk_dir"
355        else
356            echo no
357            have_asio=0
358        fi
359        if test "$have_asio" = "1"; then
360            have_audio_output_driver="true"
361        fi
362    else
363        echo "Windows ASIO support disabled by configure script parameter"
364    fi
365    AC_SUBST(ASIOSDK_BASEDIR)
366    AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
367    AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.])
368    
369  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
370  AC_ARG_ENABLE(midishare-driver,  AC_ARG_ENABLE(midishare-driver,
371    [  --disable-midishare-driver    [  --disable-midishare-driver
372                            Disable support for the MidiShare system.],                            Disable support for the MidiShare system.],
373    [config_midishare_driver="no"],    [config_midishare_driver="$enableval"],
374    [config_midishare_driver="yes"]    [config_midishare_driver="yes"]
375  )  )
376  have_midishare=0  have_midishare=0
# Line 277  AC_DEFINE_UNQUOTED(HAVE_MIDISHARE,$have_ Line 396  AC_DEFINE_UNQUOTED(HAVE_MIDISHARE,$have_
396  AC_ARG_ENABLE(coremidi-driver,  AC_ARG_ENABLE(coremidi-driver,
397    [  --disable-coremidi-driver    [  --disable-coremidi-driver
398                            Disable support for the Apple CoreMIDI system.],                            Disable support for the Apple CoreMIDI system.],
399    [config_coremidi_driver="no"],    [config_coremidi_driver="$enableval"],
400    [config_coremidi_driver="yes"]    [config_coremidi_driver="yes"]
401  )  )
402  have_coremidi=0  have_coremidi=0
# Line 295  fi Line 414  fi
414  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
415  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.])
416    
417    # MME MIDI (Win32)
418    AC_ARG_ENABLE(mmemidi-driver,
419      [  --disable-mmemidi-driver
420                              Disable support for the Windows MME MIDI system.],
421      [config_mmemidi_driver="$enableval"],
422      [config_mmemidi_driver="yes"]
423    )
424    have_mmemidi=0
425    if test "$config_mmemidi_driver" = "yes"; then
426        AC_CHECK_HEADERS(mmsystem.h,
427            have_mmemidi=1,
428            have_mmemidi=0
429        )
430        if test "$have_mmemidi" = "1"; then
431            have_midi_input_driver="true"
432        fi
433    else
434        echo "MME MIDI support disabled by configure script parameter"
435    fi
436    AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")
437    AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.])
438    
439    # have we found at least one MIDI input and one audio output driver ?
440    if test "$have_midi_input_driver" = "false"; then
441        echo "No supported MIDI input system found!"
442        echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
443        echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
444        echo "If you think you have one of those available on your system, make sure you"
445        echo "also have the respective development (header) files installed."
446        exit -1;
447    fi
448    if test "$have_audio_output_driver" = "false"; then
449        echo "No supported audio output system found!"
450        echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
451        echo "driver at the moment!"
452        exit -1;
453    fi
454    
455    
456    
457    ###########################################################################
458    # Checks for various DLL libraries
459    
460  # Check presence of libgig  # Check presence of libgig
461  libgig_version="3.1.0"  libgig_version="3.2.1"
462  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)
463  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
464      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 308  fi Line 470  fi
470  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
471  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
472    
473  # SQLITE3  # Instruments DB feature (requires SQLite 3.3)
474  PKG_CHECK_MODULES(SQLITE3, sqlite3, HAVE_SQLITE3=true, HAVE_SQLITE3=false)  AC_ARG_ENABLE(instruments-db,
475  AC_SUBST(SQLITE3_LIBS)    [  --disable-instruments-db
476  AC_SUBST(SQLITE3_CFLAGS)                            Disable compilation of the sampler's instruments
477  if test $HAVE_SQLITE3 = false; then                            database feature. You need to have SQLite 3.3
478      HAVE_SQLITE3=0;                            or younger installed for this feature.],
479      echo "no, support for instrument DB will be disabled!"    [config_instruments_db="$enableval"],
480      [config_instruments_db="yes"]
481    )
482    HAVE_SQLITE3=0;
483    if test "$config_instruments_db" = "yes"; then
484        # Check presence of sqlite3
485        sqlite_version="3.3"
486        PKG_CHECK_MODULES(SQLITE3, sqlite3 >= $sqlite_version, HAVE_SQLITE3=true, HAVE_SQLITE3=false)
487        AC_SUBST(SQLITE3_LIBS)
488        AC_SUBST(SQLITE3_CFLAGS)
489        if test $HAVE_SQLITE3 = false; then
490            HAVE_SQLITE3=0
491            config_instruments_db="no"
492            echo "*** Required sqlite version not found!"
493            echo "*** You need to have sqlite version ${sqlite_version} or higher"
494            echo "*** for instruments database support to be enabled."
495            echo "*** Support for instruments DB will be disabled!"
496        else
497            HAVE_SQLITE3=1
498        fi
499  else  else
500      HAVE_SQLITE3=1      echo "Instruments DB feature disabled by configure script parameter"
     echo "yes"  
501  fi  fi
502  AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)  AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
503  AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you have SQLITE3 installed.])  AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you want the instruments DB feature and have SQLITE3 installed.])
504    
 if test "$have_midi_input_driver" = "false"; then  
     echo "No supported MIDI input system found!"  
     echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"  
     echo "ALSA, MIDIShare, CoreMIDI."  
     echo "If you think you have one of those available on your system, make sure you"  
     echo "also have the respective development (header) files installed."  
     exit -1;  
 fi  
 if test "$have_audio_output_driver" = "false"; then  
     echo "No supported audio output system found!"  
     echo "Sorry, LinuxSampler only supports ALSA and JACK as audio output driver at the moment!"  
     exit -1;  
 fi  
505    
506    
507  ###########################################################################  ###########################################################################
# Line 343  fi Line 510  fi
510  # TODO: should we use AC_ARG_VAR(variable, description) instead?  # TODO: should we use AC_ARG_VAR(variable, description) instead?
511    
512  AC_ARG_ENABLE(asm,  AC_ARG_ENABLE(asm,
513    [  --enable-asm    [  --disable-asm
514                            Enable hand-crafted assembly optimizations                            Enable hand-crafted assembly optimizations
515                            (default=off). LinuxSampler provides CPU specific                            (default=on). LinuxSampler provides CPU specific
516                            assembly optimizations for the most important                            assembly optimizations. This is currently limited
517                            synthesis algorithms. This is currently disabled                            to just enter a fast (denormal) FPU mode on x86
518                            by default since current asm code is broken.],                            platforms. There are currently no synthesis core
519    [config_asm="yes"],                            assembly optimizations anymore since LS 0.4.0],
520    [config_asm="no"]    [config_asm="$enableval"],
521      [config_asm="yes"]
522  )  )
523  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
524    AC_DEFINE_UNQUOTED(CONFIG_ASM, 1, [Define to 1 if you want to enable hand-crafted asm optimizations.])    AC_DEFINE_UNQUOTED(CONFIG_ASM, 1, [Define to 1 if you want to enable asm optimizations.])
525  fi  fi
526    
527  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
528    [  --disable-dev-mode    [  --enable-dev-mode
529                            Disable development mode (default=on). In that mode                            Enable development mode (default=off). In that mode
530                            we do some extra sanity checks here and there.                            we do some extra sanity checks here and there.
531                            This helps to spot possible problems, but reduces                            This helps to spot possible problems, but reduces
532                            efficiency a bit],                            efficiency a bit],
533    [config_dev_mode="no"],    [config_dev_mode="$enableval"],
534    [config_dev_mode="yes"]    [config_dev_mode="no"]
535  )  )
536  if test "$config_dev_mode" = "yes"; then  if test "$config_dev_mode" = "yes"; then
537    AC_DEFINE_UNQUOTED(CONFIG_DEVMODE, 1, [Define to 1 if you want to enable development mode.])    AC_DEFINE_UNQUOTED(CONFIG_DEVMODE, 1, [Define to 1 if you want to enable development mode.])
# Line 390  AC_ARG_ENABLE(rt-exceptions, Line 558  AC_ARG_ENABLE(rt-exceptions,
558                            context as well. Otherwise if disabled                            context as well. Otherwise if disabled
559                            segmentation faults will be forced by the                            segmentation faults will be forced by the
560                            application on critical errors.],                            application on critical errors.],
561    [config_rt_exceptions="yes"],    [config_rt_exceptions="$enableval"],
562    [config_rt_exceptions="no"]    [config_rt_exceptions="no"]
563  )  )
564  if test "$config_rt_exceptions" = "yes"; then  if test "$config_rt_exceptions" = "yes"; then
565    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.])
566  fi  fi
567    
568    AC_ARG_ENABLE(pthread-testcancel,
569      [  --enable-pthread-testcancel
570                              Enable pthread_testcancel() calls and avoid asynchronous
571                              cancel of pthreads (default=no).],
572      [config_pthread_testcancel="$enableval"],
573      [config_pthread_testcancel="no"]
574    )
575    if test "$config_pthread_testcancel" = "yes"; then
576      AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])
577    fi
578    
579  AC_ARG_ENABLE(preload-samples,  AC_ARG_ENABLE(preload-samples,
580    [  --enable-preload-samples    [  --enable-preload-samples
581                            Due to seeking and latency issues with hard drives                            Due to seeking and latency issues with hard drives
# Line 584  AC_ARG_ENABLE(force-filter, Line 763  AC_ARG_ENABLE(force-filter,
763                            If enabled will force filter to be used even if                            If enabled will force filter to be used even if
764                            no usage was define in instrument patch files.                            no usage was define in instrument patch files.
765                            (default=no).],                            (default=no).],
766    [config_force_filter="yes"],    [config_force_filter="$enableval"],
767    [config_force_filter="no"]    [config_force_filter="no"]
768  )  )
769  if test "$config_force_filter" = "yes"; then  if test "$config_force_filter" = "yes"; then
# Line 674  AC_ARG_ENABLE(gs-checksum, Line 853  AC_ARG_ENABLE(gs-checksum,
853                            messages which do not provide a correct checksum                            messages which do not provide a correct checksum
854                            will be ignored. This is disabled by default as                            will be ignored. This is disabled by default as
855                            not all devices honor GS checksums.],                            not all devices honor GS checksums.],
856    [config_assert_gs_sysex_checksum="yes"],    [config_assert_gs_sysex_checksum="$enableval"],
857    [config_assert_gs_sysex_checksum="no"]    [config_assert_gs_sysex_checksum="no"]
858  )  )
859  if test "config_assert_gs_sysex_checksum" = "yes"; then  if test "config_assert_gs_sysex_checksum" = "yes"; then
# Line 720  AC_ARG_ENABLE(signed-triang-algo, Line 899  AC_ARG_ENABLE(signed-triang-algo,
899                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
900                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
901                                perform better than integer math as it avoids                                perform better than integer math as it avoids
902                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
903                              diharmonic:                              diharmonic:
904                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
905                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 755  AC_ARG_ENABLE(unsigned-triang-algo, Line 933  AC_ARG_ENABLE(unsigned-triang-algo,
933                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
934                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
935                                perform better than integer math as it avoids                                perform better than integer math as it avoids
936                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
937                              diharmonic:                              diharmonic:
938                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
939                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 787  AC_ARG_ENABLE(process-muted-channels, Line 964  AC_ARG_ENABLE(process-muted-channels,
964                            will not discard notes, triggered in mute mode,                            will not discard notes, triggered in mute mode,
965                            when the channel is unmuted. But also will reduce                            when the channel is unmuted. But also will reduce
966                            the efficiency.],                            the efficiency.],
967    [config_process_muted_channels="yes"],    [config_process_muted_channels="$enableval"],
968    [config_process_muted_channels="no"]    [config_process_muted_channels="no"]
969  )  )
970  if test "$config_process_muted_channels" = "yes"; then  if test "$config_process_muted_channels" = "yes"; then
# Line 801  AC_ARG_ENABLE(process-all-notes-off, Line 978  AC_ARG_ENABLE(process-all-notes-off,
978                            all voices whenever it receives an All-Notes-Off                            all voices whenever it receives an All-Notes-Off
979                            MIDI message. You can disable this behavior, so                            MIDI message. You can disable this behavior, so
980                            that LS simply ignores such messages.],                            that LS simply ignores such messages.],
981    [config_process_all_notes_off="no"],    [config_process_all_notes_off="$enableval"],
982    [config_process_all_notes_off="yes"]    [config_process_all_notes_off="yes"]
983  )  )
984  if test "$config_process_all_notes_off" = "yes"; then  if test "$config_process_all_notes_off" = "yes"; then
# Line 815  AC_ARG_ENABLE(interpolate-volume, Line 992  AC_ARG_ENABLE(interpolate-volume,
992                            generated by for example the envelope generator                            generated by for example the envelope generator
993                            will be smoother, minimizing the risk for audio                            will be smoother, minimizing the risk for audio
994                            clicks. Disable it to reduce CPU usage.],                            clicks. Disable it to reduce CPU usage.],
995    [config_interpolate_volume="no"],    [config_interpolate_volume="$enableval"],
996    [config_interpolate_volume="yes"]    [config_interpolate_volume="yes"]
997  )  )
998  if test "$config_interpolate_volume" = "yes"; then  if test "$config_interpolate_volume" = "yes"; then
999    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.])
1000  fi  fi
1001    
1002    AC_ARG_ENABLE(master-volume-sysex-by-port,
1003      [  --enable-master-volume-sysex-by-port
1004                              Whether global volume sysex message should be
1005                              applied globally to the whole sampler or only to
1006                              the sampler channels connected to the same MIDI
1007                              input port on which the sysex message arrived on.
1008                              By default global volume sysex messages apply
1009                              globally to the whole sampler, since many MIDI
1010                              devices behave that way.],
1011      [config_master_volume_sysex_by_port="$enableval"],
1012      [config_master_volume_sysex_by_port="no"]
1013    )
1014    if test "$config_master_volume_sysex_by_port" = "yes"; then
1015      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.])
1016    fi
1017    
1018    AC_ARG_ENABLE(plugin-dir,
1019      [  --enable-plugin-dir
1020                              Directory where the sampler shall look for potential plugins,
1021                              that is 3rd party shared libraries that should be loaded by
1022                              the sampler on startup. By default the sampler will search
1023                              for plugins in the subdirectory "plugins" below its own
1024                              library directory.
1025                              (i.e. /usr/local/lib/linuxsampler/plugins)],
1026      [config_plugin_dir="${enableval}"],
1027      [config_plugin_dir="${libdir}/linuxsampler/plugins"]
1028    )
1029    AC_SUBST(config_plugin_dir)
1030    
1031    AC_ARG_ENABLE(default-instruments-db-location,
1032      [  --enable-default-instruments-db-location
1033                              Only when instruments DB feature is enabled: file name
1034                              which shall be taken as default location of the
1035                              instruments DB file. This location can still be
1036                              overridden at runtime with a command line switch.
1037                              (default: /var/lib/linuxsampler/instruments.db)],
1038      [config_default_instruments_db_file="${enableval}"],
1039      [config_default_instruments_db_file="/var/lib/linuxsampler/instruments.db"]
1040    )
1041    AC_DEFINE_UNQUOTED(
1042        CONFIG_DEFAULT_INSTRUMENTS_DB_LOCATION,
1043        "$config_default_instruments_db_file",
1044        [Only when instruments DB feature is enabled: default location of the DB file.]
1045    )
1046    AC_SUBST(config_default_instruments_db_file)
1047    
1048    
1049  ###########################################################################  ###########################################################################
1050  # Automatic Benchmarks (to detect the best algorithms for the system)  # Automatic Benchmarks (to detect the best algorithms for the system)
# Line 856  if test "$config_signed_triang_algo" = " Line 1079  if test "$config_signed_triang_algo" = "
1079          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1080          exit -1;          exit -1;
1081      fi      fi
1082    else
1083        case "$config_signed_triang_algo" in
1084            intmath)
1085                triang_signed=2 ;;
1086            diharmonic)
1087                triang_signed=3 ;;
1088            intmathabs)
1089                triang_signed=5 ;;
1090        esac
1091  fi  fi
1092  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ALGO, ${triang_signed}, [Define signed triangular wave algorithm to be used.])  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ALGO, ${triang_signed}, [Define signed triangular wave algorithm to be used.])
1093    
# Line 887  if test "$config_unsigned_triang_algo" = Line 1119  if test "$config_unsigned_triang_algo" =
1119          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1120          exit -1;          exit -1;
1121      fi      fi
1122    else
1123        case "$config_unsigned_triang_algo" in
1124            intmath)
1125                triang_unsigned=2 ;;
1126            diharmonic)
1127                triang_unsigned=3 ;;
1128            intmathabs)
1129                triang_unsigned=5 ;;
1130        esac
1131  fi  fi
1132  AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, ${triang_unsigned}, [Define unsigned triangular wave algorithm to be used.])  AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, ${triang_unsigned}, [Define unsigned triangular wave algorithm to be used.])
1133    
# Line 900  AM_CONFIG_HEADER(config.h) Line 1141  AM_CONFIG_HEADER(config.h)
1141  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")
1142    
1143  AC_LANG_CPLUSPLUS  AC_LANG_CPLUSPLUS
 AC_PROG_CXX  
1144    
1145  # some gcc 4.0 versions need -msse for SSE register allocations  # some gcc 4.0 versions need -msse for SSE register allocations
1146  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
# Line 918  AC_OUTPUT( \ Line 1158  AC_OUTPUT( \
1158      man/Makefile \      man/Makefile \
1159      man/linuxsampler.1 \      man/linuxsampler.1 \
1160      src/Makefile \      src/Makefile \
1161        src/db/Makefile \
1162      src/network/Makefile \      src/network/Makefile \
1163      src/engines/Makefile \      src/engines/Makefile \
1164      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1165      src/engines/common/Makefile \      src/engines/common/Makefile \
1166      src/common/Makefile src/lib/Makefile \      src/effects/Makefile \
1167      src/lib/fileloader/Makefile \      src/common/Makefile \
     src/lib/fileloader/libgig/Makefile \  
1168      src/testcases/Makefile \      src/testcases/Makefile \
1169      src/drivers/Makefile \      src/drivers/Makefile \
1170      src/drivers/audio/Makefile \      src/drivers/audio/Makefile \
1171      src/drivers/midi/Makefile \      src/drivers/midi/Makefile \
1172        src/plugins/Makefile \
1173      linuxsampler.spec \      linuxsampler.spec \
1174      debian/Makefile \      debian/Makefile \
1175      Artwork/Makefile \      Artwork/Makefile \
1176      scripts/Makefile \      scripts/Makefile \
1177      osx/Makefile \      osx/Makefile \
1178      osx/LinuxSampler.xcode/Makefile \      osx/linuxsampler.xcodeproj/Makefile \
1179      Documentation/Makefile \      Documentation/Makefile \
1180      Documentation/Engines/Makefile \      Documentation/Engines/Makefile \
1181      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
# Line 942  AC_OUTPUT( \ Line 1183  AC_OUTPUT( \
1183      Doxyfile \      Doxyfile \
1184  )  )
1185    
1186    # resolve all nested variables in '${config_plugin_dir}'
1187    # (merely for providing a human readable summary below)
1188    while test $config_plugin_dir != `eval echo ${config_plugin_dir}` ; do
1189            config_plugin_dir=`eval echo ${config_plugin_dir}`
1190    done
1191    
1192    
1193  ###########################################################################  ###########################################################################
1194  # Output All Configuration Options  # Output All Configuration Options
# Line 983  echo "# Override Filter Type: ${config_o Line 1230  echo "# Override Filter Type: ${config_o
1230  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1231  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
1232  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1233    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1234  echo "# Interpolate Volume: ${config_interpolate_volume}"  echo "# Interpolate Volume: ${config_interpolate_volume}"
1235    echo "# Instruments database support: ${config_instruments_db}"
1236    if test "$config_instruments_db" = "yes"; then
1237    echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1238    fi
1239    echo "# Plugin Path: ${config_plugin_dir}"
1240  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1241  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
1242  echo "#####################################################################"  echo "#####################################################################"

Legend:
Removed from v.1049  
changed lines
  Added in v.1762

  ViewVC Help
Powered by ViewVC