/[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 822 by wylder, Thu Dec 22 21:45:30 2005 UTC revision 2356 by persson, Sun Jul 8 14:44:47 2012 UTC
# Line 3  AC_INIT(configure.in) Line 3  AC_INIT(configure.in)
3  #------------------------------------------------------------------------------------  #------------------------------------------------------------------------------------
4  # LinuxSampler's / liblinuxsampler's "official" release version:  # LinuxSampler's / liblinuxsampler's "official" release version:
5    
6  LINUXSAMPLER_RELEASE_MAJOR=0  LINUXSAMPLER_RELEASE_MAJOR=1
7  LINUXSAMPLER_RELEASE_MINOR=3  LINUXSAMPLER_RELEASE_MINOR=0
8  LINUXSAMPLER_RELEASE_BUILD=3  LINUXSAMPLER_RELEASE_BUILD=0.svn18
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=3 Line 24  LINUXSAMPLER_RELEASE_BUILD=3
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=3
28  LIBLINUXSAMPLER_LT_REVISION=0  LIBLINUXSAMPLER_LT_REVISION=0
29  LIBLINUXSAMPLER_LT_AGE=0  LIBLINUXSAMPLER_LT_AGE=0
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:
34    
35    LSCP_RELEASE_MAJOR=1
36    LSCP_RELEASE_MINOR=5
37    
38    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.])
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)
46  AC_SUBST(SHARED_VERSION_INFO)  AC_SUBST(SHARED_VERSION_INFO)
47    
48  AC_C_BIGENDIAN  AC_C_BIGENDIAN
49  AC_CANONICAL_SYSTEM  AC_CANONICAL_HOST
   
 AC_SUBST(target)  
 AC_SUBST(target_alias)  
 AC_SUBST(target_cpu)  
 AC_SUBST(target_os)  
 AC_SUBST(target_vendor)  
50    
51    PKG_PROG_PKG_CONFIG
52    
53  ###########################################################################  ###########################################################################
54  # General Checks  # General Checks
55    
56    AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
57    
58  AC_MSG_CHECKING([whether x86 architecture])  AC_MSG_CHECKING([whether x86 architecture])
59  def_arch_x86=0  def_arch_x86=0
60  case $target_cpu in  case $host_cpu in
61    "i386" | "i486" | "i586" | "i686" | "i786")    "i386" | "i486" | "i586" | "i686" | "i786" | "x86_64")
62      echo "yes"      echo "yes"
63      def_arch_x86=1;;      def_arch_x86=1;;
64    *)    *)
# Line 59  esac Line 67  esac
67  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x86,[Define to 1 if you build for x86 architecture.])  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x86,[Define to 1 if you build for x86 architecture.])
68    
69  # determine the right gcc switch for CPU specific optimizations  # determine the right gcc switch for CPU specific optimizations
70    # (only if the user did not provide one)
71  CXX_CPU_SWITCH=  CXX_CPU_SWITCH=
72  if test "$def_arch_x86" = 1; then  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then
73    CXX_CPU_SWITCH="-march=$target_cpu"    if test "$def_arch_x86" = 1 -a "$host_cpu" != "x86_64"; then
74  elif test "$target_cpu" = "powerpc"; then      CXX_CPU_SWITCH="-march=$host_cpu"
75    CXX_CPU_SWITCH="-arch=$target_cpu"    elif test "$target_cpu" = "ppc"; then
76        CXX_CPU_SWITCH="-arch=$host_cpu"
77      fi
78  fi  fi
79  AC_SUBST([CXX_CPU_SWITCH])  AC_SUBST([CXX_CPU_SWITCH])
80    
81    mac=no
82    linux=no
83    case "$host" in
84        *-*-darwin*)
85            mac=yes
86            ;;
87        *-*-linux*)
88            linux=yes
89            ;;
90    esac
91    AM_CONDITIONAL(LINUX, test "$linux" = yes)
92    AM_CONDITIONAL(MAC, test "$mac" = yes)
93    
94    # check if we're on MS Windows
95    AC_CHECK_HEADERS(
96        mmsystem.h,
97        have_windows=1,
98        have_windows=0,
99        [#include <windef.h>]
100    )
101    AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")
102    
103  AC_MSG_CHECKING([whether UNIX98 compatible])  AC_MSG_CHECKING([whether UNIX98 compatible])
104  AC_LANG_SAVE  AC_LANG_SAVE
105  AC_LANG_C  AC_LANG_C
# Line 89  have_unix98="no" Line 122  have_unix98="no"
122  )  )
123  AC_LANG_RESTORE  AC_LANG_RESTORE
124  AC_MSG_RESULT([$have_unix98])  AC_MSG_RESULT([$have_unix98])
125  if test "$have_unix98" = "no"; then  if test "$have_unix98" = "no" -a "have_windows" = "0"; then
126      if test "x$HAVE_UNIX98" = "x"; then      if test "x$HAVE_UNIX98" = "x"; then
127          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"
128          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 102  fi Line 135  fi
135  # check for <features.h>  # check for <features.h>
136  AC_CHECK_HEADERS(features.h)  AC_CHECK_HEADERS(features.h)
137    
138    # test for POSIX thread library
139    m4_ifdef([m4_include(m4/pthread.m4)],,
140                 [sinclude([m4/pthread.m4])])
141    ACX_PTHREAD
142    LIBS="$PTHREAD_LIBS $LIBS"
143    CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
144    CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
145    CC="$PTHREAD_CC"
146    
147    # check for a bug in NPTL-enabled glibc
148    # (see Gentoo bug report #194076)
149    AC_ARG_ENABLE(nptl-bug-check,
150      [  --disable-nptl-bug-check
151                              Disable check for a bug in certain NPTL-enabled
152                              glibc versions that caused crashs.],
153      [config_check_nptl_bug="$enableval"],
154      [config_check_nptl_bug="yes"]
155    )
156    if test "$config_check_nptl_bug" = "yes"; then
157        m4_ifdef([m4_include(m4/nptl_bug.m4)],,
158                 [sinclude([m4/nptl_bug.m4])])
159        ACX_NPTL_GLIBC_BUG([
160            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
161            echo "You seem to have a buggy PTHREAD library! LinuxSampler would"
162            echo "probably crash due to this. Please report us the system you are"
163            echo "using and/or file a bug report to the bug tracking system of"
164            echo "your distribution."
165            echo "If you have a NPTL-enabled glibc AND it was compiled for TLS as"
166            echo "well, you can try to circumvent this problem for now by setting"
167            echo "the environment variable LD_ASSUME_KERNEL=\"2.4.1\" , which"
168            echo "should cause this test to pass."
169            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
170            AC_MSG_ERROR([possibly NPTL glibc bug detected])
171        ])
172    else
173        echo "NPTL glibc bug check disabled"
174    fi
175    
176    # FIXME: this is actually a dependency of libgig, not of LS directly, why
177    # isn't it hidden by libgig?
178    AC_CHECK_HEADERS(uuid/uuid.h)
179    AC_SEARCH_LIBS(uuid_generate, uuid)
180    
181    
182    
183    ###########################################################################
184  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
185  # (we throw an error if there's not at least one system for audio output and MIDI input available)  # (we throw an error if there's not at least one system for audio output and MIDI input available)
186    
187  have_midi_input_driver="false"  have_midi_input_driver="false"
188  have_audio_output_driver="false"  have_audio_output_driver="false"
189    
190  AC_CHECK_HEADER(alsa/asoundlib.h,  # ALSA
191      AC_CHECK_LIB(asound, main,  AC_ARG_ENABLE(alsa-driver,
192                               have_alsa=1    [  --disable-alsa-driver
193                               ,                            Disable support for the Advanced Linux Sound
194                               have_alsa=0                            Architecture (ALSA).],
195                  )    [config_alsa_driver="$enableval"],
196                  ,    [config_alsa_driver="yes"]
197                  have_alsa=0  )
198  )  have_alsa=0
199  if test "$have_alsa" = "1"; then  if test "$config_alsa_driver" = "yes"; then
200      have_midi_input_driver="true"      AC_CHECK_HEADER(alsa/asoundlib.h,
201      have_audio_output_driver="true";          AC_CHECK_LIB(asound, main,
202                                     have_alsa=1
203                                     ,
204                                     have_alsa=0
205                        )
206                        ,
207                        have_alsa=0
208        )
209        if test "$have_alsa" = "1"; then
210            have_midi_input_driver="true"
211            have_audio_output_driver="true";
212        fi
213    
214        echo -n "checking Alsa version... "
215        AC_LANG_SAVE
216        AC_LANG_C
217        AC_TRY_RUN([
218            #include <alsa/asoundlib.h>
219            void main(void) {
220                /* ensure backward compatibility */
221                #if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR)
222                #define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR
223                #endif
224                exit(SND_LIB_MAJOR);
225            }
226        ],
227        alsa_major=0,
228        alsa_major=$?,
229        alsa_major=0
230        )
231        AC_TRY_RUN([
232            #include <alsa/asoundlib.h>
233            void main(void) {
234                /* ensure backward compatibility */
235                #if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)
236                #define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR
237                #endif
238                exit(SND_LIB_MINOR);
239            }
240        ],
241        alsa_minor=0,
242        alsa_minor=$?,
243        alsa_minor=0
244        )
245        AC_TRY_RUN([
246            #include <alsa/asoundlib.h>
247            void main(void) {
248                /* ensure backward compatibility */
249                #if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR)
250                #define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR
251                #endif
252                exit(SND_LIB_SUBMINOR);
253            }
254        ],
255        alsa_subminor=0,
256        alsa_subminor=$?,
257        alsa_subminor=0
258        )
259        AC_LANG_RESTORE
260        echo "$alsa_major.$alsa_minor.$alsa_subminor";
261        AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])
262        AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])
263        AC_DEFINE_UNQUOTED(ALSA_SUBMINOR,$alsa_subminor,[Define to the subminor version number of your Alsa installation.])
264    else
265        echo "ALSA support disabled by configure script parameter"
266  fi  fi
267  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
268  AC_DEFINE_UNQUOTED(HAVE_ALSA,$have_alsa,[Define to 1 if you have ALSA installed.])  AC_DEFINE_UNQUOTED(HAVE_ALSA,$have_alsa,[Define to 1 if you have ALSA installed.])
269    config_have_alsa="no"
270  echo -n "checking Alsa version... "  if test $have_alsa = "1"; then
271  AC_LANG_SAVE      config_have_alsa="yes"
272  AC_LANG_C  fi
 AC_TRY_RUN([  
 #include <alsa/asoundlib.h>  
 void main(void) {  
 /* ensure backward compatibility */  
 #if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR)  
 #define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR  
 #endif  
 exit(SND_LIB_MAJOR);  
 }  
 ],  
 alsa_major=0,  
 alsa_major=$?,  
 alsa_major=0  
 )  
 AC_TRY_RUN([  
 #include <alsa/asoundlib.h>  
 void main(void) {  
 /* ensure backward compatibility */  
 #if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)  
 #define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR  
 #endif  
 exit(SND_LIB_MINOR);  
 }  
 ],  
 alsa_minor=0,  
 alsa_minor=$?,  
 alsa_minor=0  
 )  
 AC_TRY_RUN([  
 #include <alsa/asoundlib.h>  
 void main(void) {  
 /* ensure backward compatibility */  
 #if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR)  
 #define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR  
 #endif  
 exit(SND_LIB_SUBMINOR);  
 }  
 ],  
 alsa_subminor=0,  
 alsa_subminor=$?,  
 alsa_subminor=0  
 )  
 AC_LANG_RESTORE  
 echo "$alsa_major.$alsa_minor.$alsa_subminor";  
 AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])  
 AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])  
 AC_DEFINE_UNQUOTED(ALSA_SUBMINOR,$alsa_subminor,[Define to the subminor version number of your Alsa installation.])  
273    
274  # JACK  # JACK
275  PKG_CHECK_MODULES(JACK, jack, HAVE_JACK=true, HAVE_JACK=false)  AC_ARG_ENABLE(jack-driver,
276  AC_SUBST(JACK_LIBS)    [  --disable-jack-driver
277  AC_SUBST(JACK_CFLAGS)                            Disable support for the Jack Audio Connection Kit
278  if test $HAVE_JACK = false; then                            (JACK).],
279      HAVE_JACK=0;    [config_jack_driver="$enableval"],
280  else    [config_jack_driver="yes"]
281      HAVE_JACK=1  )
282      have_audio_output_driver="true";  have_jack=0
283      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)  if test "$config_jack_driver" = "yes"; then
284        PKG_CHECK_MODULES(JACK, jack, have_jack=1, have_jack=0)
285        if test $have_jack = "1"; then
286            AC_SUBST(JACK_LIBS)
287            AC_SUBST(JACK_CFLAGS)
288            linuxsampler_save_LIBS=$LIBS
289            LIBS="$JACK_LIBS $LIBS"
290            AC_CHECK_FUNCS(jack_client_name_size jack_client_open)
291            LIBS=$linuxsampler_save_LIBS
292            have_audio_output_driver="true";
293        fi
294    else
295        echo "JACK support disabled by configure script parameter"
296    fi
297    AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
298    AC_DEFINE_UNQUOTED(HAVE_JACK,$have_jack,[Define to 1 if you have JACK installed.])
299    config_have_jack="no"
300    if test $have_jack = "1"; then
301        config_have_jack="yes"
302    fi
303    
304    # JACK MIDI
305    have_jack_midi=0
306    if test $have_jack = "1"; then
307        linuxsampler_save_CFLAGS=$CFLAGS
308        linuxsampler_save_LIBS=$LIBS
309        CFLAGS="$JACK_CFLAGS $CFLAGS"
310        LIBS="$JACK_LIBS $LIBS"
311        AC_CHECK_HEADER(jack/midiport.h, have_jack_midi=1, have_jack_midi=0)
312        if test $have_jack_midi = "1"; then
313            AC_CHECK_FUNCS(jack_midi_get_event_count)
314            AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jack/midiport.h>]], [[
315                jack_midi_clear_buffer(0, 0);
316            ]])], [AC_DEFINE(JACK_MIDI_FUNCS_NEED_NFRAMES, 1,
317                      [Define to 1 if you have the old jack midi functions that need an nframes argument.])])
318            have_midi_input_driver="true"
319        fi
320        CFLAGS=$linuxsampler_save_CFLAGS
321        LIBS=$linuxsampler_save_LIBS
322    fi
323    AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")
324    AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,
325                       [Define to 1 if you have JACK with MIDI support installed.])
326    config_have_jack_midi="no"
327    if test $have_jack_midi = "1"; then
328        config_have_jack_midi="yes"
329    fi
330    
331    # ARTS
332    AC_ARG_ENABLE(arts-driver,
333      [  --disable-arts-driver
334                              Disable support for the Analogue Realtime System
335                              (aRts).],
336      [config_arts_driver="$enableval"],
337      [config_arts_driver="yes"]
338    )
339    have_arts=0
340    if test "$config_arts_driver" = "yes"; then
341        m4_ifdef([m4_include(m4/arts.m4)],,
342                 [sinclude([m4/arts.m4])])
343        AM_PATH_ARTS(0.9.5, have_arts=1, have_arts=0)
344        if test "$have_arts" = "1"; then
345            have_audio_output_driver="true"
346        fi
347    else
348        echo "ARTS support disabled by configure script parameter"
349    fi
350    AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
351    AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])
352    config_have_arts="no"
353    if test $have_arts = "1"; then
354        config_have_arts="yes"
355    fi
356    
357    # ASIO AUDIO (Win32)
358    AC_ARG_ENABLE(asiosdk-dir,
359      [  --enable-asiosdk-dir
360                              Directory where the ASIO SDK is located, this automatically
361                              enables the compilation of the ASIO audio output driver.],
362      [config_asiosdk_dir="${enableval}"],
363      [config_asiosdk_dir="."]
364    )
365    AC_SUBST(config_asiosdk_dir)
366    
367    AC_ARG_ENABLE(asio-driver,
368      [  --disable-asio-driver
369                              Disable support for the Windows ASIO driver.],
370      [config_asio_driver="$enableval"],
371      [config_asio_driver="yes"]
372    )
373    have_asio=0
374    ASIOSDK_BASEDIR=
375    if test "$config_asio_driver" = "yes"; then
376        asiosdk_headerfile=$config_asiosdk_dir/ASIOSDK2/common/asio.h
377        echo -n "checking for ASIO headerfile: $asiosdk_headerfile ...."
378        if test -e $asiosdk_headerfile ; then
379            echo yes
380            have_asio=1
381            ASIOSDK_BASEDIR="$config_asiosdk_dir"
382        else
383            echo no
384            have_asio=0
385        fi
386        if test "$have_asio" = "1"; then
387            have_audio_output_driver="true"
388        fi
389    else
390        echo "Windows ASIO support disabled by configure script parameter"
391    fi
392    AC_SUBST(ASIOSDK_BASEDIR)
393    AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
394    AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.])
395    config_have_asio="no"
396    if test $have_asio = "1"; then
397        config_have_asio="yes"
398  fi  fi
 AM_CONDITIONAL(HAVE_JACK, test $HAVE_JACK = 1)  
 AC_DEFINE_UNQUOTED(HAVE_JACK,$HAVE_JACK,[Define to 1 if you have JACK installed.])  
399    
400  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
401  AC_CHECK_HEADER(MidiShare.h,  AC_ARG_ENABLE(midishare-driver,
402      AC_CHECK_LIB(MidiShare, MidiCountEvs,    [  --disable-midishare-driver
403                              have_midishare=1,                            Disable support for the MidiShare system.],
404                              have_midishare=0    [config_midishare_driver="$enableval"],
405                  )    [config_midishare_driver="yes"]
406                  ,  )
407                  have_midishare=0  have_midishare=0
408  )  if test "$config_midishare_driver" = "yes"; then
409  if test "$have_midishare" = "1"; then      AC_CHECK_HEADER(MidiShare.h,
410      have_midi_input_driver="true"          AC_CHECK_LIB(MidiShare, MidiCountEvs,
411                                    have_midishare=1,
412                                    have_midishare=0
413                        )
414                        ,
415                        have_midishare=0
416        )
417        if test "$have_midishare" = "1"; then
418            have_midi_input_driver="true"
419        fi
420    else
421        echo "MidiShare support disabled by configure script parameter"
422  fi  fi
423  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
424  AC_DEFINE_UNQUOTED(HAVE_MIDISHARE,$have_midishare,[Define to 1 if you have MidiShare installed.])  AC_DEFINE_UNQUOTED(HAVE_MIDISHARE,$have_midishare,[Define to 1 if you have MidiShare installed.])
425    config_have_midishare="no"
426    if test $have_midishare = "1"; then
427        config_have_midishare="yes"
428    fi
429    
430  # CoreMIDI (OS X)  # CoreMIDI (OS X)
431  AC_CHECK_HEADER(CoreMIDI/CoreMIDI.h,  AC_ARG_ENABLE(coremidi-driver,
432                  have_coremidi=1,    [  --disable-coremidi-driver
433                  have_coremidi=0                            Disable support for the Apple CoreMIDI system.],
434  )    [config_coremidi_driver="$enableval"],
435  if test "$have_coremidi" = "1"; then    [config_coremidi_driver="yes"]
436      have_midi_input_driver="true"  )
437    have_coremidi=0
438    if test "$config_coremidi_driver" = "yes"; then
439        AC_CHECK_HEADER(CoreMIDI/CoreMIDI.h,
440            have_coremidi=1,
441            have_coremidi=0
442        )
443        if test "$have_coremidi" = "1"; then
444            have_midi_input_driver="true"
445        fi
446    else
447        echo "CoreMIDI support disabled by configure script parameter"
448  fi  fi
449  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
450  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.])
451    config_have_coremidi="no"
452    if test $have_coremidi = "1"; then
453        config_have_coremidi="yes"
454    fi
455    
456    # CoreAudio (OS X)
457    AC_ARG_ENABLE(coreaudio-driver,
458      [  --disable-coreaudio-driver
459                              Disable support for the Apple CoreAudio system.],
460      [config_coreaudio_driver="$enableval"],
461      [config_coreaudio_driver="yes"]
462    )
463    have_coreaudio=0
464    if test "$config_coreaudio_driver" = "yes"; then
465        AC_CHECK_HEADER(CoreAudio/CoreAudio.h,
466            have_coreaudio=1,
467            have_coreaudio=0
468        )
469        if test "$have_coreaudio" = "1"; then
470            have_audio_output_driver="true"
471        fi
472    else
473        echo "CoreAudio support disabled by configure script parameter"
474    fi
475    AM_CONDITIONAL(HAVE_COREAUDIO, test $have_coreaudio = "1")
476    AC_DEFINE_UNQUOTED(HAVE_COREAUDIO,$have_coreaudio,[Define to 1 if you have CoreAudio installed.])
477    config_have_coreaudio="no"
478    if test $have_coreaudio = "1"; then
479        config_have_coreaudio="yes"
480    fi
481    
482    # MME MIDI (Win32)
483    AC_ARG_ENABLE(mmemidi-driver,
484      [  --disable-mmemidi-driver
485                              Disable support for the Windows MME MIDI system.],
486      [config_mmemidi_driver="$enableval"],
487      [config_mmemidi_driver="yes"]
488    )
489    have_mmemidi=0
490    if test "$config_mmemidi_driver" = "yes"; then
491        AC_CHECK_HEADERS(mmsystem.h,
492            have_mmemidi=1,
493            have_mmemidi=0
494        )
495        if test "$have_mmemidi" = "1"; then
496            have_midi_input_driver="true"
497        fi
498    else
499        echo "MME MIDI support disabled by configure script parameter"
500    fi
501    AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")
502    AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.])
503    config_have_mme="no"
504    if test $have_mmemidi = "1"; then
505        config_have_mme="yes"
506    fi
507    
508    # DSSI
509    AC_CHECK_HEADERS(dssi.h,
510            config_have_dssi="yes",
511            config_have_dssi="no")
512    AM_CONDITIONAL(HAVE_DSSI, test $config_have_dssi = "yes")
513    
514    # LV2
515    PKG_CHECK_MODULES(LV2, lv2 >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
516    AC_SUBST(LV2_CFLAGS)
517    AC_SUBST(LV2_LIBS)
518    AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")
519    
520    # VST
521    AC_ARG_ENABLE(vstsdk-dir,
522      [  --enable-vstsdk-dir
523                              Directory where the VST SDK is located.
524                              This automatically enables the compilation
525                              of the VST plugin.],
526      [VSTSDK_DIR="${enableval}"],
527      [VSTSDK_DIR=]
528    )
529    AC_SUBST(VSTSDK_DIR)
530    AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")
531    config_have_vst="no"
532    if test "x$VSTSDK_DIR" != "x"; then
533        config_have_vst="yes"
534    fi
535    
536    # AU
537    AC_CHECK_HEADERS(AudioUnit/AudioUnit.h,
538            config_have_au="yes",
539            config_have_au="no")
540    AM_CONDITIONAL(HAVE_AU, test $config_have_au = "yes")
541    AM_CONDITIONAL(HAVE_AUFLAGS, test "$AUFLAGS" != "")
542    
543    if test $config_have_au = "yes" ; then
544        if test "x$DEVELOPER_EXTRAS_DIR" = "x" ; then
545            if test -d /Developer/Extras ; then
546                DEVELOPER_EXTRAS_DIR=/Developer/Extras
547            else      
548                DEVELOPER_EXTRAS_DIR=/Developer/Examples
549            fi
550        fi
551        AC_SUBST(DEVELOPER_EXTRAS_DIR)
552    fi
553    
554    if test "x$MAC_PLUGIN_INSTALL_DIR" = "x" ; then
555        MAC_PLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins
556    fi
557    AC_SUBST(MAC_PLUGIN_INSTALL_DIR)
558    
559    # have we found at least one MIDI input and one audio output driver ?
560    if test "$have_midi_input_driver" = "false"; then
561        echo "No supported MIDI input system found!"
562        echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
563        echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
564        echo "If you think you have one of those available on your system, make sure you"
565        echo "also have the respective development (header) files installed."
566        exit -1;
567    fi
568    if test "$have_audio_output_driver" = "false"; then
569        echo "No supported audio output system found!"
570        echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
571        echo "driver at the moment!"
572        exit -1;
573    fi
574    
575    
576    
577    ###########################################################################
578    # Checks for various DLL libraries
579    
580  # Check presence of libgig  # Check presence of libgig
581  libgig_version="2.0.2"  libgig_version="3.3.0"
582  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)
583  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
584      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 227  fi Line 590  fi
590  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
591  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
592    
593  # SQLITE3  # SF2 Engine (requires libgig)
594  PKG_CHECK_MODULES(SQLITE3, sqlite3, HAVE_SQLITE3=true, HAVE_SQLITE3=false)  AC_ARG_ENABLE(sf2-engine,
595  AC_SUBST(SQLITE3_LIBS)    [  --disable-sf2-engine
596  AC_SUBST(SQLITE3_CFLAGS)                            Disable compilation of the SF2 engine.
597  if test $HAVE_SQLITE3 = false; then                            You need to have libgig installed.],
598      HAVE_SQLITE3=0;    [config_sf2_engine="$enableval"],
599      echo "no, support for instrument DB will be disabled!"    [config_sf2_engine="yes"]
600    )
601    HAVE_SF2=0;
602    if test "$config_sf2_engine" = "yes"; then
603        HAVE_SF2=1
604  else  else
605      HAVE_SQLITE3=1      echo "SF2 engine disabled by configure script parameter"
606      echo "yes"  fi
607    AM_CONDITIONAL(HAVE_SF2, test $HAVE_SF2 = 1)
608    AC_DEFINE_UNQUOTED(HAVE_SF2,$HAVE_SF2,[Define to 1 if you want SF2 engine and have libsf2 installed.])
609    config_have_sf2="no"
610    if test $HAVE_SF2 = "1"; then
611        config_have_sf2="yes"
612  fi  fi
 AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)  
 AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you have SQLITE3 installed.])  
613    
614  if test "$have_midi_input_driver" = "false"; then  # Check presence of libsndfile
615      echo "No supported MIDI input system found!"  libsndfile_version="1.0"
616      echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"  PKG_CHECK_MODULES(SNDFILE, sndfile >= $libsndfile_version, HAVE_SNDFILE=true, HAVE_SNDFILE=false)
617      echo "ALSA, MIDIShare, CoreMIDI."  if test "$HAVE_SNDFILE" = "false"; then
618      echo "If you think you have one of those available on your system, make sure you"      echo "Required libsndfile version not found!"
619      echo "also have the respective development (header) files installed."      echo "You need to have libsndfile version ${libsndfile_version} installed!"
620      exit -1;      exit -1;
621    else
622        echo "yes, found libsndfile $libsndfile_version"
623  fi  fi
624  if test "$have_audio_output_driver" = "false"; then  AC_SUBST(SNDFILE_CFLAGS)
625      echo "No supported audio output system found!"  AC_SUBST(SNDFILE_LIBS)
626      echo "Sorry, LinuxSampler only supports ALSA and JACK as audio output driver at the moment!"  
627      exit -1;  # Check for Vorbis support in libsndfile
628    linuxsampler_save_CFLAGS=$CFLAGS
629    CFLAGS="$SNDFILE_CFLAGS $CFLAGS"
630    AC_CHECK_DECLS([SF_FORMAT_VORBIS], [], [], [[#include <sndfile.h>]])
631    
632    # Check for loop functionality in libsndfile
633    AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],,
634                     [AC_MSG_WARN([Your version of libsndfile does not support
635        reading of loop information. LinuxSampler will not be able to
636        extract loop information from sample files.])],
637                     [#include <sndfile.h>])
638    CFLAGS=$linuxsampler_save_CFLAGS
639    
640    # Instruments DB feature (requires SQLite 3.3)
641    AC_ARG_ENABLE(instruments-db,
642      [  --disable-instruments-db
643                              Disable compilation of the sampler's instruments
644                              database feature. You need to have SQLite 3.3
645                              or younger installed for this feature.],
646      [config_instruments_db="$enableval"],
647      [config_instruments_db="yes"]
648    )
649    HAVE_SQLITE3=0;
650    if test "$config_instruments_db" = "yes"; then
651        # Check presence of sqlite3
652        sqlite_version="3.3"
653        PKG_CHECK_MODULES(SQLITE3, sqlite3 >= $sqlite_version, HAVE_SQLITE3=true, HAVE_SQLITE3=false)
654        AC_SUBST(SQLITE3_LIBS)
655        AC_SUBST(SQLITE3_CFLAGS)
656        if test $HAVE_SQLITE3 = false; then
657            HAVE_SQLITE3=0
658            config_instruments_db="no"
659            echo "*** Required sqlite version not found!"
660            echo "*** You need to have sqlite version ${sqlite_version} or higher"
661            echo "*** for instruments database support to be enabled."
662            echo "*** Support for instruments DB will be disabled!"
663        else
664            HAVE_SQLITE3=1
665        fi
666    else
667        echo "Instruments DB feature disabled by configure script parameter"
668  fi  fi
669    AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
670    AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you want the instruments DB feature and have SQLITE3 installed.])
671    
672    
673    
674  ###########################################################################  ###########################################################################
# Line 262  fi Line 677  fi
677  # TODO: should we use AC_ARG_VAR(variable, description) instead?  # TODO: should we use AC_ARG_VAR(variable, description) instead?
678    
679  AC_ARG_ENABLE(asm,  AC_ARG_ENABLE(asm,
680    [  --enable-asm    [  --disable-asm
681                            Enable hand-crafted assembly optimizations                            Enable hand-crafted assembly optimizations
682                            (default=off). LinuxSampler provides CPU specific                            (default=on). LinuxSampler provides CPU specific
683                            assembly optimizations for the most important                            assembly optimizations. This is currently limited
684                            synthesis algorithms. This is currently disabled                            to just enter a fast (denormal) FPU mode on x86
685                            by default since current asm code is broken.],                            platforms. There are currently no synthesis core
686    [config_asm="yes"],                            assembly optimizations anymore since LS 0.4.0],
687    [config_asm="no"]    [config_asm="$enableval"],
688      [config_asm="yes"]
689  )  )
690  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
691    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.])
692  fi  fi
693    
694  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
695    [  --disable-dev-mode    [  --enable-dev-mode
696                            Disable development mode (default=on). In that mode                            Enable development mode (default=off). In that mode
697                            we do some extra sanity checks here and there.                            we do some extra sanity checks here and there.
698                            This helps to spot possible problems, but reduces                            This helps to spot possible problems, but reduces
699                            efficiency a bit],                            efficiency a bit],
700    [config_dev_mode="no"],    [config_dev_mode="$enableval"],
701    [config_dev_mode="yes"]    [config_dev_mode="no"]
702  )  )
703  if test "$config_dev_mode" = "yes"; then  if test "$config_dev_mode" = "yes"; then
704    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 309  AC_ARG_ENABLE(rt-exceptions, Line 725  AC_ARG_ENABLE(rt-exceptions,
725                            context as well. Otherwise if disabled                            context as well. Otherwise if disabled
726                            segmentation faults will be forced by the                            segmentation faults will be forced by the
727                            application on critical errors.],                            application on critical errors.],
728    [config_rt_exceptions="yes"],    [config_rt_exceptions="$enableval"],
729    [config_rt_exceptions="no"]    [config_rt_exceptions="no"]
730  )  )
731  if test "$config_rt_exceptions" = "yes"; then  if test "$config_rt_exceptions" = "yes"; then
732    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.])
733  fi  fi
734    
735    config_pthread_testcancel="$mac"
736    AC_ARG_ENABLE(pthread-testcancel,
737      [  --enable-pthread-testcancel
738                              Enable pthread_testcancel() calls and avoid
739                              asynchronous cancel of pthreads (default=yes
740                              for Mac targets, no otherwise).],
741      [config_pthread_testcancel="$enableval"],
742      [])
743    if test "$config_pthread_testcancel" = "yes"; then
744      AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])
745    fi
746    
747  AC_ARG_ENABLE(preload-samples,  AC_ARG_ENABLE(preload-samples,
748    [  --enable-preload-samples    [  --enable-preload-samples
749                            Due to seeking and latency issues with hard drives                            Due to seeking and latency issues with hard drives
# Line 421  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_ Line 849  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_
849    
850  AC_ARG_ENABLE(max-streams,  AC_ARG_ENABLE(max-streams,
851    [  --enable-max-streams    [  --enable-max-streams
852                            Maximum amount of disk streams (default=90). This                            Initial maximum amount of disk streams
853                            value should always be higher than the maximum                            (default=90). This value can be changed at
854                            amount of voices.],                            runtime. It should always be higher than the
855                              maximum amount of voices.],
856    [config_max_streams="${enableval}"],    [config_max_streams="${enableval}"],
857    [config_max_streams="90"]    [config_max_streams="90"]
858  )  )
859  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.])
860    
861  AC_ARG_ENABLE(max-voices,  AC_ARG_ENABLE(max-voices,
862    [  --enable-max-voices    [  --enable-max-voices
863                            Maximum amount of voices (default=64). This value                            Initial maximum amount of voices (default=64).
864                            should always be lower than the maximum amount of                            This value can be changed at runtime. It should
865                            disk streams.],                            always be lower than the maximum amount of disk
866                              streams.],
867    [config_max_voices="${enableval}"],    [config_max_voices="${enableval}"],
868    [config_max_voices="64"]    [config_max_voices="64"]
869  )  )
870  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.])
871    
872  AC_ARG_ENABLE(subfragment-size,  AC_ARG_ENABLE(subfragment-size,
873    [  --enable-subfragment-size    [  --enable-subfragment-size
# Line 454  AC_ARG_ENABLE(subfragment-size, Line 884  AC_ARG_ENABLE(subfragment-size,
884  )  )
885  AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_SUBFRAGMENT_SIZE, $config_subfragment_size, [Define default subfragment size (in sample points).])  AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_SUBFRAGMENT_SIZE, $config_subfragment_size, [Define default subfragment size (in sample points).])
886    
887  AC_ARG_ENABLE(global-attenuation,  AC_ARG_ENABLE(global-attenuation-default,
888    [  --enable-global-attenuation    [  --enable-global-attenuation-default
889                            To prevent clipping all samples will be lowered                            To prevent clipping all samples will be lowered
890                            in amplitude by this given factor.                            in amplitude by this given default factor (can
891                              be overridden at runtime).
892                            (default=0.35)],                            (default=0.35)],
893    [config_global_attenuation="${enableval}"],    [config_global_attenuation_default="${enableval}"],
894    [config_global_attenuation="0.35"]    [config_global_attenuation_default="0.35"]
895  )  )
896  AC_DEFINE_UNQUOTED(CONFIG_GLOBAL_ATTENUATION, $config_global_attenuation, [Define global volume attenuation (as floating point factor).])  AC_DEFINE_UNQUOTED(CONFIG_GLOBAL_ATTENUATION_DEFAULT, $config_global_attenuation_default, [Define default global volume attenuation (as floating point factor).])
897    
898  AC_ARG_ENABLE(voice-steal-algo,  AC_ARG_ENABLE(voice-steal-algo,
899    [  --enable-voice-steal-algo    [  --enable-voice-steal-algo
# Line 502  AC_ARG_ENABLE(force-filter, Line 933  AC_ARG_ENABLE(force-filter,
933                            If enabled will force filter to be used even if                            If enabled will force filter to be used even if
934                            no usage was define in instrument patch files.                            no usage was define in instrument patch files.
935                            (default=no).],                            (default=no).],
936    [config_force_filter="yes"],    [config_force_filter="$enableval"],
937    [config_force_filter="no"]    [config_force_filter="no"]
938  )  )
939  if test "$config_force_filter" = "yes"; then  if test "$config_force_filter" = "yes"; then
# Line 592  AC_ARG_ENABLE(gs-checksum, Line 1023  AC_ARG_ENABLE(gs-checksum,
1023                            messages which do not provide a correct checksum                            messages which do not provide a correct checksum
1024                            will be ignored. This is disabled by default as                            will be ignored. This is disabled by default as
1025                            not all devices honor GS checksums.],                            not all devices honor GS checksums.],
1026    [config_assert_gs_sysex_checksum="yes"],    [config_assert_gs_sysex_checksum="$enableval"],
1027    [config_assert_gs_sysex_checksum="no"]    [config_assert_gs_sysex_checksum="no"]
1028  )  )
1029  if test "config_assert_gs_sysex_checksum" = "yes"; then  if test "config_assert_gs_sysex_checksum" = "yes"; then
1030    AC_DEFINE_UNQUOTED(CONFIG_ASSERT_GS_SYSEX_CHECKSUM, 1, [Define to 1 if you want to enable GS SysEx check.])    AC_DEFINE_UNQUOTED(CONFIG_ASSERT_GS_SYSEX_CHECKSUM, 1, [Define to 1 if you want to enable GS SysEx check.])
1031  fi  fi
1032    
1033    AC_ARG_ENABLE(portamento-time-min,
1034      [  --enable-portamento-time-min
1035                              Minimum Portamento time in seconds
1036                              (default=0.1).],
1037      [config_portamento_time_min="${enableval}"],
1038      [config_portamento_time_min="0.1"]
1039    )
1040    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MIN, $config_portamento_time_min, [Define min. portamento time.])
1041    
1042    AC_ARG_ENABLE(portamento-time-max,
1043      [  --enable-portamento-time-max
1044                              Maximum Portamento time in seconds
1045                              (default=32).],
1046      [config_portamento_time_max="${enableval}"],
1047      [config_portamento_time_max="32"]
1048    )
1049    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MAX, $config_portamento_time_max, [Define max. portamento time.])
1050    
1051    AC_ARG_ENABLE(portamento-time-default,
1052      [  --enable-portamento-time-default
1053                              Default Portamento time in seconds
1054                              (default=1).],
1055      [config_portamento_time_default="${enableval}"],
1056      [config_portamento_time_default="1"]
1057    )
1058    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_DEFAULT, $config_portamento_time_default, [Define default portamento time.])
1059    
1060  AC_ARG_ENABLE(signed-triang-algo,  AC_ARG_ENABLE(signed-triang-algo,
1061    [  --enable-signed-triang-algo    [  --enable-signed-triang-algo
1062                            Signed triangular wave algorithm to be used (e.g. for LFOs).                            Signed triangular wave algorithm to be used (e.g. for LFOs).
# Line 611  AC_ARG_ENABLE(signed-triang-algo, Line 1069  AC_ARG_ENABLE(signed-triang-algo,
1069                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1070                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1071                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1072                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1073                              diharmonic:                              diharmonic:
1074                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1075                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 646  AC_ARG_ENABLE(unsigned-triang-algo, Line 1103  AC_ARG_ENABLE(unsigned-triang-algo,
1103                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1104                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1105                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1106                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1107                              diharmonic:                              diharmonic:
1108                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1109                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 678  AC_ARG_ENABLE(process-muted-channels, Line 1134  AC_ARG_ENABLE(process-muted-channels,
1134                            will not discard notes, triggered in mute mode,                            will not discard notes, triggered in mute mode,
1135                            when the channel is unmuted. But also will reduce                            when the channel is unmuted. But also will reduce
1136                            the efficiency.],                            the efficiency.],
1137    [config_process_muted_channels="yes"],    [config_process_muted_channels="$enableval"],
1138    [config_process_muted_channels="no"]    [config_process_muted_channels="no"]
1139  )  )
1140  if test "$config_process_muted_channels" = "yes"; then  if test "$config_process_muted_channels" = "yes"; then
1141    AC_DEFINE_UNQUOTED(CONFIG_PROCESS_MUTED_CHANNELS, 1, [Define to 1 if you want to enable processing of muted channels.])    AC_DEFINE_UNQUOTED(CONFIG_PROCESS_MUTED_CHANNELS, 1, [Define to 1 if you want to enable processing of muted channels.])
1142  fi  fi
1143    
1144    AC_ARG_ENABLE(process-all-notes-off,
1145      [  --disable-process-all-notes-off
1146                              Disable interpretation of All-Notes-Off MIDI
1147                              messages (default=on). By default LS will release
1148                              all voices whenever it receives an All-Notes-Off
1149                              MIDI message. You can disable this behavior, so
1150                              that LS simply ignores such messages.],
1151      [config_process_all_notes_off="$enableval"],
1152      [config_process_all_notes_off="yes"]
1153    )
1154    if test "$config_process_all_notes_off" = "yes"; then
1155      AC_DEFINE_UNQUOTED(CONFIG_PROCESS_ALL_NOTES_OFF, 1, [Define to 1 if you want to enable processing of All-Notes-Off MIDI messages.])
1156    fi
1157    
1158    AC_ARG_ENABLE(interpolate-volume,
1159      [  --disable-interpolate-volume
1160                              Disable interpolation of volume modulation
1161                              (default=on). With this enabled, the volume changes
1162                              generated by for example the envelope generator
1163                              will be smoother, minimizing the risk for audio
1164                              clicks. Disable it to reduce CPU usage.],
1165      [config_interpolate_volume="$enableval"],
1166      [config_interpolate_volume="yes"]
1167    )
1168    if test "$config_interpolate_volume" = "yes"; then
1169      AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])
1170    fi
1171    
1172    AC_ARG_ENABLE(master-volume-sysex-by-port,
1173      [  --enable-master-volume-sysex-by-port
1174                              Whether global volume sysex message should be
1175                              applied globally to the whole sampler or only to
1176                              the sampler channels connected to the same MIDI
1177                              input port on which the sysex message arrived on.
1178                              By default global volume sysex messages apply
1179                              globally to the whole sampler, since many MIDI
1180                              devices behave that way.],
1181      [config_master_volume_sysex_by_port="$enableval"],
1182      [config_master_volume_sysex_by_port="no"]
1183    )
1184    if test "$config_master_volume_sysex_by_port" = "yes"; then
1185      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.])
1186    fi
1187    
1188    AC_ARG_ENABLE(plugin-dir,
1189      [  --enable-plugin-dir
1190                              Directory where the sampler shall look for potential plugins,
1191                              that is 3rd party shared libraries that should be loaded by
1192                              the sampler on startup. By default the sampler will search
1193                              for plugins in the subdirectory "plugins" below its own
1194                              library directory.
1195                              (i.e. /usr/local/lib/linuxsampler/plugins)],
1196      [config_plugin_dir="${enableval}"],
1197      [config_plugin_dir="${libdir}/linuxsampler/plugins"]
1198    )
1199    AC_SUBST(config_plugin_dir)
1200    
1201    AC_ARG_ENABLE(default-instruments-db-location,
1202      [  --enable-default-instruments-db-location
1203                              Only when instruments DB feature is enabled: file name
1204                              which shall be taken as default location of the
1205                              instruments DB file. This location can still be
1206                              overridden at runtime with a command line switch.
1207                              (default: /var/lib/linuxsampler/instruments.db)],
1208      [config_default_instruments_db_file="${enableval}"],
1209      [config_default_instruments_db_file="/var/lib/linuxsampler/instruments.db"]
1210    )
1211    AC_DEFINE_UNQUOTED(
1212        CONFIG_DEFAULT_INSTRUMENTS_DB_LOCATION,
1213        "$config_default_instruments_db_file",
1214        [Only when instruments DB feature is enabled: default location of the DB file.]
1215    )
1216    AC_SUBST(config_default_instruments_db_file)
1217    
1218    
1219  ###########################################################################  ###########################################################################
1220  # Automatic Benchmarks (to detect the best algorithms for the system)  # Automatic Benchmarks (to detect the best algorithms for the system)
# Line 719  if test "$config_signed_triang_algo" = " Line 1249  if test "$config_signed_triang_algo" = "
1249          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1250          exit -1;          exit -1;
1251      fi      fi
1252    else
1253        case "$config_signed_triang_algo" in
1254            intmath)
1255                triang_signed=2 ;;
1256            diharmonic)
1257                triang_signed=3 ;;
1258            intmathabs)
1259                triang_signed=5 ;;
1260        esac
1261  fi  fi
1262  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.])
1263    
# Line 750  if test "$config_unsigned_triang_algo" = Line 1289  if test "$config_unsigned_triang_algo" =
1289          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1290          exit -1;          exit -1;
1291      fi      fi
1292    else
1293        case "$config_unsigned_triang_algo" in
1294            intmath)
1295                triang_unsigned=2 ;;
1296            diharmonic)
1297                triang_unsigned=3 ;;
1298            intmathabs)
1299                triang_unsigned=5 ;;
1300        esac
1301  fi  fi
1302  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.])
1303    
# Line 763  AM_CONFIG_HEADER(config.h) Line 1311  AM_CONFIG_HEADER(config.h)
1311  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")
1312    
1313  AC_LANG_CPLUSPLUS  AC_LANG_CPLUSPLUS
 AC_PROG_CXX  
   
 # 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  
1314    
1315  # autoconf 2.59/libtool 1.5.12 bug? work-around. Without a check like  # autoconf 2.59/libtool 1.5.12 bug? work-around. Without a check like
1316  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
# Line 781  AC_OUTPUT( \ Line 1321  AC_OUTPUT( \
1321      man/Makefile \      man/Makefile \
1322      man/linuxsampler.1 \      man/linuxsampler.1 \
1323      src/Makefile \      src/Makefile \
1324        src/db/Makefile \
1325      src/network/Makefile \      src/network/Makefile \
1326      src/engines/Makefile \      src/engines/Makefile \
1327      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1328        src/engines/sf2/Makefile \
1329        src/engines/sfz/Makefile \
1330      src/engines/common/Makefile \      src/engines/common/Makefile \
1331      src/common/Makefile src/lib/Makefile \      src/effects/Makefile \
1332      src/lib/fileloader/Makefile \      src/common/Makefile \
     src/lib/fileloader/libgig/Makefile \  
1333      src/testcases/Makefile \      src/testcases/Makefile \
1334      src/drivers/Makefile \      src/drivers/Makefile \
1335      src/drivers/audio/Makefile \      src/drivers/audio/Makefile \
1336      src/drivers/midi/Makefile \      src/drivers/midi/Makefile \
1337        src/plugins/Makefile \
1338        src/hostplugins/Makefile \
1339        src/hostplugins/dssi/Makefile \
1340        src/hostplugins/lv2/Makefile \
1341        src/hostplugins/vst/Makefile \
1342        src/hostplugins/au/Makefile \
1343      linuxsampler.spec \      linuxsampler.spec \
1344      debian/Makefile \      debian/Makefile \
1345      Artwork/Makefile \      Artwork/Makefile \
1346      scripts/Makefile \      scripts/Makefile \
1347      osx/Makefile \      osx/Makefile \
1348      osx/LinuxSampler.xcode/Makefile \      osx/linuxsampler.xcodeproj/Makefile \
1349      Documentation/Makefile \      Documentation/Makefile \
1350      Documentation/Engines/Makefile \      Documentation/Engines/Makefile \
1351      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
# Line 805  AC_OUTPUT( \ Line 1353  AC_OUTPUT( \
1353      Doxyfile \      Doxyfile \
1354  )  )
1355    
1356    # resolve all nested variables in '${config_plugin_dir}'
1357    # (merely for providing a human readable summary below)
1358    while test $config_plugin_dir != `eval echo ${config_plugin_dir}` ; do
1359            config_plugin_dir=`eval echo ${config_plugin_dir}`
1360    done
1361    
1362    
1363  ###########################################################################  ###########################################################################
1364  # Output All Configuration Options  # Output All Configuration Options
# Line 813  echo "" Line 1367  echo ""
1367  echo "#####################################################################"  echo "#####################################################################"
1368  echo "# LinuxSampler Configuration                                        #"  echo "# LinuxSampler Configuration                                        #"
1369  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1370    echo "# Release Version: ${LINUXSAMPLER_RELEASE_MAJOR}.${LINUXSAMPLER_RELEASE_MINOR}.${LINUXSAMPLER_RELEASE_BUILD}"
1371    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1372    echo "#-------------------------------------------------------------------"
1373  echo "# Assembly Optimizations: ${config_asm}"  echo "# Assembly Optimizations: ${config_asm}"
1374  echo "# Development Mode: ${config_dev_mode}"  echo "# Development Mode: ${config_dev_mode}"
1375  echo "# Debug Level: ${config_debug_level}"  echo "# Debug Level: ${config_debug_level}"
# Line 826  echo "# Streams to be refilled per Disk Line 1383  echo "# Streams to be refilled per Disk
1383  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1384  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1385  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
1386  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Default Maximum Disk Streams: ${config_max_streams}"
1387  echo "# Maximum Voices: ${config_max_voices}"  echo "# Default Maximum Voices: ${config_max_voices}"
1388  echo "# Default Subfragment Size: ${config_subfragment_size}"  echo "# Default Subfragment Size: ${config_subfragment_size}"
1389  echo "# Global Volume Attenuation: ${config_global_attenuation}"  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1390  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
1391  echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"  echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"
1392  echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"  echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"
1393  echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"  echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"
1394    echo "# Min. Portamento Time: ${config_portamento_time_min} s"
1395    echo "# Max. Portamento Time: ${config_portamento_time_max} s"
1396    echo "# Default Portamento Time: ${config_portamento_time_default} s"
1397  echo "# Force Filter Usage: ${config_force_filter}"  echo "# Force Filter Usage: ${config_force_filter}"
1398  echo "# Filter Cutoff Minimum: ${config_filter_cutoff_min} Hz"  echo "# Filter Cutoff Minimum: ${config_filter_cutoff_min} Hz"
1399  echo "# Filter Cutoff Maximum: ${config_filter_cutoff_max} Hz"  echo "# Filter Cutoff Maximum: ${config_filter_cutoff_max} Hz"
# Line 842  echo "# Override Filter Resonance Contro Line 1402  echo "# Override Filter Resonance Contro
1402  echo "# Override Filter Type: ${config_override_filter_type}"  echo "# Override Filter Type: ${config_override_filter_type}"
1403  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1404  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
1405    echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1406    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1407    echo "# Interpolate Volume: ${config_interpolate_volume}"
1408    echo "# Instruments database support: ${config_instruments_db}"
1409    if test "$config_instruments_db" = "yes"; then
1410    echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1411    fi
1412    echo "# Plugin Path: ${config_plugin_dir}"
1413    echo "#-------------------------------------------------------------------"
1414    echo "# MIDI Input Drivers:"
1415    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}"
1416    echo "#-------------------------------------------------------------------"
1417    echo "# Audio Output Drivers:"
1418    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}"
1419    echo "#-------------------------------------------------------------------"
1420    echo "# Sampler Engines:"
1421    echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes"
1422    echo "#-------------------------------------------------------------------"
1423    echo "# Effect plugin systems for internal effects:"
1424    echo "# LADSPA: yes"
1425    echo "#-------------------------------------------------------------------"
1426    echo "# Building sampler as plugin for following host standards:"
1427    echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}"
1428  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1429  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
1430  echo "#####################################################################"  echo "#####################################################################"

Legend:
Removed from v.822  
changed lines
  Added in v.2356

  ViewVC Help
Powered by ViewVC