/[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 2787 by schoenebeck, Wed Jul 15 18:47:15 2015 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)
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    # FIXME: this is actually a dependency of libgig, not of LS directly, why
185    # isn't it hidden by libgig?
186    AC_CHECK_HEADERS(uuid/uuid.h)
187    AC_SEARCH_LIBS(uuid_generate, uuid)
188    
189    # In case Bison is available, determine the exact version, since we need to
190    # use different custom parser code for Bison 2.x vs. Bison 3.x generated
191    # parser yacc tables.
192    if echo "$YACC" | grep -q bison; then
193        # NOTE: m4 removes [], that's why it needs to be escaped
194        bison_version=[`$YACC --version | head -n 1 | sed -e 's/[^0-9.]*\([-0-9.]\+\)$/\1/'`]
195        bison_version_major=`echo $bison_version | cut -d. -f1`
196        bison_version_minor=`echo $bison_version | cut -d. -f2`
197        AC_DEFINE_UNQUOTED(HAVE_BISON_MAJ,$bison_version_major,[Define to the major version of the GNU Bison program installed.])
198        AC_DEFINE_UNQUOTED(HAVE_BISON_MIN,$bison_version_minor,[Define to the minor version of the GNU Bison program installed.])
199    fi
200    
201    
202    
203  ###########################################################################  ###########################################################################
204  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
# Line 127  AC_ARG_ENABLE(alsa-driver, Line 212  AC_ARG_ENABLE(alsa-driver,
212    [  --disable-alsa-driver    [  --disable-alsa-driver
213                            Disable support for the Advanced Linux Sound                            Disable support for the Advanced Linux Sound
214                            Architecture (ALSA).],                            Architecture (ALSA).],
215    [config_alsa_driver="no"],    [config_alsa_driver="$enableval"],
216    [config_alsa_driver="yes"]    [config_alsa_driver="yes"]
217  )  )
218  have_alsa=0  have_alsa=0
# Line 147  if test "$config_alsa_driver" = "yes"; t Line 232  if test "$config_alsa_driver" = "yes"; t
232      fi      fi
233    
234      echo -n "checking Alsa version... "      echo -n "checking Alsa version... "
235      AC_LANG_SAVE      AC_LANG_PUSH([C])
236      AC_LANG_C      AC_RUN_IFELSE([AC_LANG_SOURCE([[
     AC_TRY_RUN([  
237          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
238          void main(void) {          void main(void) {
239              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 158  if test "$config_alsa_driver" = "yes"; t Line 242  if test "$config_alsa_driver" = "yes"; t
242              #endif              #endif
243              exit(SND_LIB_MAJOR);              exit(SND_LIB_MAJOR);
244          }          }
245      ],      ]])],
246      alsa_major=0,      alsa_major=0,
247      alsa_major=$?,      alsa_major=$?,
248      alsa_major=0      alsa_major=0
249      )      )
250      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
251          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
252          void main(void) {          void main(void) {
253              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 172  if test "$config_alsa_driver" = "yes"; t Line 256  if test "$config_alsa_driver" = "yes"; t
256              #endif              #endif
257              exit(SND_LIB_MINOR);              exit(SND_LIB_MINOR);
258          }          }
259      ],      ]])],
260      alsa_minor=0,      alsa_minor=0,
261      alsa_minor=$?,      alsa_minor=$?,
262      alsa_minor=0      alsa_minor=0
263      )      )
264      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
265          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
266          void main(void) {          void main(void) {
267              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 186  if test "$config_alsa_driver" = "yes"; t Line 270  if test "$config_alsa_driver" = "yes"; t
270              #endif              #endif
271              exit(SND_LIB_SUBMINOR);              exit(SND_LIB_SUBMINOR);
272          }          }
273      ],      ]])],
274      alsa_subminor=0,      alsa_subminor=0,
275      alsa_subminor=$?,      alsa_subminor=$?,
276      alsa_subminor=0      alsa_subminor=0
277      )      )
278      AC_LANG_RESTORE      AC_LANG_POP([C])
279      echo "$alsa_major.$alsa_minor.$alsa_subminor";      echo "$alsa_major.$alsa_minor.$alsa_subminor";
280      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.])
281      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 285  else
285  fi  fi
286  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
287  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.])
288    config_have_alsa="no"
289    if test $have_alsa = "1"; then
290        config_have_alsa="yes"
291    fi
292    
293  # JACK  # JACK
294  AC_ARG_ENABLE(jack-driver,  AC_ARG_ENABLE(jack-driver,
295    [  --disable-jack-driver    [  --disable-jack-driver
296                            Disable support for the Jack Audio Connection Kit                            Disable support for the Jack Audio Connection Kit
297                            (JACK).],                            (JACK).],
298    [config_jack_driver="no"],    [config_jack_driver="$enableval"],
299    [config_jack_driver="yes"]    [config_jack_driver="yes"]
300  )  )
301  have_jack=0  have_jack=0
# Line 216  if test "$config_jack_driver" = "yes"; t Line 304  if test "$config_jack_driver" = "yes"; t
304      if test $have_jack = "1"; then      if test $have_jack = "1"; then
305          AC_SUBST(JACK_LIBS)          AC_SUBST(JACK_LIBS)
306          AC_SUBST(JACK_CFLAGS)          AC_SUBST(JACK_CFLAGS)
307          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
308            LIBS="$JACK_LIBS $LIBS"
309            AC_CHECK_FUNCS(jack_client_name_size jack_client_open \
310                           jack_on_info_shutdown)
311            LIBS=$linuxsampler_save_LIBS
312          have_audio_output_driver="true";          have_audio_output_driver="true";
313      fi      fi
314  else  else
# Line 224  else Line 316  else
316  fi  fi
317  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
318  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.])
319    config_have_jack="no"
320    if test $have_jack = "1"; then
321        config_have_jack="yes"
322    fi
323    
324    # JACK MIDI
325    have_jack_midi=0
326    if test $have_jack = "1"; then
327        linuxsampler_save_CFLAGS=$CFLAGS
328        linuxsampler_save_LIBS=$LIBS
329        CFLAGS="$JACK_CFLAGS $CFLAGS"
330        LIBS="$JACK_LIBS $LIBS"
331        AC_CHECK_HEADER(jack/midiport.h, have_jack_midi=1, have_jack_midi=0)
332        if test $have_jack_midi = "1"; then
333            AC_CHECK_FUNCS(jack_midi_get_event_count)
334            AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jack/midiport.h>]], [[
335                jack_midi_clear_buffer(0, 0);
336            ]])], [AC_DEFINE(JACK_MIDI_FUNCS_NEED_NFRAMES, 1,
337                      [Define to 1 if you have the old jack midi functions that need an nframes argument.])])
338            have_midi_input_driver="true"
339        fi
340        CFLAGS=$linuxsampler_save_CFLAGS
341        LIBS=$linuxsampler_save_LIBS
342    fi
343    AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")
344    AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,
345                       [Define to 1 if you have JACK with MIDI support installed.])
346    config_have_jack_midi="no"
347    if test $have_jack_midi = "1"; then
348        config_have_jack_midi="yes"
349    fi
350    
351  # ARTS  # ARTS
352  AC_ARG_ENABLE(arts-driver,  AC_ARG_ENABLE(arts-driver,
353    [  --disable-arts-driver    [  --disable-arts-driver
354                            Disable support for the Analogue Realtime System                            Disable support for the Analogue Realtime System
355                            (aRts).],                            (aRts).],
356    [config_arts_driver="no"],    [config_arts_driver="$enableval"],
357    [config_arts_driver="yes"]    [config_arts_driver="yes"]
358  )  )
359  have_arts=0  have_arts=0
# Line 246  else Line 369  else
369  fi  fi
370  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
371  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.])
372    config_have_arts="no"
373    if test $have_arts = "1"; then
374        config_have_arts="yes"
375    fi
376    
377    # ASIO AUDIO (Win32)
378    AC_ARG_ENABLE(asiosdk-dir,
379      [  --enable-asiosdk-dir
380                              Directory where the ASIO SDK is located, this automatically
381                              enables the compilation of the ASIO audio output driver.],
382      [config_asiosdk_dir="${enableval}"],
383      [config_asiosdk_dir="."]
384    )
385    AC_SUBST(config_asiosdk_dir)
386    
387    AC_ARG_ENABLE(asio-driver,
388      [  --disable-asio-driver
389                              Disable support for the Windows ASIO driver.],
390      [config_asio_driver="$enableval"],
391      [config_asio_driver="yes"]
392    )
393    have_asio=0
394    ASIOSDK_BASEDIR=
395    if test "$config_asio_driver" = "yes"; then
396        asiosdk_headerfile=$config_asiosdk_dir/ASIOSDK2/common/asio.h
397        echo -n "checking for ASIO headerfile: $asiosdk_headerfile ...."
398        if test -e $asiosdk_headerfile ; then
399            echo yes
400            have_asio=1
401            ASIOSDK_BASEDIR="$config_asiosdk_dir"
402        else
403            echo no
404            have_asio=0
405        fi
406        if test "$have_asio" = "1"; then
407            have_audio_output_driver="true"
408        fi
409    else
410        echo "Windows ASIO support disabled by configure script parameter"
411    fi
412    AC_SUBST(ASIOSDK_BASEDIR)
413    AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
414    AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.])
415    config_have_asio="no"
416    if test $have_asio = "1"; then
417        config_have_asio="yes"
418    fi
419    
420  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
421  AC_ARG_ENABLE(midishare-driver,  AC_ARG_ENABLE(midishare-driver,
422    [  --disable-midishare-driver    [  --disable-midishare-driver
423                            Disable support for the MidiShare system.],                            Disable support for the MidiShare system.],
424    [config_midishare_driver="no"],    [config_midishare_driver="$enableval"],
425    [config_midishare_driver="yes"]    [config_midishare_driver="yes"]
426  )  )
427  have_midishare=0  have_midishare=0
# Line 272  else Line 442  else
442  fi  fi
443  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
444  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.])
445    config_have_midishare="no"
446    if test $have_midishare = "1"; then
447        config_have_midishare="yes"
448    fi
449    
450  # CoreMIDI (OS X)  # CoreMIDI (OS X)
451  AC_ARG_ENABLE(coremidi-driver,  AC_ARG_ENABLE(coremidi-driver,
452    [  --disable-coremidi-driver    [  --disable-coremidi-driver
453                            Disable support for the Apple CoreMIDI system.],                            Disable support for the Apple CoreMIDI system.],
454    [config_coremidi_driver="no"],    [config_coremidi_driver="$enableval"],
455    [config_coremidi_driver="yes"]    [config_coremidi_driver="yes"]
456  )  )
457  have_coremidi=0  have_coremidi=0
# Line 294  else Line 468  else
468  fi  fi
469  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
470  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.])
471    config_have_coremidi="no"
472    if test $have_coremidi = "1"; then
473        config_have_coremidi="yes"
474    fi
475    
476    # CoreAudio (OS X)
477    AC_ARG_ENABLE(coreaudio-driver,
478      [  --disable-coreaudio-driver
479                              Disable support for the Apple CoreAudio system.],
480      [config_coreaudio_driver="$enableval"],
481      [config_coreaudio_driver="yes"]
482    )
483    have_coreaudio=0
484    if test "$config_coreaudio_driver" = "yes"; then
485        AC_CHECK_HEADER(CoreAudio/CoreAudio.h,
486            have_coreaudio=1,
487            have_coreaudio=0
488        )
489        if test "$have_coreaudio" = "1"; then
490            have_audio_output_driver="true"
491        fi
492    else
493        echo "CoreAudio support disabled by configure script parameter"
494    fi
495    AM_CONDITIONAL(HAVE_COREAUDIO, test $have_coreaudio = "1")
496    AC_DEFINE_UNQUOTED(HAVE_COREAUDIO,$have_coreaudio,[Define to 1 if you have CoreAudio installed.])
497    config_have_coreaudio="no"
498    if test $have_coreaudio = "1"; then
499        config_have_coreaudio="yes"
500    fi
501    
502    # MME MIDI (Win32)
503    AC_ARG_ENABLE(mmemidi-driver,
504      [  --disable-mmemidi-driver
505                              Disable support for the Windows MME MIDI system.],
506      [config_mmemidi_driver="$enableval"],
507      [config_mmemidi_driver="yes"]
508    )
509    have_mmemidi=0
510    if test "$config_mmemidi_driver" = "yes"; then
511        AC_CHECK_HEADERS(mmsystem.h,
512            have_mmemidi=1,
513            have_mmemidi=0
514        )
515        if test "$have_mmemidi" = "1"; then
516            have_midi_input_driver="true"
517        fi
518    else
519        echo "MME MIDI support disabled by configure script parameter"
520    fi
521    AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")
522    AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.])
523    config_have_mme="no"
524    if test $have_mmemidi = "1"; then
525        config_have_mme="yes"
526    fi
527    
528    # DSSI
529    AC_CHECK_HEADERS(dssi.h,
530            config_have_dssi="yes",
531            config_have_dssi="no")
532    AM_CONDITIONAL(HAVE_DSSI, test $config_have_dssi = "yes")
533    
534    # LV2
535    PKG_CHECK_MODULES(LV2, lv2 >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
536    if test "$config_have_lv2" != "yes"; then
537        PKG_CHECK_MODULES(LV2, lv2core >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
538    fi
539    AC_SUBST(LV2_CFLAGS)
540    AC_SUBST(LV2_LIBS)
541    AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")
542    
543    # VST
544    AC_ARG_ENABLE(vstsdk-dir,
545      [  --enable-vstsdk-dir
546                              Directory where the VST SDK is located.
547                              This automatically enables the compilation
548                              of the VST plugin.],
549      [VSTSDK_DIR="${enableval}"],
550      [VSTSDK_DIR=]
551    )
552    AC_SUBST(VSTSDK_DIR)
553    AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")
554    config_have_vst="no"
555    if test "x$VSTSDK_DIR" != "x"; then
556        config_have_vst="yes"
557    fi
558    
559    # AU
560    AC_CHECK_HEADERS(AudioUnit/AudioUnit.h,
561            config_have_au="yes",
562            config_have_au="no")
563    AM_CONDITIONAL(HAVE_AU, test $config_have_au = "yes")
564    AM_CONDITIONAL(HAVE_AUFLAGS, test "$AUFLAGS" != "")
565    
566    if test $config_have_au = "yes" ; then
567        if test "x$DEVELOPER_EXTRAS_DIR" = "x" ; then
568            if test -d /Developer/Extras ; then
569                DEVELOPER_EXTRAS_DIR=/Developer/Extras
570            else      
571                DEVELOPER_EXTRAS_DIR=/Developer/Examples
572            fi
573        fi
574        AC_SUBST(DEVELOPER_EXTRAS_DIR)
575    fi
576    
577    if test "x$MAC_PLUGIN_INSTALL_DIR" = "x" ; then
578        MAC_PLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins
579    fi
580    AC_SUBST(MAC_PLUGIN_INSTALL_DIR)
581    
582    # have we found at least one MIDI input and one audio output driver ?
583    if test "$have_midi_input_driver" = "false"; then
584        echo "No supported MIDI input system found!"
585        echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
586        echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
587        echo "If you think you have one of those available on your system, make sure you"
588        echo "also have the respective development (header) files installed."
589        exit -1;
590    fi
591    if test "$have_audio_output_driver" = "false"; then
592        echo "No supported audio output system found!"
593        echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
594        echo "driver at the moment!"
595        exit -1;
596    fi
597    
598    
599    
600    ###########################################################################
601    # Checks for various DLL libraries
602    
603  # Check presence of libgig  # Check presence of libgig
604  libgig_version="3.1.0"  libgig_version="4.0.0"
605  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)
606  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
607      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 308  fi Line 613  fi
613  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
614  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
615    
616  # SQLITE3  # SF2 Engine (requires libgig)
617  PKG_CHECK_MODULES(SQLITE3, sqlite3, HAVE_SQLITE3=true, HAVE_SQLITE3=false)  AC_ARG_ENABLE(sf2-engine,
618  AC_SUBST(SQLITE3_LIBS)    [  --disable-sf2-engine
619  AC_SUBST(SQLITE3_CFLAGS)                            Disable compilation of the SF2 engine.
620  if test $HAVE_SQLITE3 = false; then                            You need to have libgig installed.],
621      HAVE_SQLITE3=0;    [config_sf2_engine="$enableval"],
622      echo "no, support for instrument DB will be disabled!"    [config_sf2_engine="yes"]
623    )
624    HAVE_SF2=0;
625    if test "$config_sf2_engine" = "yes"; then
626        HAVE_SF2=1
627  else  else
628      HAVE_SQLITE3=1      echo "SF2 engine disabled by configure script parameter"
629      echo "yes"  fi
630    AM_CONDITIONAL(HAVE_SF2, test $HAVE_SF2 = 1)
631    AC_DEFINE_UNQUOTED(HAVE_SF2,$HAVE_SF2,[Define to 1 if you want SF2 engine and have libsf2 installed.])
632    config_have_sf2="no"
633    if test $HAVE_SF2 = "1"; then
634        config_have_sf2="yes"
635  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.])  
636    
637  if test "$have_midi_input_driver" = "false"; then  # Check presence of libsndfile
638      echo "No supported MIDI input system found!"  libsndfile_version="1.0"
639      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)
640      echo "ALSA, MIDIShare, CoreMIDI."  if test "$HAVE_SNDFILE" = "false"; then
641      echo "If you think you have one of those available on your system, make sure you"      echo "Required libsndfile version not found!"
642      echo "also have the respective development (header) files installed."      echo "You need to have libsndfile version ${libsndfile_version} installed!"
643      exit -1;      exit -1;
644    else
645        echo "yes, found libsndfile $libsndfile_version"
646  fi  fi
647  if test "$have_audio_output_driver" = "false"; then  AC_SUBST(SNDFILE_CFLAGS)
648      echo "No supported audio output system found!"  AC_SUBST(SNDFILE_LIBS)
649      echo "Sorry, LinuxSampler only supports ALSA and JACK as audio output driver at the moment!"  
650      exit -1;  # Check for Vorbis and FLAC support in libsndfile
651    linuxsampler_save_CFLAGS=$CFLAGS
652    CFLAGS="$SNDFILE_CFLAGS $CFLAGS"
653    AC_CHECK_DECLS([SF_FORMAT_VORBIS, SF_FORMAT_FLAC], [], [], [[#include <sndfile.h>]])
654    
655    # Check for loop functionality in libsndfile
656    AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],,
657                     [AC_MSG_WARN([Your version of libsndfile does not support
658        reading of loop information. LinuxSampler will not be able to
659        extract loop information from sample files.])],
660                     [#include <sndfile.h>])
661    CFLAGS=$linuxsampler_save_CFLAGS
662    
663    # Instruments DB feature (requires SQLite 3.3)
664    AC_ARG_ENABLE(instruments-db,
665      [  --disable-instruments-db
666                              Disable compilation of the sampler's instruments
667                              database feature. You need to have SQLite 3.3
668                              or younger installed for this feature.],
669      [config_instruments_db="$enableval"],
670      [config_instruments_db="yes"]
671    )
672    HAVE_SQLITE3=0;
673    if test "$config_instruments_db" = "yes"; then
674        # Check presence of sqlite3
675        sqlite_version="3.3"
676        PKG_CHECK_MODULES(SQLITE3, sqlite3 >= $sqlite_version, HAVE_SQLITE3=true, HAVE_SQLITE3=false)
677        AC_SUBST(SQLITE3_LIBS)
678        AC_SUBST(SQLITE3_CFLAGS)
679        if test $HAVE_SQLITE3 = false; then
680            HAVE_SQLITE3=0
681            config_instruments_db="no"
682            echo "*** Required sqlite version not found!"
683            echo "*** You need to have sqlite version ${sqlite_version} or higher"
684            echo "*** for instruments database support to be enabled."
685            echo "*** Support for instruments DB will be disabled!"
686        else
687            HAVE_SQLITE3=1
688        fi
689    else
690        echo "Instruments DB feature disabled by configure script parameter"
691  fi  fi
692    AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
693    AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you want the instruments DB feature and have SQLITE3 installed.])
694    
695    
696    
697  ###########################################################################  ###########################################################################
# Line 343  fi Line 700  fi
700  # TODO: should we use AC_ARG_VAR(variable, description) instead?  # TODO: should we use AC_ARG_VAR(variable, description) instead?
701    
702  AC_ARG_ENABLE(asm,  AC_ARG_ENABLE(asm,
703    [  --enable-asm    [  --disable-asm
704                            Enable hand-crafted assembly optimizations                            Enable hand-crafted assembly optimizations
705                            (default=off). LinuxSampler provides CPU specific                            (default=on). LinuxSampler provides CPU specific
706                            assembly optimizations for the most important                            assembly optimizations. This is currently limited
707                            synthesis algorithms. This is currently disabled                            to just enter a fast (denormal) FPU mode on x86
708                            by default since current asm code is broken.],                            platforms. There are currently no synthesis core
709    [config_asm="yes"],                            assembly optimizations anymore since LS 0.4.0],
710    [config_asm="no"]    [config_asm="$enableval"],
711      [config_asm="yes"]
712  )  )
713  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
714    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.])
715  fi  fi
716    
717  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
718    [  --disable-dev-mode    [  --enable-dev-mode
719                            Disable development mode (default=on). In that mode                            Enable development mode (default=off). In that mode
720                            we do some extra sanity checks here and there.                            we do some extra sanity checks here and there.
721                            This helps to spot possible problems, but reduces                            This helps to spot possible problems, but reduces
722                            efficiency a bit],                            efficiency a bit],
723    [config_dev_mode="no"],    [config_dev_mode="$enableval"],
724    [config_dev_mode="yes"]    [config_dev_mode="no"]
725  )  )
726  if test "$config_dev_mode" = "yes"; then  if test "$config_dev_mode" = "yes"; then
727    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 748  AC_ARG_ENABLE(rt-exceptions,
748                            context as well. Otherwise if disabled                            context as well. Otherwise if disabled
749                            segmentation faults will be forced by the                            segmentation faults will be forced by the
750                            application on critical errors.],                            application on critical errors.],
751    [config_rt_exceptions="yes"],    [config_rt_exceptions="$enableval"],
752    [config_rt_exceptions="no"]    [config_rt_exceptions="no"]
753  )  )
754  if test "$config_rt_exceptions" = "yes"; then  if test "$config_rt_exceptions" = "yes"; then
755    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.])
756  fi  fi
757    
758    config_pthread_testcancel="$mac"
759    AC_ARG_ENABLE(pthread-testcancel,
760      [  --enable-pthread-testcancel
761                              Enable pthread_testcancel() calls and avoid
762                              asynchronous cancel of pthreads (default=yes
763                              for Mac targets, no otherwise).],
764      [config_pthread_testcancel="$enableval"],
765      [])
766    if test "$config_pthread_testcancel" = "yes"; then
767      AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])
768    fi
769    
770  AC_ARG_ENABLE(preload-samples,  AC_ARG_ENABLE(preload-samples,
771    [  --enable-preload-samples    [  --enable-preload-samples
772                            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 872  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_
872    
873  AC_ARG_ENABLE(max-streams,  AC_ARG_ENABLE(max-streams,
874    [  --enable-max-streams    [  --enable-max-streams
875                            Maximum amount of disk streams (default=90). This                            Initial maximum amount of disk streams
876                            value should always be higher than the maximum                            (default=90). This value can be changed at
877                            amount of voices.],                            runtime. It should always be higher than the
878                              maximum amount of voices.],
879    [config_max_streams="${enableval}"],    [config_max_streams="${enableval}"],
880    [config_max_streams="90"]    [config_max_streams="90"]
881  )  )
882  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.])
883    
884  AC_ARG_ENABLE(max-voices,  AC_ARG_ENABLE(max-voices,
885    [  --enable-max-voices    [  --enable-max-voices
886                            Maximum amount of voices (default=64). This value                            Initial maximum amount of voices (default=64).
887                            should always be lower than the maximum amount of                            This value can be changed at runtime. It should
888                            disk streams.],                            always be lower than the maximum amount of disk
889                              streams.],
890    [config_max_voices="${enableval}"],    [config_max_voices="${enableval}"],
891    [config_max_voices="64"]    [config_max_voices="64"]
892  )  )
893  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.])
894    
895  AC_ARG_ENABLE(subfragment-size,  AC_ARG_ENABLE(subfragment-size,
896    [  --enable-subfragment-size    [  --enable-subfragment-size
# Line 584  AC_ARG_ENABLE(force-filter, Line 956  AC_ARG_ENABLE(force-filter,
956                            If enabled will force filter to be used even if                            If enabled will force filter to be used even if
957                            no usage was define in instrument patch files.                            no usage was define in instrument patch files.
958                            (default=no).],                            (default=no).],
959    [config_force_filter="yes"],    [config_force_filter="$enableval"],
960    [config_force_filter="no"]    [config_force_filter="no"]
961  )  )
962  if test "$config_force_filter" = "yes"; then  if test "$config_force_filter" = "yes"; then
# Line 674  AC_ARG_ENABLE(gs-checksum, Line 1046  AC_ARG_ENABLE(gs-checksum,
1046                            messages which do not provide a correct checksum                            messages which do not provide a correct checksum
1047                            will be ignored. This is disabled by default as                            will be ignored. This is disabled by default as
1048                            not all devices honor GS checksums.],                            not all devices honor GS checksums.],
1049    [config_assert_gs_sysex_checksum="yes"],    [config_assert_gs_sysex_checksum="$enableval"],
1050    [config_assert_gs_sysex_checksum="no"]    [config_assert_gs_sysex_checksum="no"]
1051  )  )
1052  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 1092  AC_ARG_ENABLE(signed-triang-algo,
1092                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1093                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1094                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1095                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1096                              diharmonic:                              diharmonic:
1097                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1098                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 755  AC_ARG_ENABLE(unsigned-triang-algo, Line 1126  AC_ARG_ENABLE(unsigned-triang-algo,
1126                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1127                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1128                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1129                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1130                              diharmonic:                              diharmonic:
1131                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1132                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 787  AC_ARG_ENABLE(process-muted-channels, Line 1157  AC_ARG_ENABLE(process-muted-channels,
1157                            will not discard notes, triggered in mute mode,                            will not discard notes, triggered in mute mode,
1158                            when the channel is unmuted. But also will reduce                            when the channel is unmuted. But also will reduce
1159                            the efficiency.],                            the efficiency.],
1160    [config_process_muted_channels="yes"],    [config_process_muted_channels="$enableval"],
1161    [config_process_muted_channels="no"]    [config_process_muted_channels="no"]
1162  )  )
1163  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 1171  AC_ARG_ENABLE(process-all-notes-off,
1171                            all voices whenever it receives an All-Notes-Off                            all voices whenever it receives an All-Notes-Off
1172                            MIDI message. You can disable this behavior, so                            MIDI message. You can disable this behavior, so
1173                            that LS simply ignores such messages.],                            that LS simply ignores such messages.],
1174    [config_process_all_notes_off="no"],    [config_process_all_notes_off="$enableval"],
1175    [config_process_all_notes_off="yes"]    [config_process_all_notes_off="yes"]
1176  )  )
1177  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 1185  AC_ARG_ENABLE(interpolate-volume,
1185                            generated by for example the envelope generator                            generated by for example the envelope generator
1186                            will be smoother, minimizing the risk for audio                            will be smoother, minimizing the risk for audio
1187                            clicks. Disable it to reduce CPU usage.],                            clicks. Disable it to reduce CPU usage.],
1188    [config_interpolate_volume="no"],    [config_interpolate_volume="$enableval"],
1189    [config_interpolate_volume="yes"]    [config_interpolate_volume="yes"]
1190  )  )
1191  if test "$config_interpolate_volume" = "yes"; then  if test "$config_interpolate_volume" = "yes"; then
1192    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.])
1193  fi  fi
1194    
1195    AC_ARG_ENABLE(master-volume-sysex-by-port,
1196      [  --enable-master-volume-sysex-by-port
1197                              Whether global volume sysex message should be
1198                              applied globally to the whole sampler or only to
1199                              the sampler channels connected to the same MIDI
1200                              input port on which the sysex message arrived on.
1201                              By default global volume sysex messages apply
1202                              globally to the whole sampler, since many MIDI
1203                              devices behave that way.],
1204      [config_master_volume_sysex_by_port="$enableval"],
1205      [config_master_volume_sysex_by_port="no"]
1206    )
1207    if test "$config_master_volume_sysex_by_port" = "yes"; then
1208      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.])
1209    fi
1210    
1211    AC_ARG_ENABLE(plugin-dir,
1212      [  --enable-plugin-dir
1213                              Directory where the sampler shall look for potential plugins,
1214                              that is 3rd party shared libraries that should be loaded by
1215                              the sampler on startup. By default the sampler will search
1216                              for plugins in the subdirectory "plugins" below its own
1217                              library directory.
1218                              (i.e. /usr/local/lib/linuxsampler/plugins)],
1219      [config_plugin_dir="${enableval}"],
1220      [config_plugin_dir="${libdir}/linuxsampler/plugins"]
1221    )
1222    AC_SUBST(config_plugin_dir)
1223    
1224    AC_ARG_ENABLE(default-instruments-db-location,
1225      [  --enable-default-instruments-db-location
1226                              Only when instruments DB feature is enabled: file name
1227                              which shall be taken as default location of the
1228                              instruments DB file. This location can still be
1229                              overridden at runtime with a command line switch.
1230                              (default: /var/lib/linuxsampler/instruments.db)],
1231      [config_default_instruments_db_file="${enableval}"],
1232      [config_default_instruments_db_file="/var/lib/linuxsampler/instruments.db"]
1233    )
1234    AC_DEFINE_UNQUOTED(
1235        CONFIG_DEFAULT_INSTRUMENTS_DB_LOCATION,
1236        "$config_default_instruments_db_file",
1237        [Only when instruments DB feature is enabled: default location of the DB file.]
1238    )
1239    AC_SUBST(config_default_instruments_db_file)
1240    
1241    
1242  ###########################################################################  ###########################################################################
1243  # Automatic Benchmarks (to detect the best algorithms for the system)  # Automatic Benchmarks (to detect the best algorithms for the system)
1244    
 AC_LANG_SAVE  
   
1245  if test "$config_signed_triang_algo" = "benchmark"; then  if test "$config_signed_triang_algo" = "benchmark"; then
1246      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1247      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1248      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1249              #define SIGNED 1              #define SIGNED 1
1250              #define SILENT 1              #define SILENT 1
1251              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1252          ],          ]])],
1253          triang_signed=0,          triang_signed=0,
1254          triang_signed=$?,          triang_signed=$?,
1255          triang_signed=0          triang_signed=0
1256      )      )
1257        AC_LANG_POP([C++])
1258      if test "$triang_signed" = "2"; then      if test "$triang_signed" = "2"; then
1259          config_signed_triang_algo="intmath"          config_signed_triang_algo="intmath"
1260          echo "integer math"          echo "integer math"
# Line 856  if test "$config_signed_triang_algo" = " Line 1271  if test "$config_signed_triang_algo" = "
1271          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1272          exit -1;          exit -1;
1273      fi      fi
1274    else
1275        case "$config_signed_triang_algo" in
1276            intmath)
1277                triang_signed=2 ;;
1278            diharmonic)
1279                triang_signed=3 ;;
1280            intmathabs)
1281                triang_signed=5 ;;
1282        esac
1283  fi  fi
1284  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.])
1285    
1286  if test "$config_unsigned_triang_algo" = "benchmark"; then  if test "$config_unsigned_triang_algo" = "benchmark"; then
1287      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1288      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1289      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1290              #define SIGNED 0              #define SIGNED 0
1291              #define SILENT 1              #define SILENT 1
1292              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1293          ],          ]])],
1294          triang_unsigned=0,          triang_unsigned=0,
1295          triang_unsigned=$?,          triang_unsigned=$?,
1296          triang_unsigned=0          triang_unsigned=0
1297      )      )
1298        AC_LANG_POP([C++])
1299      if test "$triang_unsigned" = "2"; then      if test "$triang_unsigned" = "2"; then
1300          config_unsigned_triang_algo="intmath"          config_unsigned_triang_algo="intmath"
1301          echo "integer math"          echo "integer math"
# Line 887  if test "$config_unsigned_triang_algo" = Line 1312  if test "$config_unsigned_triang_algo" =
1312          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1313          exit -1;          exit -1;
1314      fi      fi
1315    else
1316        case "$config_unsigned_triang_algo" in
1317            intmath)
1318                triang_unsigned=2 ;;
1319            diharmonic)
1320                triang_unsigned=3 ;;
1321            intmathabs)
1322                triang_unsigned=5 ;;
1323        esac
1324  fi  fi
1325  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.])
1326    
 AC_LANG_RESTORE  
   
1327    
1328  ###########################################################################  ###########################################################################
1329  # Create Build Files  # Create Build Files
1330    
1331  AM_CONFIG_HEADER(config.h)  AC_CONFIG_HEADERS([config.h])
 AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")  
1332    
1333  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  
1334    
1335  # 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
1336  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
1337  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
1338    
1339  AC_OUTPUT( \  AC_CONFIG_FILES([\
1340      Makefile \      Makefile \
1341      man/Makefile \      man/Makefile \
1342      man/linuxsampler.1 \      man/linuxsampler.1 \
1343        man/lscp.1 \
1344      src/Makefile \      src/Makefile \
1345        src/db/Makefile \
1346      src/network/Makefile \      src/network/Makefile \
1347      src/engines/Makefile \      src/engines/Makefile \
1348      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1349        src/engines/sf2/Makefile \
1350        src/engines/sfz/Makefile \
1351      src/engines/common/Makefile \      src/engines/common/Makefile \
1352      src/common/Makefile src/lib/Makefile \      src/effects/Makefile \
1353      src/lib/fileloader/Makefile \      src/common/Makefile \
     src/lib/fileloader/libgig/Makefile \  
1354      src/testcases/Makefile \      src/testcases/Makefile \
1355      src/drivers/Makefile \      src/drivers/Makefile \
1356      src/drivers/audio/Makefile \      src/drivers/audio/Makefile \
1357      src/drivers/midi/Makefile \      src/drivers/midi/Makefile \
1358        src/plugins/Makefile \
1359        src/hostplugins/Makefile \
1360        src/hostplugins/dssi/Makefile \
1361        src/hostplugins/lv2/Makefile \
1362        src/hostplugins/lv2/manifest.ttl \
1363        src/hostplugins/vst/Makefile \
1364        src/hostplugins/au/Makefile \
1365        src/scriptvm/Makefile \
1366        src/shell/Makefile \
1367      linuxsampler.spec \      linuxsampler.spec \
1368      debian/Makefile \      debian/Makefile \
1369      Artwork/Makefile \      Artwork/Makefile \
1370      scripts/Makefile \      scripts/Makefile \
1371      osx/Makefile \      osx/Makefile \
1372      osx/LinuxSampler.xcode/Makefile \      osx/linuxsampler.xcodeproj/Makefile \
1373      Documentation/Makefile \      Documentation/Makefile \
1374      Documentation/Engines/Makefile \      Documentation/Engines/Makefile \
1375      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
1376      linuxsampler.pc \      linuxsampler.pc \
1377      Doxyfile \      Doxyfile \
1378  )  ])
1379    AC_OUTPUT
1380    
1381    # resolve all nested variables in '${config_plugin_dir}'
1382    # (merely for providing a human readable summary below)
1383    while test $config_plugin_dir != `eval echo ${config_plugin_dir}` ; do
1384            config_plugin_dir=`eval echo ${config_plugin_dir}`
1385    done
1386    
1387    
1388  ###########################################################################  ###########################################################################
# Line 950  echo "" Line 1392  echo ""
1392  echo "#####################################################################"  echo "#####################################################################"
1393  echo "# LinuxSampler Configuration                                        #"  echo "# LinuxSampler Configuration                                        #"
1394  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1395    echo "# Release Version: ${VERSION}"
1396    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1397    echo "#-------------------------------------------------------------------"
1398  echo "# Assembly Optimizations: ${config_asm}"  echo "# Assembly Optimizations: ${config_asm}"
1399  echo "# Development Mode: ${config_dev_mode}"  echo "# Development Mode: ${config_dev_mode}"
1400  echo "# Debug Level: ${config_debug_level}"  echo "# Debug Level: ${config_debug_level}"
# Line 963  echo "# Streams to be refilled per Disk Line 1408  echo "# Streams to be refilled per Disk
1408  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1409  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1410  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
1411  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Default Maximum Disk Streams: ${config_max_streams}"
1412  echo "# Maximum Voices: ${config_max_voices}"  echo "# Default Maximum Voices: ${config_max_voices}"
1413  echo "# Default Subfragment Size: ${config_subfragment_size}"  echo "# Default Subfragment Size: ${config_subfragment_size}"
1414  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1415  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 1428  echo "# Override Filter Type: ${config_o
1428  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1429  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
1430  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1431    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1432  echo "# Interpolate Volume: ${config_interpolate_volume}"  echo "# Interpolate Volume: ${config_interpolate_volume}"
1433    echo "# Instruments database support: ${config_instruments_db}"
1434    if test "$config_instruments_db" = "yes"; then
1435    echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1436    fi
1437    echo "# Plugin Path: ${config_plugin_dir}"
1438    echo "#-------------------------------------------------------------------"
1439    echo "# MIDI Input Drivers:"
1440    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}"
1441    echo "#-------------------------------------------------------------------"
1442    echo "# Audio Output Drivers:"
1443    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}"
1444    echo "#-------------------------------------------------------------------"
1445    echo "# Sampler Engines:"
1446    echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes"
1447    echo "#-------------------------------------------------------------------"
1448    echo "# Effect plugin systems for internal effects:"
1449    echo "# LADSPA: yes"
1450    echo "#-------------------------------------------------------------------"
1451    echo "# Building sampler as plugin for following host standards:"
1452    echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}"
1453  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1454  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
1455  echo "#####################################################################"  echo "#####################################################################"

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

  ViewVC Help
Powered by ViewVC