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

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

  ViewVC Help
Powered by ViewVC