/[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 2380 by schoenebeck, Wed Nov 21 21:52:15 2012 UTC
# Line 1  Line 1 
 AC_INIT(configure.in)  
   
1  #------------------------------------------------------------------------------------  #------------------------------------------------------------------------------------
2  # LinuxSampler's / liblinuxsampler's "official" release version:  # LinuxSampler's / liblinuxsampler's "official" release version:
3    
4  LINUXSAMPLER_RELEASE_MAJOR=0  m4_define(linuxsampler_release_major, 1)
5  LINUXSAMPLER_RELEASE_MINOR=4  m4_define(linuxsampler_release_minor, 0)
6  LINUXSAMPLER_RELEASE_BUILD=0.4cvs  m4_define(linuxsampler_release_build, 0.svn20)
7    
8    
9    AC_INIT([linuxsampler],[linuxsampler_release_major.linuxsampler_release_minor.linuxsampler_release_build])
10    AC_CONFIG_SRCDIR([configure.ac])
11    
12  #------------------------------------------------------------------------------------  #------------------------------------------------------------------------------------
13  # The following is the libtool / shared library version. This doesn't have to  # The following is the libtool / shared library version. This doesn't have to
# Line 24  LINUXSAMPLER_RELEASE_BUILD=0.4cvs Line 26  LINUXSAMPLER_RELEASE_BUILD=0.4cvs
26  #  6. If any interfaces have been removed since the last public release, then set age  #  6. If any interfaces have been removed since the last public release, then set age
27  #     to 0.  #     to 0.
28    
29  LIBLINUXSAMPLER_LT_CURRENT=0  LIBLINUXSAMPLER_LT_CURRENT=3
30  LIBLINUXSAMPLER_LT_REVISION=0  LIBLINUXSAMPLER_LT_REVISION=0
31  LIBLINUXSAMPLER_LT_AGE=0  LIBLINUXSAMPLER_LT_AGE=0
32  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT_CURRENT:$LIBLINUXSAMPLER_LT_REVISION:$LIBLINUXSAMPLER_LT_AGE"  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT_CURRENT:$LIBLINUXSAMPLER_LT_REVISION:$LIBLINUXSAMPLER_LT_AGE"
# Line 33  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT Line 35  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT
35  # the LSCP specification version this LinuSampler release complies with:  # the LSCP specification version this LinuSampler release complies with:
36    
37  LSCP_RELEASE_MAJOR=1  LSCP_RELEASE_MAJOR=1
38  LSCP_RELEASE_MINOR=2  LSCP_RELEASE_MINOR=5
39    
40  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MAJOR, ${LSCP_RELEASE_MAJOR}, [LSCP spec major version this release complies with.])  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MAJOR, ${LSCP_RELEASE_MAJOR}, [LSCP spec major version this release complies with.])
41  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MINOR, ${LSCP_RELEASE_MINOR}, [LSCP spec minor version this release complies with.])  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MINOR, ${LSCP_RELEASE_MINOR}, [LSCP spec minor version this release complies with.])
42    
43  AM_PROG_LIBTOOL  AC_PROG_CXX
44    AC_LIBTOOL_WIN32_DLL
45    AC_PROG_LIBTOOL
46    
47  AC_SUBST(SHLIB_VERSION_ARG)  AC_SUBST(SHLIB_VERSION_ARG)
48  AC_SUBST(SHARED_VERSION_INFO)  AC_SUBST(SHARED_VERSION_INFO)
49    
50  AC_C_BIGENDIAN  module=yes eval LIB_EXT=$shrext_cmds
51  AC_CANONICAL_SYSTEM  AC_SUBST(LIB_EXT)
52    
53  AC_SUBST(target)  AC_C_BIGENDIAN
54  AC_SUBST(target_alias)  AC_CANONICAL_HOST
 AC_SUBST(target_cpu)  
 AC_SUBST(target_os)  
 AC_SUBST(target_vendor)  
55    
56    PKG_PROG_PKG_CONFIG
57    
58  ###########################################################################  ###########################################################################
59  # General Checks  # General Checks
60    
61    AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
62    
63  AC_MSG_CHECKING([whether x86 architecture])  AC_MSG_CHECKING([whether x86 architecture])
64  def_arch_x86=0  def_arch_x86=0
65  case $target_cpu in  case $host_cpu in
66    "i386" | "i486" | "i586" | "i686" | "i786")    "i386" | "i486" | "i586" | "i686" | "i786" | "x86_64")
67      echo "yes"      echo "yes"
68      def_arch_x86=1;;      def_arch_x86=1;;
69    *)    *)
# Line 71  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x8 Line 75  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x8
75  # (only if the user did not provide one)  # (only if the user did not provide one)
76  CXX_CPU_SWITCH=  CXX_CPU_SWITCH=
77  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then
78    if test "$def_arch_x86" = 1; then    if test "$def_arch_x86" = 1 -a "$host_cpu" != "x86_64"; then
79      CXX_CPU_SWITCH="-march=$target_cpu"      CXX_CPU_SWITCH="-march=$host_cpu"
80    elif test "$target_cpu" = "ppc"; then    elif test "$target_cpu" = "ppc"; then
81      CXX_CPU_SWITCH="-arch=$target_cpu"      CXX_CPU_SWITCH="-arch=$host_cpu"
82    fi    fi
83  fi  fi
84  AC_SUBST([CXX_CPU_SWITCH])  AC_SUBST([CXX_CPU_SWITCH])
85    
86    mac=no
87    linux=no
88    case "$host" in
89        *-*-darwin*)
90            mac=yes
91            ;;
92        *-*-linux*)
93            linux=yes
94            ;;
95    esac
96    AM_CONDITIONAL(LINUX, test "$linux" = yes)
97    AM_CONDITIONAL(MAC, test "$mac" = yes)
98    
99    # check if we're on MS Windows
100    AC_CHECK_HEADERS(
101        mmsystem.h,
102        have_windows=1,
103        have_windows=0,
104        [#include <windef.h>]
105    )
106    AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")
107    
108  AC_MSG_CHECKING([whether UNIX98 compatible])  AC_MSG_CHECKING([whether UNIX98 compatible])
109  AC_LANG_SAVE  AC_LANG_PUSH([C])
110  AC_LANG_C  AC_RUN_IFELSE([AC_LANG_SOURCE([[
 AC_TRY_RUN([  
111  #ifndef _GNU_SOURCE  #ifndef _GNU_SOURCE
112  #define _GNU_SOURCE 1  #define _GNU_SOURCE 1
113  #endif  #endif
# Line 94  exit(0); /* UNIX98 compatible */ Line 119  exit(0); /* UNIX98 compatible */
119  exit(-1); /* not UNIX98 compatible */  exit(-1); /* not UNIX98 compatible */
120  #endif  #endif
121  }  }
122  ],  ]])],
123  have_unix98="yes",  have_unix98="yes",
124  have_unix98="no",  have_unix98="no",
125  have_unix98="no"  have_unix98="no"
126  )  )
127  AC_LANG_RESTORE  AC_LANG_POP([C])
128  AC_MSG_RESULT([$have_unix98])  AC_MSG_RESULT([$have_unix98])
129  if test "$have_unix98" = "no"; then  if test "$have_unix98" = "no" -a "$have_windows" = "0" -a "$mac" = "no" ; then
130      if test "x$HAVE_UNIX98" = "x"; then      if test "x$HAVE_UNIX98" = "x"; then
131          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"
132          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"
133          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"
134          echo "have a UNIX98 compatible system."          echo "have a UNIX98 compatible system."
135          exit -1;          exit -1;
136      fi      fi
# Line 114  fi Line 139  fi
139  # check for <features.h>  # check for <features.h>
140  AC_CHECK_HEADERS(features.h)  AC_CHECK_HEADERS(features.h)
141    
142    # test for POSIX thread library
143    m4_ifdef([m4_include(m4/pthread.m4)],,
144                 [sinclude([m4/pthread.m4])])
145    ACX_PTHREAD
146    LIBS="$PTHREAD_LIBS $LIBS"
147    CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
148    CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
149    CC="$PTHREAD_CC"
150    
151    # check for a bug in NPTL-enabled glibc
152    # (see Gentoo bug report #194076)
153    AC_ARG_ENABLE(nptl-bug-check,
154      [  --disable-nptl-bug-check
155                              Disable check for a bug in certain NPTL-enabled
156                              glibc versions that caused crashs.],
157      [config_check_nptl_bug="$enableval"],
158      [config_check_nptl_bug="yes"]
159    )
160    if test "$config_check_nptl_bug" = "yes"; then
161        m4_ifdef([m4_include(m4/nptl_bug.m4)],,
162                 [sinclude([m4/nptl_bug.m4])])
163        ACX_NPTL_GLIBC_BUG([
164            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
165            echo "You seem to have a buggy PTHREAD library! LinuxSampler would"
166            echo "probably crash due to this. Please report us the system you are"
167            echo "using and/or file a bug report to the bug tracking system of"
168            echo "your distribution."
169            echo "If you have a NPTL-enabled glibc AND it was compiled for TLS as"
170            echo "well, you can try to circumvent this problem for now by setting"
171            echo "the environment variable LD_ASSUME_KERNEL=\"2.4.1\" , which"
172            echo "should cause this test to pass."
173            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
174            AC_MSG_ERROR([possibly NPTL glibc bug detected])
175        ])
176    else
177        echo "NPTL glibc bug check disabled"
178    fi
179    
180    # FIXME: this is actually a dependency of libgig, not of LS directly, why
181    # isn't it hidden by libgig?
182    AC_CHECK_HEADERS(uuid/uuid.h)
183    AC_SEARCH_LIBS(uuid_generate, uuid)
184    
185    
186    
187  ###########################################################################  ###########################################################################
188  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
# Line 127  AC_ARG_ENABLE(alsa-driver, Line 196  AC_ARG_ENABLE(alsa-driver,
196    [  --disable-alsa-driver    [  --disable-alsa-driver
197                            Disable support for the Advanced Linux Sound                            Disable support for the Advanced Linux Sound
198                            Architecture (ALSA).],                            Architecture (ALSA).],
199    [config_alsa_driver="no"],    [config_alsa_driver="$enableval"],
200    [config_alsa_driver="yes"]    [config_alsa_driver="yes"]
201  )  )
202  have_alsa=0  have_alsa=0
# Line 147  if test "$config_alsa_driver" = "yes"; t Line 216  if test "$config_alsa_driver" = "yes"; t
216      fi      fi
217    
218      echo -n "checking Alsa version... "      echo -n "checking Alsa version... "
219      AC_LANG_SAVE      AC_LANG_PUSH([C])
220      AC_LANG_C      AC_RUN_IFELSE([AC_LANG_SOURCE([[
     AC_TRY_RUN([  
221          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
222          void main(void) {          void main(void) {
223              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 158  if test "$config_alsa_driver" = "yes"; t Line 226  if test "$config_alsa_driver" = "yes"; t
226              #endif              #endif
227              exit(SND_LIB_MAJOR);              exit(SND_LIB_MAJOR);
228          }          }
229      ],      ]])],
230      alsa_major=0,      alsa_major=0,
231      alsa_major=$?,      alsa_major=$?,
232      alsa_major=0      alsa_major=0
233      )      )
234      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
235          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
236          void main(void) {          void main(void) {
237              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 172  if test "$config_alsa_driver" = "yes"; t Line 240  if test "$config_alsa_driver" = "yes"; t
240              #endif              #endif
241              exit(SND_LIB_MINOR);              exit(SND_LIB_MINOR);
242          }          }
243      ],      ]])],
244      alsa_minor=0,      alsa_minor=0,
245      alsa_minor=$?,      alsa_minor=$?,
246      alsa_minor=0      alsa_minor=0
247      )      )
248      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
249          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
250          void main(void) {          void main(void) {
251              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 186  if test "$config_alsa_driver" = "yes"; t Line 254  if test "$config_alsa_driver" = "yes"; t
254              #endif              #endif
255              exit(SND_LIB_SUBMINOR);              exit(SND_LIB_SUBMINOR);
256          }          }
257      ],      ]])],
258      alsa_subminor=0,      alsa_subminor=0,
259      alsa_subminor=$?,      alsa_subminor=$?,
260      alsa_subminor=0      alsa_subminor=0
261      )      )
262      AC_LANG_RESTORE      AC_LANG_POP([C])
263      echo "$alsa_major.$alsa_minor.$alsa_subminor";      echo "$alsa_major.$alsa_minor.$alsa_subminor";
264      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.])
265      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 269  else
269  fi  fi
270  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
271  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.])
272    config_have_alsa="no"
273    if test $have_alsa = "1"; then
274        config_have_alsa="yes"
275    fi
276    
277  # JACK  # JACK
278  AC_ARG_ENABLE(jack-driver,  AC_ARG_ENABLE(jack-driver,
279    [  --disable-jack-driver    [  --disable-jack-driver
280                            Disable support for the Jack Audio Connection Kit                            Disable support for the Jack Audio Connection Kit
281                            (JACK).],                            (JACK).],
282    [config_jack_driver="no"],    [config_jack_driver="$enableval"],
283    [config_jack_driver="yes"]    [config_jack_driver="yes"]
284  )  )
285  have_jack=0  have_jack=0
# Line 216  if test "$config_jack_driver" = "yes"; t Line 288  if test "$config_jack_driver" = "yes"; t
288      if test $have_jack = "1"; then      if test $have_jack = "1"; then
289          AC_SUBST(JACK_LIBS)          AC_SUBST(JACK_LIBS)
290          AC_SUBST(JACK_CFLAGS)          AC_SUBST(JACK_CFLAGS)
291          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
292            LIBS="$JACK_LIBS $LIBS"
293            AC_CHECK_FUNCS(jack_client_name_size jack_client_open)
294            LIBS=$linuxsampler_save_LIBS
295          have_audio_output_driver="true";          have_audio_output_driver="true";
296      fi      fi
297  else  else
# Line 224  else Line 299  else
299  fi  fi
300  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
301  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.])
302    config_have_jack="no"
303    if test $have_jack = "1"; then
304        config_have_jack="yes"
305    fi
306    
307    # JACK MIDI
308    have_jack_midi=0
309    if test $have_jack = "1"; then
310        linuxsampler_save_CFLAGS=$CFLAGS
311        linuxsampler_save_LIBS=$LIBS
312        CFLAGS="$JACK_CFLAGS $CFLAGS"
313        LIBS="$JACK_LIBS $LIBS"
314        AC_CHECK_HEADER(jack/midiport.h, have_jack_midi=1, have_jack_midi=0)
315        if test $have_jack_midi = "1"; then
316            AC_CHECK_FUNCS(jack_midi_get_event_count)
317            AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jack/midiport.h>]], [[
318                jack_midi_clear_buffer(0, 0);
319            ]])], [AC_DEFINE(JACK_MIDI_FUNCS_NEED_NFRAMES, 1,
320                      [Define to 1 if you have the old jack midi functions that need an nframes argument.])])
321            have_midi_input_driver="true"
322        fi
323        CFLAGS=$linuxsampler_save_CFLAGS
324        LIBS=$linuxsampler_save_LIBS
325    fi
326    AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")
327    AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,
328                       [Define to 1 if you have JACK with MIDI support installed.])
329    config_have_jack_midi="no"
330    if test $have_jack_midi = "1"; then
331        config_have_jack_midi="yes"
332    fi
333    
334  # ARTS  # ARTS
335  AC_ARG_ENABLE(arts-driver,  AC_ARG_ENABLE(arts-driver,
336    [  --disable-arts-driver    [  --disable-arts-driver
337                            Disable support for the Analogue Realtime System                            Disable support for the Analogue Realtime System
338                            (aRts).],                            (aRts).],
339    [config_arts_driver="no"],    [config_arts_driver="$enableval"],
340    [config_arts_driver="yes"]    [config_arts_driver="yes"]
341  )  )
342  have_arts=0  have_arts=0
# Line 246  else Line 352  else
352  fi  fi
353  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
354  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.])
355    config_have_arts="no"
356    if test $have_arts = "1"; then
357        config_have_arts="yes"
358    fi
359    
360    # ASIO AUDIO (Win32)
361    AC_ARG_ENABLE(asiosdk-dir,
362      [  --enable-asiosdk-dir
363                              Directory where the ASIO SDK is located, this automatically
364                              enables the compilation of the ASIO audio output driver.],
365      [config_asiosdk_dir="${enableval}"],
366      [config_asiosdk_dir="."]
367    )
368    AC_SUBST(config_asiosdk_dir)
369    
370    AC_ARG_ENABLE(asio-driver,
371      [  --disable-asio-driver
372                              Disable support for the Windows ASIO driver.],
373      [config_asio_driver="$enableval"],
374      [config_asio_driver="yes"]
375    )
376    have_asio=0
377    ASIOSDK_BASEDIR=
378    if test "$config_asio_driver" = "yes"; then
379        asiosdk_headerfile=$config_asiosdk_dir/ASIOSDK2/common/asio.h
380        echo -n "checking for ASIO headerfile: $asiosdk_headerfile ...."
381        if test -e $asiosdk_headerfile ; then
382            echo yes
383            have_asio=1
384            ASIOSDK_BASEDIR="$config_asiosdk_dir"
385        else
386            echo no
387            have_asio=0
388        fi
389        if test "$have_asio" = "1"; then
390            have_audio_output_driver="true"
391        fi
392    else
393        echo "Windows ASIO support disabled by configure script parameter"
394    fi
395    AC_SUBST(ASIOSDK_BASEDIR)
396    AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
397    AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.])
398    config_have_asio="no"
399    if test $have_asio = "1"; then
400        config_have_asio="yes"
401    fi
402    
403  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
404  AC_ARG_ENABLE(midishare-driver,  AC_ARG_ENABLE(midishare-driver,
405    [  --disable-midishare-driver    [  --disable-midishare-driver
406                            Disable support for the MidiShare system.],                            Disable support for the MidiShare system.],
407    [config_midishare_driver="no"],    [config_midishare_driver="$enableval"],
408    [config_midishare_driver="yes"]    [config_midishare_driver="yes"]
409  )  )
410  have_midishare=0  have_midishare=0
# Line 272  else Line 425  else
425  fi  fi
426  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
427  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.])
428    config_have_midishare="no"
429    if test $have_midishare = "1"; then
430        config_have_midishare="yes"
431    fi
432    
433  # CoreMIDI (OS X)  # CoreMIDI (OS X)
434  AC_ARG_ENABLE(coremidi-driver,  AC_ARG_ENABLE(coremidi-driver,
435    [  --disable-coremidi-driver    [  --disable-coremidi-driver
436                            Disable support for the Apple CoreMIDI system.],                            Disable support for the Apple CoreMIDI system.],
437    [config_coremidi_driver="no"],    [config_coremidi_driver="$enableval"],
438    [config_coremidi_driver="yes"]    [config_coremidi_driver="yes"]
439  )  )
440  have_coremidi=0  have_coremidi=0
# Line 294  else Line 451  else
451  fi  fi
452  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
453  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.])
454    config_have_coremidi="no"
455    if test $have_coremidi = "1"; then
456        config_have_coremidi="yes"
457    fi
458    
459    # CoreAudio (OS X)
460    AC_ARG_ENABLE(coreaudio-driver,
461      [  --disable-coreaudio-driver
462                              Disable support for the Apple CoreAudio system.],
463      [config_coreaudio_driver="$enableval"],
464      [config_coreaudio_driver="yes"]
465    )
466    have_coreaudio=0
467    if test "$config_coreaudio_driver" = "yes"; then
468        AC_CHECK_HEADER(CoreAudio/CoreAudio.h,
469            have_coreaudio=1,
470            have_coreaudio=0
471        )
472        if test "$have_coreaudio" = "1"; then
473            have_audio_output_driver="true"
474        fi
475    else
476        echo "CoreAudio support disabled by configure script parameter"
477    fi
478    AM_CONDITIONAL(HAVE_COREAUDIO, test $have_coreaudio = "1")
479    AC_DEFINE_UNQUOTED(HAVE_COREAUDIO,$have_coreaudio,[Define to 1 if you have CoreAudio installed.])
480    config_have_coreaudio="no"
481    if test $have_coreaudio = "1"; then
482        config_have_coreaudio="yes"
483    fi
484    
485    # MME MIDI (Win32)
486    AC_ARG_ENABLE(mmemidi-driver,
487      [  --disable-mmemidi-driver
488                              Disable support for the Windows MME MIDI system.],
489      [config_mmemidi_driver="$enableval"],
490      [config_mmemidi_driver="yes"]
491    )
492    have_mmemidi=0
493    if test "$config_mmemidi_driver" = "yes"; then
494        AC_CHECK_HEADERS(mmsystem.h,
495            have_mmemidi=1,
496            have_mmemidi=0
497        )
498        if test "$have_mmemidi" = "1"; then
499            have_midi_input_driver="true"
500        fi
501    else
502        echo "MME MIDI support disabled by configure script parameter"
503    fi
504    AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")
505    AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.])
506    config_have_mme="no"
507    if test $have_mmemidi = "1"; then
508        config_have_mme="yes"
509    fi
510    
511    # DSSI
512    AC_CHECK_HEADERS(dssi.h,
513            config_have_dssi="yes",
514            config_have_dssi="no")
515    AM_CONDITIONAL(HAVE_DSSI, test $config_have_dssi = "yes")
516    
517    # LV2
518    PKG_CHECK_MODULES(LV2, lv2 >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
519    AC_SUBST(LV2_CFLAGS)
520    AC_SUBST(LV2_LIBS)
521    AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")
522    
523    # VST
524    AC_ARG_ENABLE(vstsdk-dir,
525      [  --enable-vstsdk-dir
526                              Directory where the VST SDK is located.
527                              This automatically enables the compilation
528                              of the VST plugin.],
529      [VSTSDK_DIR="${enableval}"],
530      [VSTSDK_DIR=]
531    )
532    AC_SUBST(VSTSDK_DIR)
533    AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")
534    config_have_vst="no"
535    if test "x$VSTSDK_DIR" != "x"; then
536        config_have_vst="yes"
537    fi
538    
539    # AU
540    AC_CHECK_HEADERS(AudioUnit/AudioUnit.h,
541            config_have_au="yes",
542            config_have_au="no")
543    AM_CONDITIONAL(HAVE_AU, test $config_have_au = "yes")
544    AM_CONDITIONAL(HAVE_AUFLAGS, test "$AUFLAGS" != "")
545    
546    if test $config_have_au = "yes" ; then
547        if test "x$DEVELOPER_EXTRAS_DIR" = "x" ; then
548            if test -d /Developer/Extras ; then
549                DEVELOPER_EXTRAS_DIR=/Developer/Extras
550            else      
551                DEVELOPER_EXTRAS_DIR=/Developer/Examples
552            fi
553        fi
554        AC_SUBST(DEVELOPER_EXTRAS_DIR)
555    fi
556    
557    if test "x$MAC_PLUGIN_INSTALL_DIR" = "x" ; then
558        MAC_PLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins
559    fi
560    AC_SUBST(MAC_PLUGIN_INSTALL_DIR)
561    
562    # have we found at least one MIDI input and one audio output driver ?
563    if test "$have_midi_input_driver" = "false"; then
564        echo "No supported MIDI input system found!"
565        echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
566        echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
567        echo "If you think you have one of those available on your system, make sure you"
568        echo "also have the respective development (header) files installed."
569        exit -1;
570    fi
571    if test "$have_audio_output_driver" = "false"; then
572        echo "No supported audio output system found!"
573        echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
574        echo "driver at the moment!"
575        exit -1;
576    fi
577    
578    
579    
580    ###########################################################################
581    # Checks for various DLL libraries
582    
583  # Check presence of libgig  # Check presence of libgig
584  libgig_version="3.1.0"  libgig_version="3.3.0"
585  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)
586  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
587      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 308  fi Line 593  fi
593  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
594  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
595    
596  # SQLITE3  # SF2 Engine (requires libgig)
597  PKG_CHECK_MODULES(SQLITE3, sqlite3, HAVE_SQLITE3=true, HAVE_SQLITE3=false)  AC_ARG_ENABLE(sf2-engine,
598  AC_SUBST(SQLITE3_LIBS)    [  --disable-sf2-engine
599  AC_SUBST(SQLITE3_CFLAGS)                            Disable compilation of the SF2 engine.
600  if test $HAVE_SQLITE3 = false; then                            You need to have libgig installed.],
601      HAVE_SQLITE3=0;    [config_sf2_engine="$enableval"],
602      echo "no, support for instrument DB will be disabled!"    [config_sf2_engine="yes"]
603    )
604    HAVE_SF2=0;
605    if test "$config_sf2_engine" = "yes"; then
606        HAVE_SF2=1
607  else  else
608      HAVE_SQLITE3=1      echo "SF2 engine disabled by configure script parameter"
609      echo "yes"  fi
610    AM_CONDITIONAL(HAVE_SF2, test $HAVE_SF2 = 1)
611    AC_DEFINE_UNQUOTED(HAVE_SF2,$HAVE_SF2,[Define to 1 if you want SF2 engine and have libsf2 installed.])
612    config_have_sf2="no"
613    if test $HAVE_SF2 = "1"; then
614        config_have_sf2="yes"
615  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.])  
616    
617  if test "$have_midi_input_driver" = "false"; then  # Check presence of libsndfile
618      echo "No supported MIDI input system found!"  libsndfile_version="1.0"
619      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)
620      echo "ALSA, MIDIShare, CoreMIDI."  if test "$HAVE_SNDFILE" = "false"; then
621      echo "If you think you have one of those available on your system, make sure you"      echo "Required libsndfile version not found!"
622      echo "also have the respective development (header) files installed."      echo "You need to have libsndfile version ${libsndfile_version} installed!"
623      exit -1;      exit -1;
624    else
625        echo "yes, found libsndfile $libsndfile_version"
626  fi  fi
627  if test "$have_audio_output_driver" = "false"; then  AC_SUBST(SNDFILE_CFLAGS)
628      echo "No supported audio output system found!"  AC_SUBST(SNDFILE_LIBS)
629      echo "Sorry, LinuxSampler only supports ALSA and JACK as audio output driver at the moment!"  
630      exit -1;  # Check for Vorbis support in libsndfile
631    linuxsampler_save_CFLAGS=$CFLAGS
632    CFLAGS="$SNDFILE_CFLAGS $CFLAGS"
633    AC_CHECK_DECLS([SF_FORMAT_VORBIS], [], [], [[#include <sndfile.h>]])
634    
635    # Check for loop functionality in libsndfile
636    AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],,
637                     [AC_MSG_WARN([Your version of libsndfile does not support
638        reading of loop information. LinuxSampler will not be able to
639        extract loop information from sample files.])],
640                     [#include <sndfile.h>])
641    CFLAGS=$linuxsampler_save_CFLAGS
642    
643    # Instruments DB feature (requires SQLite 3.3)
644    AC_ARG_ENABLE(instruments-db,
645      [  --disable-instruments-db
646                              Disable compilation of the sampler's instruments
647                              database feature. You need to have SQLite 3.3
648                              or younger installed for this feature.],
649      [config_instruments_db="$enableval"],
650      [config_instruments_db="yes"]
651    )
652    HAVE_SQLITE3=0;
653    if test "$config_instruments_db" = "yes"; then
654        # Check presence of sqlite3
655        sqlite_version="3.3"
656        PKG_CHECK_MODULES(SQLITE3, sqlite3 >= $sqlite_version, HAVE_SQLITE3=true, HAVE_SQLITE3=false)
657        AC_SUBST(SQLITE3_LIBS)
658        AC_SUBST(SQLITE3_CFLAGS)
659        if test $HAVE_SQLITE3 = false; then
660            HAVE_SQLITE3=0
661            config_instruments_db="no"
662            echo "*** Required sqlite version not found!"
663            echo "*** You need to have sqlite version ${sqlite_version} or higher"
664            echo "*** for instruments database support to be enabled."
665            echo "*** Support for instruments DB will be disabled!"
666        else
667            HAVE_SQLITE3=1
668        fi
669    else
670        echo "Instruments DB feature disabled by configure script parameter"
671  fi  fi
672    AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
673    AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you want the instruments DB feature and have SQLITE3 installed.])
674    
675    
676    
677  ###########################################################################  ###########################################################################
# Line 343  fi Line 680  fi
680  # TODO: should we use AC_ARG_VAR(variable, description) instead?  # TODO: should we use AC_ARG_VAR(variable, description) instead?
681    
682  AC_ARG_ENABLE(asm,  AC_ARG_ENABLE(asm,
683    [  --enable-asm    [  --disable-asm
684                            Enable hand-crafted assembly optimizations                            Enable hand-crafted assembly optimizations
685                            (default=off). LinuxSampler provides CPU specific                            (default=on). LinuxSampler provides CPU specific
686                            assembly optimizations for the most important                            assembly optimizations. This is currently limited
687                            synthesis algorithms. This is currently disabled                            to just enter a fast (denormal) FPU mode on x86
688                            by default since current asm code is broken.],                            platforms. There are currently no synthesis core
689    [config_asm="yes"],                            assembly optimizations anymore since LS 0.4.0],
690    [config_asm="no"]    [config_asm="$enableval"],
691      [config_asm="yes"]
692  )  )
693  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
694    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.])
695  fi  fi
696    
697  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
698    [  --disable-dev-mode    [  --enable-dev-mode
699                            Disable development mode (default=on). In that mode                            Enable development mode (default=off). In that mode
700                            we do some extra sanity checks here and there.                            we do some extra sanity checks here and there.
701                            This helps to spot possible problems, but reduces                            This helps to spot possible problems, but reduces
702                            efficiency a bit],                            efficiency a bit],
703    [config_dev_mode="no"],    [config_dev_mode="$enableval"],
704    [config_dev_mode="yes"]    [config_dev_mode="no"]
705  )  )
706  if test "$config_dev_mode" = "yes"; then  if test "$config_dev_mode" = "yes"; then
707    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 728  AC_ARG_ENABLE(rt-exceptions,
728                            context as well. Otherwise if disabled                            context as well. Otherwise if disabled
729                            segmentation faults will be forced by the                            segmentation faults will be forced by the
730                            application on critical errors.],                            application on critical errors.],
731    [config_rt_exceptions="yes"],    [config_rt_exceptions="$enableval"],
732    [config_rt_exceptions="no"]    [config_rt_exceptions="no"]
733  )  )
734  if test "$config_rt_exceptions" = "yes"; then  if test "$config_rt_exceptions" = "yes"; then
735    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.])
736  fi  fi
737    
738    config_pthread_testcancel="$mac"
739    AC_ARG_ENABLE(pthread-testcancel,
740      [  --enable-pthread-testcancel
741                              Enable pthread_testcancel() calls and avoid
742                              asynchronous cancel of pthreads (default=yes
743                              for Mac targets, no otherwise).],
744      [config_pthread_testcancel="$enableval"],
745      [])
746    if test "$config_pthread_testcancel" = "yes"; then
747      AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])
748    fi
749    
750  AC_ARG_ENABLE(preload-samples,  AC_ARG_ENABLE(preload-samples,
751    [  --enable-preload-samples    [  --enable-preload-samples
752                            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 852  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_
852    
853  AC_ARG_ENABLE(max-streams,  AC_ARG_ENABLE(max-streams,
854    [  --enable-max-streams    [  --enable-max-streams
855                            Maximum amount of disk streams (default=90). This                            Initial maximum amount of disk streams
856                            value should always be higher than the maximum                            (default=90). This value can be changed at
857                            amount of voices.],                            runtime. It should always be higher than the
858                              maximum amount of voices.],
859    [config_max_streams="${enableval}"],    [config_max_streams="${enableval}"],
860    [config_max_streams="90"]    [config_max_streams="90"]
861  )  )
862  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.])
863    
864  AC_ARG_ENABLE(max-voices,  AC_ARG_ENABLE(max-voices,
865    [  --enable-max-voices    [  --enable-max-voices
866                            Maximum amount of voices (default=64). This value                            Initial maximum amount of voices (default=64).
867                            should always be lower than the maximum amount of                            This value can be changed at runtime. It should
868                            disk streams.],                            always be lower than the maximum amount of disk
869                              streams.],
870    [config_max_voices="${enableval}"],    [config_max_voices="${enableval}"],
871    [config_max_voices="64"]    [config_max_voices="64"]
872  )  )
873  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.])
874    
875  AC_ARG_ENABLE(subfragment-size,  AC_ARG_ENABLE(subfragment-size,
876    [  --enable-subfragment-size    [  --enable-subfragment-size
# Line 584  AC_ARG_ENABLE(force-filter, Line 936  AC_ARG_ENABLE(force-filter,
936                            If enabled will force filter to be used even if                            If enabled will force filter to be used even if
937                            no usage was define in instrument patch files.                            no usage was define in instrument patch files.
938                            (default=no).],                            (default=no).],
939    [config_force_filter="yes"],    [config_force_filter="$enableval"],
940    [config_force_filter="no"]    [config_force_filter="no"]
941  )  )
942  if test "$config_force_filter" = "yes"; then  if test "$config_force_filter" = "yes"; then
# Line 674  AC_ARG_ENABLE(gs-checksum, Line 1026  AC_ARG_ENABLE(gs-checksum,
1026                            messages which do not provide a correct checksum                            messages which do not provide a correct checksum
1027                            will be ignored. This is disabled by default as                            will be ignored. This is disabled by default as
1028                            not all devices honor GS checksums.],                            not all devices honor GS checksums.],
1029    [config_assert_gs_sysex_checksum="yes"],    [config_assert_gs_sysex_checksum="$enableval"],
1030    [config_assert_gs_sysex_checksum="no"]    [config_assert_gs_sysex_checksum="no"]
1031  )  )
1032  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 1072  AC_ARG_ENABLE(signed-triang-algo,
1072                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1073                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1074                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1075                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1076                              diharmonic:                              diharmonic:
1077                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1078                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 755  AC_ARG_ENABLE(unsigned-triang-algo, Line 1106  AC_ARG_ENABLE(unsigned-triang-algo,
1106                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1107                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1108                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1109                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1110                              diharmonic:                              diharmonic:
1111                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1112                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 787  AC_ARG_ENABLE(process-muted-channels, Line 1137  AC_ARG_ENABLE(process-muted-channels,
1137                            will not discard notes, triggered in mute mode,                            will not discard notes, triggered in mute mode,
1138                            when the channel is unmuted. But also will reduce                            when the channel is unmuted. But also will reduce
1139                            the efficiency.],                            the efficiency.],
1140    [config_process_muted_channels="yes"],    [config_process_muted_channels="$enableval"],
1141    [config_process_muted_channels="no"]    [config_process_muted_channels="no"]
1142  )  )
1143  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 1151  AC_ARG_ENABLE(process-all-notes-off,
1151                            all voices whenever it receives an All-Notes-Off                            all voices whenever it receives an All-Notes-Off
1152                            MIDI message. You can disable this behavior, so                            MIDI message. You can disable this behavior, so
1153                            that LS simply ignores such messages.],                            that LS simply ignores such messages.],
1154    [config_process_all_notes_off="no"],    [config_process_all_notes_off="$enableval"],
1155    [config_process_all_notes_off="yes"]    [config_process_all_notes_off="yes"]
1156  )  )
1157  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 1165  AC_ARG_ENABLE(interpolate-volume,
1165                            generated by for example the envelope generator                            generated by for example the envelope generator
1166                            will be smoother, minimizing the risk for audio                            will be smoother, minimizing the risk for audio
1167                            clicks. Disable it to reduce CPU usage.],                            clicks. Disable it to reduce CPU usage.],
1168    [config_interpolate_volume="no"],    [config_interpolate_volume="$enableval"],
1169    [config_interpolate_volume="yes"]    [config_interpolate_volume="yes"]
1170  )  )
1171  if test "$config_interpolate_volume" = "yes"; then  if test "$config_interpolate_volume" = "yes"; then
1172    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.])
1173  fi  fi
1174    
1175    AC_ARG_ENABLE(master-volume-sysex-by-port,
1176      [  --enable-master-volume-sysex-by-port
1177                              Whether global volume sysex message should be
1178                              applied globally to the whole sampler or only to
1179                              the sampler channels connected to the same MIDI
1180                              input port on which the sysex message arrived on.
1181                              By default global volume sysex messages apply
1182                              globally to the whole sampler, since many MIDI
1183                              devices behave that way.],
1184      [config_master_volume_sysex_by_port="$enableval"],
1185      [config_master_volume_sysex_by_port="no"]
1186    )
1187    if test "$config_master_volume_sysex_by_port" = "yes"; then
1188      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.])
1189    fi
1190    
1191    AC_ARG_ENABLE(plugin-dir,
1192      [  --enable-plugin-dir
1193                              Directory where the sampler shall look for potential plugins,
1194                              that is 3rd party shared libraries that should be loaded by
1195                              the sampler on startup. By default the sampler will search
1196                              for plugins in the subdirectory "plugins" below its own
1197                              library directory.
1198                              (i.e. /usr/local/lib/linuxsampler/plugins)],
1199      [config_plugin_dir="${enableval}"],
1200      [config_plugin_dir="${libdir}/linuxsampler/plugins"]
1201    )
1202    AC_SUBST(config_plugin_dir)
1203    
1204    AC_ARG_ENABLE(default-instruments-db-location,
1205      [  --enable-default-instruments-db-location
1206                              Only when instruments DB feature is enabled: file name
1207                              which shall be taken as default location of the
1208                              instruments DB file. This location can still be
1209                              overridden at runtime with a command line switch.
1210                              (default: /var/lib/linuxsampler/instruments.db)],
1211      [config_default_instruments_db_file="${enableval}"],
1212      [config_default_instruments_db_file="/var/lib/linuxsampler/instruments.db"]
1213    )
1214    AC_DEFINE_UNQUOTED(
1215        CONFIG_DEFAULT_INSTRUMENTS_DB_LOCATION,
1216        "$config_default_instruments_db_file",
1217        [Only when instruments DB feature is enabled: default location of the DB file.]
1218    )
1219    AC_SUBST(config_default_instruments_db_file)
1220    
1221    
1222  ###########################################################################  ###########################################################################
1223  # Automatic Benchmarks (to detect the best algorithms for the system)  # Automatic Benchmarks (to detect the best algorithms for the system)
1224    
 AC_LANG_SAVE  
   
1225  if test "$config_signed_triang_algo" = "benchmark"; then  if test "$config_signed_triang_algo" = "benchmark"; then
1226      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1227      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1228      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1229              #define SIGNED 1              #define SIGNED 1
1230              #define SILENT 1              #define SILENT 1
1231              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1232          ],          ]])],
1233          triang_signed=0,          triang_signed=0,
1234          triang_signed=$?,          triang_signed=$?,
1235          triang_signed=0          triang_signed=0
1236      )      )
1237        AC_LANG_POP([C++])
1238      if test "$triang_signed" = "2"; then      if test "$triang_signed" = "2"; then
1239          config_signed_triang_algo="intmath"          config_signed_triang_algo="intmath"
1240          echo "integer math"          echo "integer math"
# Line 856  if test "$config_signed_triang_algo" = " Line 1251  if test "$config_signed_triang_algo" = "
1251          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1252          exit -1;          exit -1;
1253      fi      fi
1254    else
1255        case "$config_signed_triang_algo" in
1256            intmath)
1257                triang_signed=2 ;;
1258            diharmonic)
1259                triang_signed=3 ;;
1260            intmathabs)
1261                triang_signed=5 ;;
1262        esac
1263  fi  fi
1264  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.])
1265    
1266  if test "$config_unsigned_triang_algo" = "benchmark"; then  if test "$config_unsigned_triang_algo" = "benchmark"; then
1267      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1268      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1269      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1270              #define SIGNED 0              #define SIGNED 0
1271              #define SILENT 1              #define SILENT 1
1272              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1273          ],          ]])],
1274          triang_unsigned=0,          triang_unsigned=0,
1275          triang_unsigned=$?,          triang_unsigned=$?,
1276          triang_unsigned=0          triang_unsigned=0
1277      )      )
1278        AC_LANG_POP([C++])
1279      if test "$triang_unsigned" = "2"; then      if test "$triang_unsigned" = "2"; then
1280          config_unsigned_triang_algo="intmath"          config_unsigned_triang_algo="intmath"
1281          echo "integer math"          echo "integer math"
# Line 887  if test "$config_unsigned_triang_algo" = Line 1292  if test "$config_unsigned_triang_algo" =
1292          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1293          exit -1;          exit -1;
1294      fi      fi
1295    else
1296        case "$config_unsigned_triang_algo" in
1297            intmath)
1298                triang_unsigned=2 ;;
1299            diharmonic)
1300                triang_unsigned=3 ;;
1301            intmathabs)
1302                triang_unsigned=5 ;;
1303        esac
1304  fi  fi
1305  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.])
1306    
 AC_LANG_RESTORE  
   
1307    
1308  ###########################################################################  ###########################################################################
1309  # Create Build Files  # Create Build Files
1310    
1311  AM_CONFIG_HEADER(config.h)  AC_CONFIG_HEADERS([config.h])
1312  AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")  AM_INIT_AUTOMAKE
1313    
1314  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  
1315    
1316  # 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
1317  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
1318  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
1319    
1320  AC_OUTPUT( \  AC_CONFIG_FILES([\
1321      Makefile \      Makefile \
1322      man/Makefile \      man/Makefile \
1323      man/linuxsampler.1 \      man/linuxsampler.1 \
1324      src/Makefile \      src/Makefile \
1325        src/db/Makefile \
1326      src/network/Makefile \      src/network/Makefile \
1327      src/engines/Makefile \      src/engines/Makefile \
1328      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1329        src/engines/sf2/Makefile \
1330        src/engines/sfz/Makefile \
1331      src/engines/common/Makefile \      src/engines/common/Makefile \
1332      src/common/Makefile src/lib/Makefile \      src/effects/Makefile \
1333      src/lib/fileloader/Makefile \      src/common/Makefile \
     src/lib/fileloader/libgig/Makefile \  
1334      src/testcases/Makefile \      src/testcases/Makefile \
1335      src/drivers/Makefile \      src/drivers/Makefile \
1336      src/drivers/audio/Makefile \      src/drivers/audio/Makefile \
1337      src/drivers/midi/Makefile \      src/drivers/midi/Makefile \
1338        src/plugins/Makefile \
1339        src/hostplugins/Makefile \
1340        src/hostplugins/dssi/Makefile \
1341        src/hostplugins/lv2/Makefile \
1342        src/hostplugins/lv2/manifest.ttl \
1343        src/hostplugins/vst/Makefile \
1344        src/hostplugins/au/Makefile \
1345      linuxsampler.spec \      linuxsampler.spec \
1346      debian/Makefile \      debian/Makefile \
1347      Artwork/Makefile \      Artwork/Makefile \
1348      scripts/Makefile \      scripts/Makefile \
1349      osx/Makefile \      osx/Makefile \
1350      osx/LinuxSampler.xcode/Makefile \      osx/linuxsampler.xcodeproj/Makefile \
1351      Documentation/Makefile \      Documentation/Makefile \
1352      Documentation/Engines/Makefile \      Documentation/Engines/Makefile \
1353      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
1354      linuxsampler.pc \      linuxsampler.pc \
1355      Doxyfile \      Doxyfile \
1356  )  ])
1357    AC_OUTPUT
1358    
1359    # resolve all nested variables in '${config_plugin_dir}'
1360    # (merely for providing a human readable summary below)
1361    while test $config_plugin_dir != `eval echo ${config_plugin_dir}` ; do
1362            config_plugin_dir=`eval echo ${config_plugin_dir}`
1363    done
1364    
1365    
1366  ###########################################################################  ###########################################################################
# Line 950  echo "" Line 1370  echo ""
1370  echo "#####################################################################"  echo "#####################################################################"
1371  echo "# LinuxSampler Configuration                                        #"  echo "# LinuxSampler Configuration                                        #"
1372  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1373    echo "# Release Version: ${VERSION}"
1374    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1375    echo "#-------------------------------------------------------------------"
1376  echo "# Assembly Optimizations: ${config_asm}"  echo "# Assembly Optimizations: ${config_asm}"
1377  echo "# Development Mode: ${config_dev_mode}"  echo "# Development Mode: ${config_dev_mode}"
1378  echo "# Debug Level: ${config_debug_level}"  echo "# Debug Level: ${config_debug_level}"
# Line 963  echo "# Streams to be refilled per Disk Line 1386  echo "# Streams to be refilled per Disk
1386  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1387  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1388  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
1389  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Default Maximum Disk Streams: ${config_max_streams}"
1390  echo "# Maximum Voices: ${config_max_voices}"  echo "# Default Maximum Voices: ${config_max_voices}"
1391  echo "# Default Subfragment Size: ${config_subfragment_size}"  echo "# Default Subfragment Size: ${config_subfragment_size}"
1392  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1393  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 1406  echo "# Override Filter Type: ${config_o
1406  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1407  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
1408  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1409    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1410  echo "# Interpolate Volume: ${config_interpolate_volume}"  echo "# Interpolate Volume: ${config_interpolate_volume}"
1411    echo "# Instruments database support: ${config_instruments_db}"
1412    if test "$config_instruments_db" = "yes"; then
1413    echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1414    fi
1415    echo "# Plugin Path: ${config_plugin_dir}"
1416    echo "#-------------------------------------------------------------------"
1417    echo "# MIDI Input Drivers:"
1418    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}"
1419    echo "#-------------------------------------------------------------------"
1420    echo "# Audio Output Drivers:"
1421    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}"
1422    echo "#-------------------------------------------------------------------"
1423    echo "# Sampler Engines:"
1424    echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes"
1425    echo "#-------------------------------------------------------------------"
1426    echo "# Effect plugin systems for internal effects:"
1427    echo "# LADSPA: yes"
1428    echo "#-------------------------------------------------------------------"
1429    echo "# Building sampler as plugin for following host standards:"
1430    echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}"
1431  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1432  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
1433  echo "#####################################################################"  echo "#####################################################################"

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

  ViewVC Help
Powered by ViewVC