/[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 1012 by capela, Sun Jan 7 15:52:36 2007 UTC linuxsampler/trunk/configure.ac revision 2594 by schoenebeck, Thu Jun 5 00:16:25 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.2cvs  m4_define(linuxsampler_release_build, 0.svn42)
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.2cvs Line 26  LINUXSAMPLER_RELEASE_BUILD=0.2cvs
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  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    AC_SUBST(LV2_CFLAGS)
537    AC_SUBST(LV2_LIBS)
538    AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")
539    
540    # VST
541    AC_ARG_ENABLE(vstsdk-dir,
542      [  --enable-vstsdk-dir
543                              Directory where the VST SDK is located.
544                              This automatically enables the compilation
545                              of the VST plugin.],
546      [VSTSDK_DIR="${enableval}"],
547      [VSTSDK_DIR=]
548    )
549    AC_SUBST(VSTSDK_DIR)
550    AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")
551    config_have_vst="no"
552    if test "x$VSTSDK_DIR" != "x"; then
553        config_have_vst="yes"
554    fi
555    
556    # AU
557    AC_CHECK_HEADERS(AudioUnit/AudioUnit.h,
558            config_have_au="yes",
559            config_have_au="no")
560    AM_CONDITIONAL(HAVE_AU, test $config_have_au = "yes")
561    AM_CONDITIONAL(HAVE_AUFLAGS, test "$AUFLAGS" != "")
562    
563    if test $config_have_au = "yes" ; then
564        if test "x$DEVELOPER_EXTRAS_DIR" = "x" ; then
565            if test -d /Developer/Extras ; then
566                DEVELOPER_EXTRAS_DIR=/Developer/Extras
567            else      
568                DEVELOPER_EXTRAS_DIR=/Developer/Examples
569            fi
570        fi
571        AC_SUBST(DEVELOPER_EXTRAS_DIR)
572    fi
573    
574    if test "x$MAC_PLUGIN_INSTALL_DIR" = "x" ; then
575        MAC_PLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins
576    fi
577    AC_SUBST(MAC_PLUGIN_INSTALL_DIR)
578    
579    # have we found at least one MIDI input and one audio output driver ?
580    if test "$have_midi_input_driver" = "false"; then
581        echo "No supported MIDI input system found!"
582        echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
583        echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
584        echo "If you think you have one of those available on your system, make sure you"
585        echo "also have the respective development (header) files installed."
586        exit -1;
587    fi
588    if test "$have_audio_output_driver" = "false"; then
589        echo "No supported audio output system found!"
590        echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
591        echo "driver at the moment!"
592        exit -1;
593    fi
594    
595    
596    
597    ###########################################################################
598    # Checks for various DLL libraries
599    
600  # Check presence of libgig  # Check presence of libgig
601  libgig_version="3.1.0"  libgig_version="3.3.0"
602  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)
603  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
604      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 308  fi Line 610  fi
610  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
611  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
612    
613  # SQLITE3  # SF2 Engine (requires libgig)
614  PKG_CHECK_MODULES(SQLITE3, sqlite3, HAVE_SQLITE3=true, HAVE_SQLITE3=false)  AC_ARG_ENABLE(sf2-engine,
615  AC_SUBST(SQLITE3_LIBS)    [  --disable-sf2-engine
616  AC_SUBST(SQLITE3_CFLAGS)                            Disable compilation of the SF2 engine.
617  if test $HAVE_SQLITE3 = false; then                            You need to have libgig installed.],
618      HAVE_SQLITE3=0;    [config_sf2_engine="$enableval"],
619      echo "no, support for instrument DB will be disabled!"    [config_sf2_engine="yes"]
620    )
621    HAVE_SF2=0;
622    if test "$config_sf2_engine" = "yes"; then
623        HAVE_SF2=1
624  else  else
625      HAVE_SQLITE3=1      echo "SF2 engine disabled by configure script parameter"
626      echo "yes"  fi
627    AM_CONDITIONAL(HAVE_SF2, test $HAVE_SF2 = 1)
628    AC_DEFINE_UNQUOTED(HAVE_SF2,$HAVE_SF2,[Define to 1 if you want SF2 engine and have libsf2 installed.])
629    config_have_sf2="no"
630    if test $HAVE_SF2 = "1"; then
631        config_have_sf2="yes"
632  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.])  
633    
634  if test "$have_midi_input_driver" = "false"; then  # Check presence of libsndfile
635      echo "No supported MIDI input system found!"  libsndfile_version="1.0"
636      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)
637      echo "ALSA, MIDIShare, CoreMIDI."  if test "$HAVE_SNDFILE" = "false"; then
638      echo "If you think you have one of those available on your system, make sure you"      echo "Required libsndfile version not found!"
639      echo "also have the respective development (header) files installed."      echo "You need to have libsndfile version ${libsndfile_version} installed!"
640      exit -1;      exit -1;
641    else
642        echo "yes, found libsndfile $libsndfile_version"
643  fi  fi
644  if test "$have_audio_output_driver" = "false"; then  AC_SUBST(SNDFILE_CFLAGS)
645      echo "No supported audio output system found!"  AC_SUBST(SNDFILE_LIBS)
646      echo "Sorry, LinuxSampler only supports ALSA and JACK as audio output driver at the moment!"  
647      exit -1;  # Check for Vorbis and FLAC support in libsndfile
648    linuxsampler_save_CFLAGS=$CFLAGS
649    CFLAGS="$SNDFILE_CFLAGS $CFLAGS"
650    AC_CHECK_DECLS([SF_FORMAT_VORBIS, SF_FORMAT_FLAC], [], [], [[#include <sndfile.h>]])
651    
652    # Check for loop functionality in libsndfile
653    AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],,
654                     [AC_MSG_WARN([Your version of libsndfile does not support
655        reading of loop information. LinuxSampler will not be able to
656        extract loop information from sample files.])],
657                     [#include <sndfile.h>])
658    CFLAGS=$linuxsampler_save_CFLAGS
659    
660    # Instruments DB feature (requires SQLite 3.3)
661    AC_ARG_ENABLE(instruments-db,
662      [  --disable-instruments-db
663                              Disable compilation of the sampler's instruments
664                              database feature. You need to have SQLite 3.3
665                              or younger installed for this feature.],
666      [config_instruments_db="$enableval"],
667      [config_instruments_db="yes"]
668    )
669    HAVE_SQLITE3=0;
670    if test "$config_instruments_db" = "yes"; then
671        # Check presence of sqlite3
672        sqlite_version="3.3"
673        PKG_CHECK_MODULES(SQLITE3, sqlite3 >= $sqlite_version, HAVE_SQLITE3=true, HAVE_SQLITE3=false)
674        AC_SUBST(SQLITE3_LIBS)
675        AC_SUBST(SQLITE3_CFLAGS)
676        if test $HAVE_SQLITE3 = false; then
677            HAVE_SQLITE3=0
678            config_instruments_db="no"
679            echo "*** Required sqlite version not found!"
680            echo "*** You need to have sqlite version ${sqlite_version} or higher"
681            echo "*** for instruments database support to be enabled."
682            echo "*** Support for instruments DB will be disabled!"
683        else
684            HAVE_SQLITE3=1
685        fi
686    else
687        echo "Instruments DB feature disabled by configure script parameter"
688  fi  fi
689    AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
690    AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you want the instruments DB feature and have SQLITE3 installed.])
691    
692    
693    
694  ###########################################################################  ###########################################################################
# Line 343  fi Line 697  fi
697  # TODO: should we use AC_ARG_VAR(variable, description) instead?  # TODO: should we use AC_ARG_VAR(variable, description) instead?
698    
699  AC_ARG_ENABLE(asm,  AC_ARG_ENABLE(asm,
700    [  --enable-asm    [  --disable-asm
701                            Enable hand-crafted assembly optimizations                            Enable hand-crafted assembly optimizations
702                            (default=off). LinuxSampler provides CPU specific                            (default=on). LinuxSampler provides CPU specific
703                            assembly optimizations for the most important                            assembly optimizations. This is currently limited
704                            synthesis algorithms. This is currently disabled                            to just enter a fast (denormal) FPU mode on x86
705                            by default since current asm code is broken.],                            platforms. There are currently no synthesis core
706    [config_asm="yes"],                            assembly optimizations anymore since LS 0.4.0],
707    [config_asm="no"]    [config_asm="$enableval"],
708      [config_asm="yes"]
709  )  )
710  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
711    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.])
712  fi  fi
713    
714  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
715    [  --disable-dev-mode    [  --enable-dev-mode
716                            Disable development mode (default=on). In that mode                            Enable development mode (default=off). In that mode
717                            we do some extra sanity checks here and there.                            we do some extra sanity checks here and there.
718                            This helps to spot possible problems, but reduces                            This helps to spot possible problems, but reduces
719                            efficiency a bit],                            efficiency a bit],
720    [config_dev_mode="no"],    [config_dev_mode="$enableval"],
721    [config_dev_mode="yes"]    [config_dev_mode="no"]
722  )  )
723  if test "$config_dev_mode" = "yes"; then  if test "$config_dev_mode" = "yes"; then
724    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 745  AC_ARG_ENABLE(rt-exceptions,
745                            context as well. Otherwise if disabled                            context as well. Otherwise if disabled
746                            segmentation faults will be forced by the                            segmentation faults will be forced by the
747                            application on critical errors.],                            application on critical errors.],
748    [config_rt_exceptions="yes"],    [config_rt_exceptions="$enableval"],
749    [config_rt_exceptions="no"]    [config_rt_exceptions="no"]
750  )  )
751  if test "$config_rt_exceptions" = "yes"; then  if test "$config_rt_exceptions" = "yes"; then
752    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.])
753  fi  fi
754    
755    config_pthread_testcancel="$mac"
756    AC_ARG_ENABLE(pthread-testcancel,
757      [  --enable-pthread-testcancel
758                              Enable pthread_testcancel() calls and avoid
759                              asynchronous cancel of pthreads (default=yes
760                              for Mac targets, no otherwise).],
761      [config_pthread_testcancel="$enableval"],
762      [])
763    if test "$config_pthread_testcancel" = "yes"; then
764      AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])
765    fi
766    
767  AC_ARG_ENABLE(preload-samples,  AC_ARG_ENABLE(preload-samples,
768    [  --enable-preload-samples    [  --enable-preload-samples
769                            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 869  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_
869    
870  AC_ARG_ENABLE(max-streams,  AC_ARG_ENABLE(max-streams,
871    [  --enable-max-streams    [  --enable-max-streams
872                            Maximum amount of disk streams (default=90). This                            Initial maximum amount of disk streams
873                            value should always be higher than the maximum                            (default=90). This value can be changed at
874                            amount of voices.],                            runtime. It should always be higher than the
875                              maximum amount of voices.],
876    [config_max_streams="${enableval}"],    [config_max_streams="${enableval}"],
877    [config_max_streams="90"]    [config_max_streams="90"]
878  )  )
879  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.])
880    
881  AC_ARG_ENABLE(max-voices,  AC_ARG_ENABLE(max-voices,
882    [  --enable-max-voices    [  --enable-max-voices
883                            Maximum amount of voices (default=64). This value                            Initial maximum amount of voices (default=64).
884                            should always be lower than the maximum amount of                            This value can be changed at runtime. It should
885                            disk streams.],                            always be lower than the maximum amount of disk
886                              streams.],
887    [config_max_voices="${enableval}"],    [config_max_voices="${enableval}"],
888    [config_max_voices="64"]    [config_max_voices="64"]
889  )  )
890  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.])
891    
892  AC_ARG_ENABLE(subfragment-size,  AC_ARG_ENABLE(subfragment-size,
893    [  --enable-subfragment-size    [  --enable-subfragment-size
# Line 584  AC_ARG_ENABLE(force-filter, Line 953  AC_ARG_ENABLE(force-filter,
953                            If enabled will force filter to be used even if                            If enabled will force filter to be used even if
954                            no usage was define in instrument patch files.                            no usage was define in instrument patch files.
955                            (default=no).],                            (default=no).],
956    [config_force_filter="yes"],    [config_force_filter="$enableval"],
957    [config_force_filter="no"]    [config_force_filter="no"]
958  )  )
959  if test "$config_force_filter" = "yes"; then  if test "$config_force_filter" = "yes"; then
# Line 674  AC_ARG_ENABLE(gs-checksum, Line 1043  AC_ARG_ENABLE(gs-checksum,
1043                            messages which do not provide a correct checksum                            messages which do not provide a correct checksum
1044                            will be ignored. This is disabled by default as                            will be ignored. This is disabled by default as
1045                            not all devices honor GS checksums.],                            not all devices honor GS checksums.],
1046    [config_assert_gs_sysex_checksum="yes"],    [config_assert_gs_sysex_checksum="$enableval"],
1047    [config_assert_gs_sysex_checksum="no"]    [config_assert_gs_sysex_checksum="no"]
1048  )  )
1049  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 1089  AC_ARG_ENABLE(signed-triang-algo,
1089                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1090                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1091                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1092                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1093                              diharmonic:                              diharmonic:
1094                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1095                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 755  AC_ARG_ENABLE(unsigned-triang-algo, Line 1123  AC_ARG_ENABLE(unsigned-triang-algo,
1123                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1124                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1125                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1126                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1127                              diharmonic:                              diharmonic:
1128                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1129                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 787  AC_ARG_ENABLE(process-muted-channels, Line 1154  AC_ARG_ENABLE(process-muted-channels,
1154                            will not discard notes, triggered in mute mode,                            will not discard notes, triggered in mute mode,
1155                            when the channel is unmuted. But also will reduce                            when the channel is unmuted. But also will reduce
1156                            the efficiency.],                            the efficiency.],
1157    [config_process_muted_channels="yes"],    [config_process_muted_channels="$enableval"],
1158    [config_process_muted_channels="no"]    [config_process_muted_channels="no"]
1159  )  )
1160  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 1168  AC_ARG_ENABLE(process-all-notes-off,
1168                            all voices whenever it receives an All-Notes-Off                            all voices whenever it receives an All-Notes-Off
1169                            MIDI message. You can disable this behavior, so                            MIDI message. You can disable this behavior, so
1170                            that LS simply ignores such messages.],                            that LS simply ignores such messages.],
1171    [config_process_all_notes_off="no"],    [config_process_all_notes_off="$enableval"],
1172    [config_process_all_notes_off="yes"]    [config_process_all_notes_off="yes"]
1173  )  )
1174  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 1182  AC_ARG_ENABLE(interpolate-volume,
1182                            generated by for example the envelope generator                            generated by for example the envelope generator
1183                            will be smoother, minimizing the risk for audio                            will be smoother, minimizing the risk for audio
1184                            clicks. Disable it to reduce CPU usage.],                            clicks. Disable it to reduce CPU usage.],
1185    [config_interpolate_volume="no"],    [config_interpolate_volume="$enableval"],
1186    [config_interpolate_volume="yes"]    [config_interpolate_volume="yes"]
1187  )  )
1188  if test "$config_interpolate_volume" = "yes"; then  if test "$config_interpolate_volume" = "yes"; then
1189    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.])
1190  fi  fi
1191    
1192    AC_ARG_ENABLE(master-volume-sysex-by-port,
1193      [  --enable-master-volume-sysex-by-port
1194                              Whether global volume sysex message should be
1195                              applied globally to the whole sampler or only to
1196                              the sampler channels connected to the same MIDI
1197                              input port on which the sysex message arrived on.
1198                              By default global volume sysex messages apply
1199                              globally to the whole sampler, since many MIDI
1200                              devices behave that way.],
1201      [config_master_volume_sysex_by_port="$enableval"],
1202      [config_master_volume_sysex_by_port="no"]
1203    )
1204    if test "$config_master_volume_sysex_by_port" = "yes"; then
1205      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.])
1206    fi
1207    
1208    AC_ARG_ENABLE(plugin-dir,
1209      [  --enable-plugin-dir
1210                              Directory where the sampler shall look for potential plugins,
1211                              that is 3rd party shared libraries that should be loaded by
1212                              the sampler on startup. By default the sampler will search
1213                              for plugins in the subdirectory "plugins" below its own
1214                              library directory.
1215                              (i.e. /usr/local/lib/linuxsampler/plugins)],
1216      [config_plugin_dir="${enableval}"],
1217      [config_plugin_dir="${libdir}/linuxsampler/plugins"]
1218    )
1219    AC_SUBST(config_plugin_dir)
1220    
1221    AC_ARG_ENABLE(default-instruments-db-location,
1222      [  --enable-default-instruments-db-location
1223                              Only when instruments DB feature is enabled: file name
1224                              which shall be taken as default location of the
1225                              instruments DB file. This location can still be
1226                              overridden at runtime with a command line switch.
1227                              (default: /var/lib/linuxsampler/instruments.db)],
1228      [config_default_instruments_db_file="${enableval}"],
1229      [config_default_instruments_db_file="/var/lib/linuxsampler/instruments.db"]
1230    )
1231    AC_DEFINE_UNQUOTED(
1232        CONFIG_DEFAULT_INSTRUMENTS_DB_LOCATION,
1233        "$config_default_instruments_db_file",
1234        [Only when instruments DB feature is enabled: default location of the DB file.]
1235    )
1236    AC_SUBST(config_default_instruments_db_file)
1237    
1238    
1239  ###########################################################################  ###########################################################################
1240  # Automatic Benchmarks (to detect the best algorithms for the system)  # Automatic Benchmarks (to detect the best algorithms for the system)
1241    
 AC_LANG_SAVE  
   
1242  if test "$config_signed_triang_algo" = "benchmark"; then  if test "$config_signed_triang_algo" = "benchmark"; then
1243      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1244      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1245      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1246              #define SIGNED 1              #define SIGNED 1
1247              #define SILENT 1              #define SILENT 1
1248              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1249          ],          ]])],
1250          triang_signed=0,          triang_signed=0,
1251          triang_signed=$?,          triang_signed=$?,
1252          triang_signed=0          triang_signed=0
1253      )      )
1254        AC_LANG_POP([C++])
1255      if test "$triang_signed" = "2"; then      if test "$triang_signed" = "2"; then
1256          config_signed_triang_algo="intmath"          config_signed_triang_algo="intmath"
1257          echo "integer math"          echo "integer math"
# Line 856  if test "$config_signed_triang_algo" = " Line 1268  if test "$config_signed_triang_algo" = "
1268          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1269          exit -1;          exit -1;
1270      fi      fi
1271    else
1272        case "$config_signed_triang_algo" in
1273            intmath)
1274                triang_signed=2 ;;
1275            diharmonic)
1276                triang_signed=3 ;;
1277            intmathabs)
1278                triang_signed=5 ;;
1279        esac
1280  fi  fi
1281  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.])
1282    
1283  if test "$config_unsigned_triang_algo" = "benchmark"; then  if test "$config_unsigned_triang_algo" = "benchmark"; then
1284      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1285      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1286      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1287              #define SIGNED 0              #define SIGNED 0
1288              #define SILENT 1              #define SILENT 1
1289              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1290          ],          ]])],
1291          triang_unsigned=0,          triang_unsigned=0,
1292          triang_unsigned=$?,          triang_unsigned=$?,
1293          triang_unsigned=0          triang_unsigned=0
1294      )      )
1295        AC_LANG_POP([C++])
1296      if test "$triang_unsigned" = "2"; then      if test "$triang_unsigned" = "2"; then
1297          config_unsigned_triang_algo="intmath"          config_unsigned_triang_algo="intmath"
1298          echo "integer math"          echo "integer math"
# Line 887  if test "$config_unsigned_triang_algo" = Line 1309  if test "$config_unsigned_triang_algo" =
1309          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1310          exit -1;          exit -1;
1311      fi      fi
1312    else
1313        case "$config_unsigned_triang_algo" in
1314            intmath)
1315                triang_unsigned=2 ;;
1316            diharmonic)
1317                triang_unsigned=3 ;;
1318            intmathabs)
1319                triang_unsigned=5 ;;
1320        esac
1321  fi  fi
1322  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.])
1323    
 AC_LANG_RESTORE  
   
1324    
1325  ###########################################################################  ###########################################################################
1326  # Create Build Files  # Create Build Files
1327    
1328  AM_CONFIG_HEADER(config.h)  AC_CONFIG_HEADERS([config.h])
 AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")  
1329    
1330  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  
1331    
1332  # 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
1333  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
1334  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
1335    
1336  AC_OUTPUT( \  AC_CONFIG_FILES([\
1337      Makefile \      Makefile \
1338      man/Makefile \      man/Makefile \
1339      man/linuxsampler.1 \      man/linuxsampler.1 \
1340        man/lscp.1 \
1341      src/Makefile \      src/Makefile \
1342        src/db/Makefile \
1343      src/network/Makefile \      src/network/Makefile \
1344      src/engines/Makefile \      src/engines/Makefile \
1345      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1346        src/engines/sf2/Makefile \
1347        src/engines/sfz/Makefile \
1348      src/engines/common/Makefile \      src/engines/common/Makefile \
1349      src/common/Makefile src/lib/Makefile \      src/effects/Makefile \
1350      src/lib/fileloader/Makefile \      src/common/Makefile \
     src/lib/fileloader/libgig/Makefile \  
1351      src/testcases/Makefile \      src/testcases/Makefile \
1352      src/drivers/Makefile \      src/drivers/Makefile \
1353      src/drivers/audio/Makefile \      src/drivers/audio/Makefile \
1354      src/drivers/midi/Makefile \      src/drivers/midi/Makefile \
1355        src/plugins/Makefile \
1356        src/hostplugins/Makefile \
1357        src/hostplugins/dssi/Makefile \
1358        src/hostplugins/lv2/Makefile \
1359        src/hostplugins/lv2/manifest.ttl \
1360        src/hostplugins/vst/Makefile \
1361        src/hostplugins/au/Makefile \
1362        src/scriptvm/Makefile \
1363        src/shell/Makefile \
1364      linuxsampler.spec \      linuxsampler.spec \
1365      debian/Makefile \      debian/Makefile \
1366      Artwork/Makefile \      Artwork/Makefile \
1367      scripts/Makefile \      scripts/Makefile \
1368      osx/Makefile \      osx/Makefile \
1369      osx/LinuxSampler.xcode/Makefile \      osx/linuxsampler.xcodeproj/Makefile \
1370      Documentation/Makefile \      Documentation/Makefile \
1371      Documentation/Engines/Makefile \      Documentation/Engines/Makefile \
1372      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
1373      linuxsampler.pc \      linuxsampler.pc \
1374      Doxyfile \      Doxyfile \
1375  )  ])
1376    AC_OUTPUT
1377    
1378    # resolve all nested variables in '${config_plugin_dir}'
1379    # (merely for providing a human readable summary below)
1380    while test $config_plugin_dir != `eval echo ${config_plugin_dir}` ; do
1381            config_plugin_dir=`eval echo ${config_plugin_dir}`
1382    done
1383    
1384    
1385  ###########################################################################  ###########################################################################
# Line 950  echo "" Line 1389  echo ""
1389  echo "#####################################################################"  echo "#####################################################################"
1390  echo "# LinuxSampler Configuration                                        #"  echo "# LinuxSampler Configuration                                        #"
1391  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1392    echo "# Release Version: ${VERSION}"
1393    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1394    echo "#-------------------------------------------------------------------"
1395  echo "# Assembly Optimizations: ${config_asm}"  echo "# Assembly Optimizations: ${config_asm}"
1396  echo "# Development Mode: ${config_dev_mode}"  echo "# Development Mode: ${config_dev_mode}"
1397  echo "# Debug Level: ${config_debug_level}"  echo "# Debug Level: ${config_debug_level}"
# Line 963  echo "# Streams to be refilled per Disk Line 1405  echo "# Streams to be refilled per Disk
1405  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1406  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1407  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
1408  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Default Maximum Disk Streams: ${config_max_streams}"
1409  echo "# Maximum Voices: ${config_max_voices}"  echo "# Default Maximum Voices: ${config_max_voices}"
1410  echo "# Default Subfragment Size: ${config_subfragment_size}"  echo "# Default Subfragment Size: ${config_subfragment_size}"
1411  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1412  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
# Line 983  echo "# Override Filter Type: ${config_o Line 1425  echo "# Override Filter Type: ${config_o
1425  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1426  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
1427  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1428    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1429  echo "# Interpolate Volume: ${config_interpolate_volume}"  echo "# Interpolate Volume: ${config_interpolate_volume}"
1430    echo "# Instruments database support: ${config_instruments_db}"
1431    if test "$config_instruments_db" = "yes"; then
1432    echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1433    fi
1434    echo "# Plugin Path: ${config_plugin_dir}"
1435    echo "#-------------------------------------------------------------------"
1436    echo "# MIDI Input Drivers:"
1437    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}"
1438    echo "#-------------------------------------------------------------------"
1439    echo "# Audio Output Drivers:"
1440    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}"
1441    echo "#-------------------------------------------------------------------"
1442    echo "# Sampler Engines:"
1443    echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes"
1444    echo "#-------------------------------------------------------------------"
1445    echo "# Effect plugin systems for internal effects:"
1446    echo "# LADSPA: yes"
1447    echo "#-------------------------------------------------------------------"
1448    echo "# Building sampler as plugin for following host standards:"
1449    echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}"
1450  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1451  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
1452  echo "#####################################################################"  echo "#####################################################################"

Legend:
Removed from v.1012  
changed lines
  Added in v.2594

  ViewVC Help
Powered by ViewVC