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

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

  ViewVC Help
Powered by ViewVC