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

Diff of /linuxsampler/trunk/configure.ac

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

linuxsampler/trunk/configure.in revision 1049 by schoenebeck, Wed Feb 28 06:53:42 2007 UTC linuxsampler/trunk/configure.ac revision 3013 by schoenebeck, Sat Oct 15 23:54:27 2016 UTC
# Line 1  Line 1 
 AC_INIT(configure.in)  
   
1  #------------------------------------------------------------------------------------  #------------------------------------------------------------------------------------
2  # LinuxSampler's / liblinuxsampler's "official" release version:  # LinuxSampler's / liblinuxsampler's "official" release version:
3    
4  LINUXSAMPLER_RELEASE_MAJOR=0  m4_define(linuxsampler_release_major, 2)
5  LINUXSAMPLER_RELEASE_MINOR=4  m4_define(linuxsampler_release_minor, 0)
6  LINUXSAMPLER_RELEASE_BUILD=0.4cvs  m4_define(linuxsampler_release_build, 0.svn27)
7    
8    
9    AC_INIT([linuxsampler],[linuxsampler_release_major.linuxsampler_release_minor.linuxsampler_release_build])
10    AC_CONFIG_SRCDIR([configure.ac])
11    
12  #------------------------------------------------------------------------------------  #------------------------------------------------------------------------------------
13  # 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 26  LINUXSAMPLER_RELEASE_BUILD=0.4cvs
26  #  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
27  #     to 0.  #     to 0.
28    
29  LIBLINUXSAMPLER_LT_CURRENT=0  LIBLINUXSAMPLER_LT_CURRENT=4
30  LIBLINUXSAMPLER_LT_REVISION=0  LIBLINUXSAMPLER_LT_REVISION=0
31  LIBLINUXSAMPLER_LT_AGE=0  LIBLINUXSAMPLER_LT_AGE=0
32  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT_CURRENT:$LIBLINUXSAMPLER_LT_REVISION:$LIBLINUXSAMPLER_LT_AGE"  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT_CURRENT:$LIBLINUXSAMPLER_LT_REVISION:$LIBLINUXSAMPLER_LT_AGE"
# Line 33  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT Line 35  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT
35  # the LSCP specification version this LinuSampler release complies with:  # the LSCP specification version this LinuSampler release complies with:
36    
37  LSCP_RELEASE_MAJOR=1  LSCP_RELEASE_MAJOR=1
38  LSCP_RELEASE_MINOR=2  LSCP_RELEASE_MINOR=7
39    
40  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.])
41  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.])
42    
43  AM_PROG_LIBTOOL  AM_INIT_AUTOMAKE([subdir-objects])
44    AC_PROG_CC
45    AC_PROG_CXX
46    AC_LIBTOOL_WIN32_DLL
47    AC_PROG_LIBTOOL
48    AC_PROG_LEX
49    AC_PROG_YACC
50    
51  AC_SUBST(SHLIB_VERSION_ARG)  AC_SUBST(SHLIB_VERSION_ARG)
52  AC_SUBST(SHARED_VERSION_INFO)  AC_SUBST(SHARED_VERSION_INFO)
53    
54  AC_C_BIGENDIAN  module=yes eval LIB_EXT=$shrext_cmds
55  AC_CANONICAL_SYSTEM  AC_SUBST(LIB_EXT)
56    
57  AC_SUBST(target)  AC_C_BIGENDIAN
58  AC_SUBST(target_alias)  AC_CANONICAL_HOST
 AC_SUBST(target_cpu)  
 AC_SUBST(target_os)  
 AC_SUBST(target_vendor)  
59    
60    PKG_PROG_PKG_CONFIG
61    
62  ###########################################################################  ###########################################################################
63  # General Checks  # General Checks
64    
65    AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
66    
67  AC_MSG_CHECKING([whether x86 architecture])  AC_MSG_CHECKING([whether x86 architecture])
68  def_arch_x86=0  def_arch_x86=0
69  case $target_cpu in  case $host_cpu in
70    "i386" | "i486" | "i586" | "i686" | "i786")    "i386" | "i486" | "i586" | "i686" | "i786" | "x86_64")
71      echo "yes"      echo "yes"
72      def_arch_x86=1;;      def_arch_x86=1;;
73    *)    *)
# Line 71  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x8 Line 79  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x8
79  # (only if the user did not provide one)  # (only if the user did not provide one)
80  CXX_CPU_SWITCH=  CXX_CPU_SWITCH=
81  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then
82    if test "$def_arch_x86" = 1; then    if test "$def_arch_x86" = 1 -a "$host_cpu" != "x86_64"; then
83      CXX_CPU_SWITCH="-march=$target_cpu"      CXX_CPU_SWITCH="-march=$host_cpu"
84    elif test "$target_cpu" = "ppc"; then    elif test "$target_cpu" = "ppc"; then
85      CXX_CPU_SWITCH="-arch=$target_cpu"      CXX_CPU_SWITCH="-arch=$host_cpu"
86    fi    fi
87  fi  fi
88  AC_SUBST([CXX_CPU_SWITCH])  AC_SUBST([CXX_CPU_SWITCH])
89    
90    mac=no
91    linux=no
92    case "$host" in
93        *-*-darwin*)
94            mac=yes
95            ;;
96        *-*-linux*)
97            linux=yes
98            ;;
99    esac
100    AM_CONDITIONAL(LINUX, test "$linux" = yes)
101    AM_CONDITIONAL(MAC, test "$mac" = yes)
102    
103    # check if we're on MS Windows
104    AC_CHECK_HEADERS(
105        mmsystem.h,
106        have_windows=1,
107        have_windows=0,
108        [#include <windef.h>]
109    )
110    AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")
111    
112  AC_MSG_CHECKING([whether UNIX98 compatible])  AC_MSG_CHECKING([whether UNIX98 compatible])
113  AC_LANG_SAVE  AC_LANG_PUSH([C])
114  AC_LANG_C  AC_RUN_IFELSE([AC_LANG_SOURCE([[
 AC_TRY_RUN([  
115  #ifndef _GNU_SOURCE  #ifndef _GNU_SOURCE
116  #define _GNU_SOURCE 1  #define _GNU_SOURCE 1
117  #endif  #endif
# Line 94  exit(0); /* UNIX98 compatible */ Line 123  exit(0); /* UNIX98 compatible */
123  exit(-1); /* not UNIX98 compatible */  exit(-1); /* not UNIX98 compatible */
124  #endif  #endif
125  }  }
126  ],  ]])],
127  have_unix98="yes",  have_unix98="yes",
128  have_unix98="no",  have_unix98="no",
129  have_unix98="no"  have_unix98="no"
130  )  )
131  AC_LANG_RESTORE  AC_LANG_POP([C])
132  AC_MSG_RESULT([$have_unix98])  AC_MSG_RESULT([$have_unix98])
133  if test "$have_unix98" = "no"; then  if test "$have_unix98" = "no" -a "$have_windows" = "0" -a "$mac" = "no" ; then
134      if test "x$HAVE_UNIX98" = "x"; then      if test "x$HAVE_UNIX98" = "x"; then
135          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"
136          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"
137          echo "./configure with environment variable HAVE_UNIX98=1 in case you think you          echo "./configure with environment variable HAVE_UNIX98=1 in case you think you"
138          echo "have a UNIX98 compatible system."          echo "have a UNIX98 compatible system."
139          exit -1;          exit -1;
140      fi      fi
# Line 114  fi Line 143  fi
143  # check for <features.h>  # check for <features.h>
144  AC_CHECK_HEADERS(features.h)  AC_CHECK_HEADERS(features.h)
145    
146    # test for POSIX thread library
147    m4_ifdef([m4_include(m4/pthread.m4)],,
148                 [sinclude([m4/pthread.m4])])
149    ACX_PTHREAD
150    LIBS="$PTHREAD_LIBS $LIBS"
151    CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
152    CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
153    CC="$PTHREAD_CC"
154    
155    # check for a bug in NPTL-enabled glibc
156    # (see Gentoo bug report #194076)
157    AC_ARG_ENABLE(nptl-bug-check,
158      [  --disable-nptl-bug-check
159                              Disable check for a bug in certain NPTL-enabled
160                              glibc versions that caused crashs.],
161      [config_check_nptl_bug="$enableval"],
162      [config_check_nptl_bug="yes"]
163    )
164    if test "$config_check_nptl_bug" = "yes"; then
165        m4_ifdef([m4_include(m4/nptl_bug.m4)],,
166                 [sinclude([m4/nptl_bug.m4])])
167        ACX_NPTL_GLIBC_BUG([
168            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
169            echo "You seem to have a buggy PTHREAD library! LinuxSampler would"
170            echo "probably crash due to this. Please report us the system you are"
171            echo "using and/or file a bug report to the bug tracking system of"
172            echo "your distribution."
173            echo "If you have a NPTL-enabled glibc AND it was compiled for TLS as"
174            echo "well, you can try to circumvent this problem for now by setting"
175            echo "the environment variable LD_ASSUME_KERNEL=\"2.4.1\" , which"
176            echo "should cause this test to pass."
177            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
178            AC_MSG_ERROR([possibly NPTL glibc bug detected])
179        ])
180    else
181        echo "NPTL glibc bug check disabled"
182    fi
183    
184    
185    # In case Bison is available, determine the exact version, since we need to
186    # use different custom parser code for Bison 2.x vs. Bison 3.x generated
187    # parser yacc tables.
188    if echo "$YACC" | grep -q bison; then
189        # NOTE: m4 removes [], that's why it needs to be escaped
190        bison_version=[`$YACC --version | head -n 1 | sed -e 's/[^0-9.]*\([-0-9.]\+\)$/\1/'`]
191        bison_version_major=`echo $bison_version | cut -d. -f1`
192        bison_version_minor=`echo $bison_version | cut -d. -f2`
193        AC_DEFINE_UNQUOTED(HAVE_BISON_MAJ,$bison_version_major,[Define to the major version of the GNU Bison program installed.])
194        AC_DEFINE_UNQUOTED(HAVE_BISON_MIN,$bison_version_minor,[Define to the minor version of the GNU Bison program installed.])
195    fi
196    
197    
198    
199  ###########################################################################  ###########################################################################
200  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
# Line 127  AC_ARG_ENABLE(alsa-driver, Line 208  AC_ARG_ENABLE(alsa-driver,
208    [  --disable-alsa-driver    [  --disable-alsa-driver
209                            Disable support for the Advanced Linux Sound                            Disable support for the Advanced Linux Sound
210                            Architecture (ALSA).],                            Architecture (ALSA).],
211    [config_alsa_driver="no"],    [config_alsa_driver="$enableval"],
212    [config_alsa_driver="yes"]    [config_alsa_driver="yes"]
213  )  )
214  have_alsa=0  have_alsa=0
# Line 147  if test "$config_alsa_driver" = "yes"; t Line 228  if test "$config_alsa_driver" = "yes"; t
228      fi      fi
229    
230      echo -n "checking Alsa version... "      echo -n "checking Alsa version... "
231      AC_LANG_SAVE      AC_LANG_PUSH([C])
232      AC_LANG_C      AC_RUN_IFELSE([AC_LANG_SOURCE([[
     AC_TRY_RUN([  
233          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
234          void main(void) {          void main(void) {
235              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 158  if test "$config_alsa_driver" = "yes"; t Line 238  if test "$config_alsa_driver" = "yes"; t
238              #endif              #endif
239              exit(SND_LIB_MAJOR);              exit(SND_LIB_MAJOR);
240          }          }
241      ],      ]])],
242      alsa_major=0,      alsa_major=0,
243      alsa_major=$?,      alsa_major=$?,
244      alsa_major=0      alsa_major=0
245      )      )
246      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
247          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
248          void main(void) {          void main(void) {
249              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 172  if test "$config_alsa_driver" = "yes"; t Line 252  if test "$config_alsa_driver" = "yes"; t
252              #endif              #endif
253              exit(SND_LIB_MINOR);              exit(SND_LIB_MINOR);
254          }          }
255      ],      ]])],
256      alsa_minor=0,      alsa_minor=0,
257      alsa_minor=$?,      alsa_minor=$?,
258      alsa_minor=0      alsa_minor=0
259      )      )
260      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
261          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
262          void main(void) {          void main(void) {
263              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 186  if test "$config_alsa_driver" = "yes"; t Line 266  if test "$config_alsa_driver" = "yes"; t
266              #endif              #endif
267              exit(SND_LIB_SUBMINOR);              exit(SND_LIB_SUBMINOR);
268          }          }
269      ],      ]])],
270      alsa_subminor=0,      alsa_subminor=0,
271      alsa_subminor=$?,      alsa_subminor=$?,
272      alsa_subminor=0      alsa_subminor=0
273      )      )
274      AC_LANG_RESTORE      AC_LANG_POP([C])
275      echo "$alsa_major.$alsa_minor.$alsa_subminor";      echo "$alsa_major.$alsa_minor.$alsa_subminor";
276      AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])      AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])
277      AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])      AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])
# Line 201  else Line 281  else
281  fi  fi
282  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
283  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.])
284    config_have_alsa="no"
285    if test $have_alsa = "1"; then
286        config_have_alsa="yes"
287    fi
288    
289  # JACK  # JACK
290  AC_ARG_ENABLE(jack-driver,  AC_ARG_ENABLE(jack-driver,
291    [  --disable-jack-driver    [  --disable-jack-driver
292                            Disable support for the Jack Audio Connection Kit                            Disable support for the Jack Audio Connection Kit
293                            (JACK).],                            (JACK).],
294    [config_jack_driver="no"],    [config_jack_driver="$enableval"],
295    [config_jack_driver="yes"]    [config_jack_driver="yes"]
296  )  )
297  have_jack=0  have_jack=0
# Line 216  if test "$config_jack_driver" = "yes"; t Line 300  if test "$config_jack_driver" = "yes"; t
300      if test $have_jack = "1"; then      if test $have_jack = "1"; then
301          AC_SUBST(JACK_LIBS)          AC_SUBST(JACK_LIBS)
302          AC_SUBST(JACK_CFLAGS)          AC_SUBST(JACK_CFLAGS)
303          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
304            LIBS="$JACK_LIBS $LIBS"
305            AC_CHECK_FUNCS(jack_client_name_size jack_client_open \
306                           jack_on_info_shutdown)
307            LIBS=$linuxsampler_save_LIBS
308          have_audio_output_driver="true";          have_audio_output_driver="true";
309      fi      fi
310  else  else
# Line 224  else Line 312  else
312  fi  fi
313  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
314  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.])
315    config_have_jack="no"
316    if test $have_jack = "1"; then
317        config_have_jack="yes"
318    fi
319    
320    # JACK MIDI
321    have_jack_midi=0
322    if test $have_jack = "1"; then
323        linuxsampler_save_CFLAGS=$CFLAGS
324        linuxsampler_save_LIBS=$LIBS
325        CFLAGS="$JACK_CFLAGS $CFLAGS"
326        LIBS="$JACK_LIBS $LIBS"
327        AC_CHECK_HEADER(jack/midiport.h, have_jack_midi=1, have_jack_midi=0)
328        if test $have_jack_midi = "1"; then
329            AC_CHECK_FUNCS(jack_midi_get_event_count)
330            AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jack/midiport.h>]], [[
331                jack_midi_clear_buffer(0, 0);
332            ]])], [AC_DEFINE(JACK_MIDI_FUNCS_NEED_NFRAMES, 1,
333                      [Define to 1 if you have the old jack midi functions that need an nframes argument.])])
334            have_midi_input_driver="true"
335        fi
336        CFLAGS=$linuxsampler_save_CFLAGS
337        LIBS=$linuxsampler_save_LIBS
338    fi
339    AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")
340    AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,
341                       [Define to 1 if you have JACK with MIDI support installed.])
342    config_have_jack_midi="no"
343    if test $have_jack_midi = "1"; then
344        config_have_jack_midi="yes"
345    fi
346    
347  # ARTS  # ARTS
348  AC_ARG_ENABLE(arts-driver,  AC_ARG_ENABLE(arts-driver,
349    [  --disable-arts-driver    [  --disable-arts-driver
350                            Disable support for the Analogue Realtime System                            Disable support for the Analogue Realtime System
351                            (aRts).],                            (aRts).],
352    [config_arts_driver="no"],    [config_arts_driver="$enableval"],
353    [config_arts_driver="yes"]    [config_arts_driver="yes"]
354  )  )
355  have_arts=0  have_arts=0
# Line 246  else Line 365  else
365  fi  fi
366  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
367  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.])
368    config_have_arts="no"
369    if test $have_arts = "1"; then
370        config_have_arts="yes"
371    fi
372    
373    # ASIO AUDIO (Win32)
374    AC_ARG_ENABLE(asiosdk-dir,
375      [  --enable-asiosdk-dir
376                              Directory where the ASIO SDK is located, this automatically
377                              enables the compilation of the ASIO audio output driver.],
378      [config_asiosdk_dir="${enableval}"],
379      [config_asiosdk_dir="."]
380    )
381    AC_SUBST(config_asiosdk_dir)
382    
383    AC_ARG_ENABLE(asio-driver,
384      [  --disable-asio-driver
385                              Disable support for the Windows ASIO driver.],
386      [config_asio_driver="$enableval"],
387      [config_asio_driver="yes"]
388    )
389    have_asio=0
390    ASIOSDK_BASEDIR=
391    if test "$config_asio_driver" = "yes"; then
392        asiosdk_headerfile=$config_asiosdk_dir/ASIOSDK2/common/asio.h
393        echo -n "checking for ASIO headerfile: $asiosdk_headerfile ...."
394        if test -e $asiosdk_headerfile ; then
395            echo yes
396            have_asio=1
397            ASIOSDK_BASEDIR="$config_asiosdk_dir"
398        else
399            echo no
400            have_asio=0
401        fi
402        if test "$have_asio" = "1"; then
403            have_audio_output_driver="true"
404        fi
405    else
406        echo "Windows ASIO support disabled by configure script parameter"
407    fi
408    AC_SUBST(ASIOSDK_BASEDIR)
409    AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
410    AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.])
411    config_have_asio="no"
412    if test $have_asio = "1"; then
413        config_have_asio="yes"
414    fi
415    
416  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
417  AC_ARG_ENABLE(midishare-driver,  AC_ARG_ENABLE(midishare-driver,
418    [  --disable-midishare-driver    [  --disable-midishare-driver
419                            Disable support for the MidiShare system.],                            Disable support for the MidiShare system.],
420    [config_midishare_driver="no"],    [config_midishare_driver="$enableval"],
421    [config_midishare_driver="yes"]    [config_midishare_driver="yes"]
422  )  )
423  have_midishare=0  have_midishare=0
# Line 272  else Line 438  else
438  fi  fi
439  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
440  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.])
441    config_have_midishare="no"
442    if test $have_midishare = "1"; then
443        config_have_midishare="yes"
444    fi
445    
446  # CoreMIDI (OS X)  # CoreMIDI (OS X)
447  AC_ARG_ENABLE(coremidi-driver,  AC_ARG_ENABLE(coremidi-driver,
448    [  --disable-coremidi-driver    [  --disable-coremidi-driver
449                            Disable support for the Apple CoreMIDI system.],                            Disable support for the Apple CoreMIDI system.],
450    [config_coremidi_driver="no"],    [config_coremidi_driver="$enableval"],
451    [config_coremidi_driver="yes"]    [config_coremidi_driver="yes"]
452  )  )
453  have_coremidi=0  have_coremidi=0
# Line 294  else Line 464  else
464  fi  fi
465  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
466  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.])
467    config_have_coremidi="no"
468    if test $have_coremidi = "1"; then
469        config_have_coremidi="yes"
470    fi
471    
472    # CoreAudio (OS X)
473    AC_ARG_ENABLE(coreaudio-driver,
474      [  --disable-coreaudio-driver
475                              Disable support for the Apple CoreAudio system.],
476      [config_coreaudio_driver="$enableval"],
477      [config_coreaudio_driver="yes"]
478    )
479    have_coreaudio=0
480    if test "$config_coreaudio_driver" = "yes"; then
481        AC_CHECK_HEADER(CoreAudio/CoreAudio.h,
482            have_coreaudio=1,
483            have_coreaudio=0
484        )
485        if test "$have_coreaudio" = "1"; then
486            have_audio_output_driver="true"
487        fi
488    else
489        echo "CoreAudio support disabled by configure script parameter"
490    fi
491    AM_CONDITIONAL(HAVE_COREAUDIO, test $have_coreaudio = "1")
492    AC_DEFINE_UNQUOTED(HAVE_COREAUDIO,$have_coreaudio,[Define to 1 if you have CoreAudio installed.])
493    config_have_coreaudio="no"
494    if test $have_coreaudio = "1"; then
495        config_have_coreaudio="yes"
496    fi
497    
498    # MME MIDI (Win32)
499    AC_ARG_ENABLE(mmemidi-driver,
500      [  --disable-mmemidi-driver
501                              Disable support for the Windows MME MIDI system.],
502      [config_mmemidi_driver="$enableval"],
503      [config_mmemidi_driver="yes"]
504    )
505    have_mmemidi=0
506    if test "$config_mmemidi_driver" = "yes"; then
507        AC_CHECK_HEADERS(mmsystem.h,
508            have_mmemidi=1,
509            have_mmemidi=0
510        )
511        if test "$have_mmemidi" = "1"; then
512            have_midi_input_driver="true"
513        fi
514    else
515        echo "MME MIDI support disabled by configure script parameter"
516    fi
517    AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")
518    AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.])
519    config_have_mme="no"
520    if test $have_mmemidi = "1"; then
521        config_have_mme="yes"
522    fi
523    
524    # DSSI
525    AC_CHECK_HEADERS(dssi.h,
526            config_have_dssi="yes",
527            config_have_dssi="no")
528    AM_CONDITIONAL(HAVE_DSSI, test $config_have_dssi = "yes")
529    
530    # LV2
531    PKG_CHECK_MODULES(LV2, lv2 >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
532    if test "$config_have_lv2" != "yes"; then
533        PKG_CHECK_MODULES(LV2, lv2core >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
534    fi
535    AC_SUBST(LV2_CFLAGS)
536    AC_SUBST(LV2_LIBS)
537    AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")
538    
539    # VST
540    AC_ARG_ENABLE(vstsdk-dir,
541      [  --enable-vstsdk-dir
542                              Directory where the VST SDK is located.
543                              This automatically enables the compilation
544                              of the VST plugin.],
545      [VSTSDK_DIR="${enableval}"],
546      [VSTSDK_DIR=]
547    )
548    AC_SUBST(VSTSDK_DIR)
549    AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")
550    config_have_vst="no"
551    if test "x$VSTSDK_DIR" != "x"; then
552        config_have_vst="yes"
553    fi
554    
555    # AU
556    AC_CHECK_HEADERS(AudioUnit/AudioUnit.h,
557            config_have_au="yes",
558            config_have_au="no")
559    AM_CONDITIONAL(HAVE_AU, test $config_have_au = "yes")
560    AM_CONDITIONAL(HAVE_AUFLAGS, test "$AUFLAGS" != "")
561    
562    if test $config_have_au = "yes" ; then
563        if test "x$DEVELOPER_EXTRAS_DIR" = "x" ; then
564            if test -d /Developer/Extras ; then
565                DEVELOPER_EXTRAS_DIR=/Developer/Extras
566            else      
567                DEVELOPER_EXTRAS_DIR=/Developer/Examples
568            fi
569        fi
570        AC_SUBST(DEVELOPER_EXTRAS_DIR)
571    fi
572    
573    if test "x$MAC_PLUGIN_INSTALL_DIR" = "x" ; then
574        MAC_PLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins
575    fi
576    AC_SUBST(MAC_PLUGIN_INSTALL_DIR)
577    
578    # have we found at least one MIDI input and one audio output driver ?
579    if test "$have_midi_input_driver" = "false"; then
580        echo "No supported MIDI input system found!"
581        echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
582        echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
583        echo "If you think you have one of those available on your system, make sure you"
584        echo "also have the respective development (header) files installed."
585        exit -1;
586    fi
587    if test "$have_audio_output_driver" = "false"; then
588        echo "No supported audio output system found!"
589        echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
590        echo "driver at the moment!"
591        exit -1;
592    fi
593    
594    
595    
596    ###########################################################################
597    # Checks for various DLL libraries
598    
599  # Check presence of libgig  # Check presence of libgig
600  libgig_version="3.1.0"  libgig_version="4.0.0"
601  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)
602  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
603      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 308  fi Line 609  fi
609  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
610  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
611    
612  # SQLITE3  # SF2 Engine (requires libgig)
613  PKG_CHECK_MODULES(SQLITE3, sqlite3, HAVE_SQLITE3=true, HAVE_SQLITE3=false)  AC_ARG_ENABLE(sf2-engine,
614  AC_SUBST(SQLITE3_LIBS)    [  --disable-sf2-engine
615  AC_SUBST(SQLITE3_CFLAGS)                            Disable compilation of the SF2 engine.
616  if test $HAVE_SQLITE3 = false; then                            You need to have libgig installed.],
617      HAVE_SQLITE3=0;    [config_sf2_engine="$enableval"],
618      echo "no, support for instrument DB will be disabled!"    [config_sf2_engine="yes"]
619    )
620    HAVE_SF2=0;
621    if test "$config_sf2_engine" = "yes"; then
622        HAVE_SF2=1
623  else  else
624      HAVE_SQLITE3=1      echo "SF2 engine disabled by configure script parameter"
625      echo "yes"  fi
626    AM_CONDITIONAL(HAVE_SF2, test $HAVE_SF2 = 1)
627    AC_DEFINE_UNQUOTED(HAVE_SF2,$HAVE_SF2,[Define to 1 if you want SF2 engine and have libsf2 installed.])
628    config_have_sf2="no"
629    if test $HAVE_SF2 = "1"; then
630        config_have_sf2="yes"
631  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.])  
632    
633  if test "$have_midi_input_driver" = "false"; then  # Check presence of libsndfile
634      echo "No supported MIDI input system found!"  libsndfile_version="1.0"
635      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)
636      echo "ALSA, MIDIShare, CoreMIDI."  if test "$HAVE_SNDFILE" = "false"; then
637      echo "If you think you have one of those available on your system, make sure you"      echo "Required libsndfile version not found!"
638      echo "also have the respective development (header) files installed."      echo "You need to have libsndfile version ${libsndfile_version} installed!"
639      exit -1;      exit -1;
640    else
641        echo "yes, found libsndfile $libsndfile_version"
642  fi  fi
643  if test "$have_audio_output_driver" = "false"; then  AC_SUBST(SNDFILE_CFLAGS)
644      echo "No supported audio output system found!"  AC_SUBST(SNDFILE_LIBS)
645      echo "Sorry, LinuxSampler only supports ALSA and JACK as audio output driver at the moment!"  
646      exit -1;  # Check for Vorbis and FLAC support in libsndfile
647    linuxsampler_save_CFLAGS=$CFLAGS
648    CFLAGS="$SNDFILE_CFLAGS $CFLAGS"
649    AC_CHECK_DECLS([SF_FORMAT_VORBIS, SF_FORMAT_FLAC], [], [], [[#include <sndfile.h>]])
650    
651    # Check for loop functionality in libsndfile
652    AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],,
653                     [AC_MSG_WARN([Your version of libsndfile does not support
654        reading of loop information. LinuxSampler will not be able to
655        extract loop information from sample files.])],
656                     [#include <sndfile.h>])
657    CFLAGS=$linuxsampler_save_CFLAGS
658    
659    # Instruments DB feature (requires SQLite 3.3)
660    AC_ARG_ENABLE(instruments-db,
661      [  --disable-instruments-db
662                              Disable compilation of the sampler's instruments
663                              database feature. You need to have SQLite 3.3
664                              or younger installed for this feature.],
665      [config_instruments_db="$enableval"],
666      [config_instruments_db="yes"]
667    )
668    HAVE_SQLITE3=0;
669    if test "$config_instruments_db" = "yes"; then
670        # Check presence of sqlite3
671        sqlite_version="3.3"
672        PKG_CHECK_MODULES(SQLITE3, sqlite3 >= $sqlite_version, HAVE_SQLITE3=true, HAVE_SQLITE3=false)
673        AC_SUBST(SQLITE3_LIBS)
674        AC_SUBST(SQLITE3_CFLAGS)
675        if test $HAVE_SQLITE3 = false; then
676            HAVE_SQLITE3=0
677            config_instruments_db="no"
678            echo "*** Required sqlite version not found!"
679            echo "*** You need to have sqlite version ${sqlite_version} or higher"
680            echo "*** for instruments database support to be enabled."
681            echo "*** Support for instruments DB will be disabled!"
682        else
683            HAVE_SQLITE3=1
684        fi
685    else
686        echo "Instruments DB feature disabled by configure script parameter"
687  fi  fi
688    AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
689    AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you want the instruments DB feature and have SQLITE3 installed.])
690    
691    
692    
693  ###########################################################################  ###########################################################################
# Line 343  fi Line 696  fi
696  # TODO: should we use AC_ARG_VAR(variable, description) instead?  # TODO: should we use AC_ARG_VAR(variable, description) instead?
697    
698  AC_ARG_ENABLE(asm,  AC_ARG_ENABLE(asm,
699    [  --enable-asm    [  --disable-asm
700                            Enable hand-crafted assembly optimizations                            Enable hand-crafted assembly optimizations
701                            (default=off). LinuxSampler provides CPU specific                            (default=on). LinuxSampler provides CPU specific
702                            assembly optimizations for the most important                            assembly optimizations. This is currently limited
703                            synthesis algorithms. This is currently disabled                            to just enter a fast (denormal) FPU mode on x86
704                            by default since current asm code is broken.],                            platforms. There are currently no synthesis core
705    [config_asm="yes"],                            assembly optimizations anymore since LS 0.4.0],
706    [config_asm="no"]    [config_asm="$enableval"],
707      [config_asm="yes"]
708  )  )
709  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
710    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.])
711  fi  fi
712    
713  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
714    [  --disable-dev-mode    [  --enable-dev-mode
715                            Disable development mode (default=on). In that mode                            Enable development mode (default=off). In that mode
716                            we do some extra sanity checks here and there.                            we do some extra sanity checks here and there.
717                            This helps to spot possible problems, but reduces                            This helps to spot possible problems, but reduces
718                            efficiency a bit],                            efficiency a bit],
719    [config_dev_mode="no"],    [config_dev_mode="$enableval"],
720    [config_dev_mode="yes"]    [config_dev_mode="no"]
721  )  )
722  if test "$config_dev_mode" = "yes"; then  if test "$config_dev_mode" = "yes"; then
723    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 744  AC_ARG_ENABLE(rt-exceptions,
744                            context as well. Otherwise if disabled                            context as well. Otherwise if disabled
745                            segmentation faults will be forced by the                            segmentation faults will be forced by the
746                            application on critical errors.],                            application on critical errors.],
747    [config_rt_exceptions="yes"],    [config_rt_exceptions="$enableval"],
748    [config_rt_exceptions="no"]    [config_rt_exceptions="no"]
749  )  )
750  if test "$config_rt_exceptions" = "yes"; then  if test "$config_rt_exceptions" = "yes"; then
751    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.])
752  fi  fi
753    
754    config_pthread_testcancel="$mac"
755    AC_ARG_ENABLE(pthread-testcancel,
756      [  --enable-pthread-testcancel
757                              Enable pthread_testcancel() calls and avoid
758                              asynchronous cancel of pthreads (default=yes
759                              for Mac targets, no otherwise).],
760      [config_pthread_testcancel="$enableval"],
761      [])
762    if test "$config_pthread_testcancel" = "yes"; then
763      AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])
764    fi
765    
766  AC_ARG_ENABLE(preload-samples,  AC_ARG_ENABLE(preload-samples,
767    [  --enable-preload-samples    [  --enable-preload-samples
768                            Due to seeking and latency issues with hard drives                            Due to seeking and latency issues with hard drives
# Line 502  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_ Line 868  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_
868    
869  AC_ARG_ENABLE(max-streams,  AC_ARG_ENABLE(max-streams,
870    [  --enable-max-streams    [  --enable-max-streams
871                            Maximum amount of disk streams (default=90). This                            Initial maximum amount of disk streams
872                            value should always be higher than the maximum                            (default=90). This value can be changed at
873                            amount of voices.],                            runtime. It should always be higher than the
874                              maximum amount of voices.],
875    [config_max_streams="${enableval}"],    [config_max_streams="${enableval}"],
876    [config_max_streams="90"]    [config_max_streams="90"]
877  )  )
878  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.])
879    
880  AC_ARG_ENABLE(max-voices,  AC_ARG_ENABLE(max-voices,
881    [  --enable-max-voices    [  --enable-max-voices
882                            Maximum amount of voices (default=64). This value                            Initial maximum amount of voices (default=64).
883                            should always be lower than the maximum amount of                            This value can be changed at runtime. It should
884                            disk streams.],                            always be lower than the maximum amount of disk
885                              streams.],
886    [config_max_voices="${enableval}"],    [config_max_voices="${enableval}"],
887    [config_max_voices="64"]    [config_max_voices="64"]
888  )  )
889  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.])
890    
891  AC_ARG_ENABLE(subfragment-size,  AC_ARG_ENABLE(subfragment-size,
892    [  --enable-subfragment-size    [  --enable-subfragment-size
# Line 584  AC_ARG_ENABLE(force-filter, Line 952  AC_ARG_ENABLE(force-filter,
952                            If enabled will force filter to be used even if                            If enabled will force filter to be used even if
953                            no usage was define in instrument patch files.                            no usage was define in instrument patch files.
954                            (default=no).],                            (default=no).],
955    [config_force_filter="yes"],    [config_force_filter="$enableval"],
956    [config_force_filter="no"]    [config_force_filter="no"]
957  )  )
958  if test "$config_force_filter" = "yes"; then  if test "$config_force_filter" = "yes"; then
# Line 674  AC_ARG_ENABLE(gs-checksum, Line 1042  AC_ARG_ENABLE(gs-checksum,
1042                            messages which do not provide a correct checksum                            messages which do not provide a correct checksum
1043                            will be ignored. This is disabled by default as                            will be ignored. This is disabled by default as
1044                            not all devices honor GS checksums.],                            not all devices honor GS checksums.],
1045    [config_assert_gs_sysex_checksum="yes"],    [config_assert_gs_sysex_checksum="$enableval"],
1046    [config_assert_gs_sysex_checksum="no"]    [config_assert_gs_sysex_checksum="no"]
1047  )  )
1048  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 1088  AC_ARG_ENABLE(signed-triang-algo,
1088                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1089                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1090                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1091                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1092                              diharmonic:                              diharmonic:
1093                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1094                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 755  AC_ARG_ENABLE(unsigned-triang-algo, Line 1122  AC_ARG_ENABLE(unsigned-triang-algo,
1122                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1123                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1124                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1125                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1126                              diharmonic:                              diharmonic:
1127                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1128                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 787  AC_ARG_ENABLE(process-muted-channels, Line 1153  AC_ARG_ENABLE(process-muted-channels,
1153                            will not discard notes, triggered in mute mode,                            will not discard notes, triggered in mute mode,
1154                            when the channel is unmuted. But also will reduce                            when the channel is unmuted. But also will reduce
1155                            the efficiency.],                            the efficiency.],
1156    [config_process_muted_channels="yes"],    [config_process_muted_channels="$enableval"],
1157    [config_process_muted_channels="no"]    [config_process_muted_channels="no"]
1158  )  )
1159  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 1167  AC_ARG_ENABLE(process-all-notes-off,
1167                            all voices whenever it receives an All-Notes-Off                            all voices whenever it receives an All-Notes-Off
1168                            MIDI message. You can disable this behavior, so                            MIDI message. You can disable this behavior, so
1169                            that LS simply ignores such messages.],                            that LS simply ignores such messages.],
1170    [config_process_all_notes_off="no"],    [config_process_all_notes_off="$enableval"],
1171    [config_process_all_notes_off="yes"]    [config_process_all_notes_off="yes"]
1172  )  )
1173  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 1181  AC_ARG_ENABLE(interpolate-volume,
1181                            generated by for example the envelope generator                            generated by for example the envelope generator
1182                            will be smoother, minimizing the risk for audio                            will be smoother, minimizing the risk for audio
1183                            clicks. Disable it to reduce CPU usage.],                            clicks. Disable it to reduce CPU usage.],
1184    [config_interpolate_volume="no"],    [config_interpolate_volume="$enableval"],
1185    [config_interpolate_volume="yes"]    [config_interpolate_volume="yes"]
1186  )  )
1187  if test "$config_interpolate_volume" = "yes"; then  if test "$config_interpolate_volume" = "yes"; then
1188    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.])
1189  fi  fi
1190    
1191    AC_ARG_ENABLE(master-volume-sysex-by-port,
1192      [  --enable-master-volume-sysex-by-port
1193                              Whether global volume sysex message should be
1194                              applied globally to the whole sampler or only to
1195                              the sampler channels connected to the same MIDI
1196                              input port on which the sysex message arrived on.
1197                              By default global volume sysex messages apply
1198                              globally to the whole sampler, since many MIDI
1199                              devices behave that way.],
1200      [config_master_volume_sysex_by_port="$enableval"],
1201      [config_master_volume_sysex_by_port="no"]
1202    )
1203    if test "$config_master_volume_sysex_by_port" = "yes"; then
1204      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.])
1205    fi
1206    
1207    AC_ARG_ENABLE(plugin-dir,
1208      [  --enable-plugin-dir
1209                              Directory where the sampler shall look for potential plugins,
1210                              that is 3rd party shared libraries that should be loaded by
1211                              the sampler on startup. By default the sampler will search
1212                              for plugins in the subdirectory "plugins" below its own
1213                              library directory.
1214                              (i.e. /usr/local/lib/linuxsampler/plugins)],
1215      [config_plugin_dir="${enableval}"],
1216      [config_plugin_dir="${libdir}/linuxsampler/plugins"]
1217    )
1218    AC_SUBST(config_plugin_dir)
1219    
1220    AC_ARG_ENABLE(default-instruments-db-location,
1221      [  --enable-default-instruments-db-location
1222                              Only when instruments DB feature is enabled: file name
1223                              which shall be taken as default location of the
1224                              instruments DB file. This location can still be
1225                              overridden at runtime with a command line switch.
1226                              (default: /var/lib/linuxsampler/instruments.db)],
1227      [config_default_instruments_db_file="${enableval}"],
1228      [config_default_instruments_db_file="/var/lib/linuxsampler/instruments.db"]
1229    )
1230    AC_DEFINE_UNQUOTED(
1231        CONFIG_DEFAULT_INSTRUMENTS_DB_LOCATION,
1232        "$config_default_instruments_db_file",
1233        [Only when instruments DB feature is enabled: default location of the DB file.]
1234    )
1235    AC_SUBST(config_default_instruments_db_file)
1236    
1237    
1238  ###########################################################################  ###########################################################################
1239  # Automatic Benchmarks (to detect the best algorithms for the system)  # Automatic Benchmarks (to detect the best algorithms for the system)
1240    
 AC_LANG_SAVE  
   
1241  if test "$config_signed_triang_algo" = "benchmark"; then  if test "$config_signed_triang_algo" = "benchmark"; then
1242      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1243      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1244      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1245              #define SIGNED 1              #define SIGNED 1
1246              #define SILENT 1              #define SILENT 1
1247              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1248          ],          ]])],
1249          triang_signed=0,          triang_signed=0,
1250          triang_signed=$?,          triang_signed=$?,
1251          triang_signed=0          triang_signed=0
1252      )      )
1253        AC_LANG_POP([C++])
1254      if test "$triang_signed" = "2"; then      if test "$triang_signed" = "2"; then
1255          config_signed_triang_algo="intmath"          config_signed_triang_algo="intmath"
1256          echo "integer math"          echo "integer math"
# Line 856  if test "$config_signed_triang_algo" = " Line 1267  if test "$config_signed_triang_algo" = "
1267          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1268          exit -1;          exit -1;
1269      fi      fi
1270    else
1271        case "$config_signed_triang_algo" in
1272            intmath)
1273                triang_signed=2 ;;
1274            diharmonic)
1275                triang_signed=3 ;;
1276            intmathabs)
1277                triang_signed=5 ;;
1278        esac
1279  fi  fi
1280  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.])
1281    
1282  if test "$config_unsigned_triang_algo" = "benchmark"; then  if test "$config_unsigned_triang_algo" = "benchmark"; then
1283      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1284      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1285      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1286              #define SIGNED 0              #define SIGNED 0
1287              #define SILENT 1              #define SILENT 1
1288              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1289          ],          ]])],
1290          triang_unsigned=0,          triang_unsigned=0,
1291          triang_unsigned=$?,          triang_unsigned=$?,
1292          triang_unsigned=0          triang_unsigned=0
1293      )      )
1294        AC_LANG_POP([C++])
1295      if test "$triang_unsigned" = "2"; then      if test "$triang_unsigned" = "2"; then
1296          config_unsigned_triang_algo="intmath"          config_unsigned_triang_algo="intmath"
1297          echo "integer math"          echo "integer math"
# Line 887  if test "$config_unsigned_triang_algo" = Line 1308  if test "$config_unsigned_triang_algo" =
1308          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1309          exit -1;          exit -1;
1310      fi      fi
1311    else
1312        case "$config_unsigned_triang_algo" in
1313            intmath)
1314                triang_unsigned=2 ;;
1315            diharmonic)
1316                triang_unsigned=3 ;;
1317            intmathabs)
1318                triang_unsigned=5 ;;
1319        esac
1320  fi  fi
1321  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.])
1322    
 AC_LANG_RESTORE  
   
1323    
1324  ###########################################################################  ###########################################################################
1325  # Create Build Files  # Create Build Files
1326    
1327  AM_CONFIG_HEADER(config.h)  AC_CONFIG_HEADERS([config.h])
 AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")  
   
 AC_LANG_CPLUSPLUS  
 AC_PROG_CXX  
1328    
1329  # some gcc 4.0 versions need -msse for SSE register allocations  AC_LANG([C++])
 if test "$config_asm" = "yes"; then  
   if test "$def_arch_x86" = 1; then  
     CXXFLAGS="$CXXFLAGS -msse"  
   fi  
 fi  
1330    
1331  # 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
1332  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
1333  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
1334    
1335  AC_OUTPUT( \  AC_CONFIG_FILES([\
1336      Makefile \      Makefile \
1337      man/Makefile \      man/Makefile \
1338      man/linuxsampler.1 \      man/linuxsampler.1 \
1339        man/lscp.1 \
1340      src/Makefile \      src/Makefile \
1341        src/db/Makefile \
1342      src/network/Makefile \      src/network/Makefile \
1343      src/engines/Makefile \      src/engines/Makefile \
1344      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1345        src/engines/sf2/Makefile \
1346        src/engines/sfz/Makefile \
1347      src/engines/common/Makefile \      src/engines/common/Makefile \
1348      src/common/Makefile src/lib/Makefile \      src/effects/Makefile \
1349      src/lib/fileloader/Makefile \      src/common/Makefile \
     src/lib/fileloader/libgig/Makefile \  
1350      src/testcases/Makefile \      src/testcases/Makefile \
1351      src/drivers/Makefile \      src/drivers/Makefile \
1352      src/drivers/audio/Makefile \      src/drivers/audio/Makefile \
1353      src/drivers/midi/Makefile \      src/drivers/midi/Makefile \
1354        src/plugins/Makefile \
1355        src/hostplugins/Makefile \
1356        src/hostplugins/dssi/Makefile \
1357        src/hostplugins/lv2/Makefile \
1358        src/hostplugins/lv2/manifest.ttl \
1359        src/hostplugins/vst/Makefile \
1360        src/hostplugins/au/Makefile \
1361        src/scriptvm/Makefile \
1362        src/scriptvm/editor/Makefile \
1363        src/shell/Makefile \
1364      linuxsampler.spec \      linuxsampler.spec \
1365      debian/Makefile \      debian/Makefile \
1366      Artwork/Makefile \      Artwork/Makefile \
1367      scripts/Makefile \      scripts/Makefile \
1368      osx/Makefile \      osx/Makefile \
1369      osx/LinuxSampler.xcode/Makefile \      osx/linuxsampler.xcodeproj/Makefile \
1370      Documentation/Makefile \      Documentation/Makefile \
1371      Documentation/Engines/Makefile \      Documentation/Engines/Makefile \
1372      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
1373      linuxsampler.pc \      linuxsampler.pc \
1374      Doxyfile \      Doxyfile \
1375  )  ])
1376    AC_OUTPUT
1377    
1378    # resolve all nested variables in '${config_plugin_dir}'
1379    # (merely for providing a human readable summary below)
1380    while test $config_plugin_dir != `eval echo ${config_plugin_dir}` ; do
1381            config_plugin_dir=`eval echo ${config_plugin_dir}`
1382    done
1383    
1384    
1385  ###########################################################################  ###########################################################################
# Line 950  echo "" Line 1389  echo ""
1389  echo "#####################################################################"  echo "#####################################################################"
1390  echo "# LinuxSampler Configuration                                        #"  echo "# LinuxSampler Configuration                                        #"
1391  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1392    echo "# Release Version: ${VERSION}"
1393    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1394    echo "#-------------------------------------------------------------------"
1395  echo "# Assembly Optimizations: ${config_asm}"  echo "# Assembly Optimizations: ${config_asm}"
1396  echo "# Development Mode: ${config_dev_mode}"  echo "# Development Mode: ${config_dev_mode}"
1397  echo "# Debug Level: ${config_debug_level}"  echo "# Debug Level: ${config_debug_level}"
# Line 963  echo "# Streams to be refilled per Disk Line 1405  echo "# Streams to be refilled per Disk
1405  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1406  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1407  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
1408  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Default Maximum Disk Streams: ${config_max_streams}"
1409  echo "# Maximum Voices: ${config_max_voices}"  echo "# Default Maximum Voices: ${config_max_voices}"
1410  echo "# Default Subfragment Size: ${config_subfragment_size}"  echo "# Default Subfragment Size: ${config_subfragment_size}"
1411  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1412  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
# Line 983  echo "# Override Filter Type: ${config_o Line 1425  echo "# Override Filter Type: ${config_o
1425  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1426  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
1427  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1428    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1429  echo "# Interpolate Volume: ${config_interpolate_volume}"  echo "# Interpolate Volume: ${config_interpolate_volume}"
1430    echo "# Instruments database support: ${config_instruments_db}"
1431    if test "$config_instruments_db" = "yes"; then
1432    echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1433    fi
1434    echo "# Plugin Path: ${config_plugin_dir}"
1435    echo "#-------------------------------------------------------------------"
1436    echo "# MIDI Input Drivers:"
1437    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}"
1438    echo "#-------------------------------------------------------------------"
1439    echo "# Audio Output Drivers:"
1440    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}"
1441    echo "#-------------------------------------------------------------------"
1442    echo "# Sampler Engines:"
1443    echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes"
1444    echo "#-------------------------------------------------------------------"
1445    echo "# Effect plugin systems for internal effects:"
1446    echo "# LADSPA: yes"
1447    echo "#-------------------------------------------------------------------"
1448    echo "# Building sampler as plugin for following host standards:"
1449    echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}"
1450  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1451  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
1452  echo "#####################################################################"  echo "#####################################################################"

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

  ViewVC Help
Powered by ViewVC