/[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 288 by schoenebeck, Tue Oct 19 00:36:34 2004 UTC linuxsampler/trunk/configure.ac revision 3763 by schoenebeck, Sun Apr 5 20:15:57 2020 UTC
# Line 1  Line 1 
1  AC_INIT(configure.in)  #------------------------------------------------------------------------------------
2    # LinuxSampler's / liblinuxsampler's "official" release version:
3    
4    m4_define(linuxsampler_release_major, 2)
5    m4_define(linuxsampler_release_minor, 1)
6    m4_define(linuxsampler_release_build, 1.svn51)
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
14    # do anything with the release version. It MUST conform to the following rules:
15    #
16    #  1. Start with version information of `0:0:0' for each libtool library.
17    #  2. Update the version information only immediately before a public release of
18    #     your software. More frequent updates are unnecessary, and only guarantee
19    #     that the current interface number gets larger faster.
20    #  3. If the library source code has changed at all since the last update, then
21    #     increment revision (`c:r:a' becomes `c:r+1:a').
22    #  4. If any interfaces have been added, removed, or changed since the last update,
23    #     increment current, and set revision to 0.
24    #  5. If any interfaces have been added since the last public release, then increment
25    #     age.
26    #  6. If any interfaces have been removed since the last public release, then set age
27    #     to 0.
28    
29    LIBLINUXSAMPLER_LT_CURRENT=5
30    LIBLINUXSAMPLER_LT_REVISION=0
31    LIBLINUXSAMPLER_LT_AGE=0
32    SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT_CURRENT:$LIBLINUXSAMPLER_LT_REVISION:$LIBLINUXSAMPLER_LT_AGE"
33    
34    #------------------------------------------------------------------------------------
35    # the LSCP specification version this LinuSampler release complies with:
36    
37    LSCP_RELEASE_MAJOR=1
38    LSCP_RELEASE_MINOR=7
39    
40    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.])
42    
43    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)
52    AC_SUBST(SHARED_VERSION_INFO)
53    
54    module=yes eval LIB_EXT=$shrext_cmds
55    AC_SUBST(LIB_EXT)
56    
57  AC_C_BIGENDIAN  AC_C_BIGENDIAN
58  AC_CANONICAL_SYSTEM  AC_CANONICAL_HOST
59    
60    PKG_PROG_PKG_CONFIG
61    
62  AC_SUBST(target)  ###########################################################################
63  AC_SUBST(target_alias)  # General Checks
 AC_SUBST(target_cpu)  
 AC_SUBST(target_os)  
 AC_SUBST(target_vendor)  
64    
65    AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
66    
67    # make sure C++14 is supported by compiler
68    # (add CXXFLAGS if required [e.g. -std=c++14])
69    m4_ifdef([m4_include(m4/ax_cxx_compile_stdcxx.m4)],,
70                 [sinclude([m4/ax_cxx_compile_stdcxx.m4])])
71    AX_CXX_COMPILE_STDCXX(14, [], mandatory)
72    
73  echo -n "checking whether x86 architecture... "  AC_MSG_CHECKING([whether x86 architecture])
74  def_arch_x86=0  def_arch_x86=0
75  case $target_cpu in  case $host_cpu in
76    "i386" | "i486" | "i586" | "i686" | "i786")    "i386" | "i486" | "i586" | "i686" | "i786" | "x86_64")
77      echo "yes"      echo "yes"
78      def_arch_x86=1;;      def_arch_x86=1;;
79    *)    *)
# Line 21  case $target_cpu in Line 81  case $target_cpu in
81  esac  esac
82  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x86,[Define to 1 if you build for x86 architecture.])  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x86,[Define to 1 if you build for x86 architecture.])
83    
84    # determine the right gcc switch for CPU specific optimizations
85    # (only if the user did not provide one)
86    CXX_CPU_SWITCH=
87    if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then
88      if test "$def_arch_x86" = 1 -a "$host_cpu" != "x86_64"; then
89        CXX_CPU_SWITCH="-march=$host_cpu"
90      elif test "$target_cpu" = "ppc"; then
91        CXX_CPU_SWITCH="-arch=$host_cpu"
92      fi
93    fi
94    AC_SUBST([CXX_CPU_SWITCH])
95    
96    mac=no
97    linux=no
98    case "$host" in
99        *-*-darwin*)
100            mac=yes
101            ;;
102        *-*-linux*)
103            linux=yes
104            ;;
105    esac
106    AM_CONDITIONAL(LINUX, test "$linux" = yes)
107    AM_CONDITIONAL(MAC, test "$mac" = yes)
108    
109    # check if we're on MS Windows
110    AC_CHECK_HEADERS(
111        mmsystem.h,
112        have_windows=1,
113        have_windows=0,
114        [#include <windef.h>]
115    )
116    AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")
117    
118  AC_MSG_CHECKING([whether UNIX98 compatible])  AC_MSG_CHECKING([whether UNIX98 compatible])
119  AC_LANG_SAVE  AC_LANG_PUSH([C])
120  AC_LANG_C  AC_RUN_IFELSE([AC_LANG_SOURCE([[
 AC_TRY_RUN([  
121  #ifndef _GNU_SOURCE  #ifndef _GNU_SOURCE
122  #define _GNU_SOURCE 1  #define _GNU_SOURCE 1
123  #endif  #endif
# Line 37  exit(0); /* UNIX98 compatible */ Line 129  exit(0); /* UNIX98 compatible */
129  exit(-1); /* not UNIX98 compatible */  exit(-1); /* not UNIX98 compatible */
130  #endif  #endif
131  }  }
132  ],  ]])],
133  have_unix98="yes",  have_unix98="yes",
134  have_unix98="no",  have_unix98="no",
135  have_unix98="no"  have_unix98="no"
136  )  )
137  AC_LANG_RESTORE  AC_LANG_POP([C])
138  AC_MSG_RESULT([$have_unix98])  AC_MSG_RESULT([$have_unix98])
139  if test "$have_unix98" = "no"; then  if test "$have_unix98" = "no" -a "$have_windows" = "0" -a "$mac" = "no" ; then
140      if test "x$HAVE_UNIX98" = "x"; then      if test "x$HAVE_UNIX98" = "x"; then
141          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"
142          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"
143          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"
144          echo "have a UNIX98 compatible system."          echo "have a UNIX98 compatible system."
145          exit -1;          exit -1;
146      fi      fi
147  fi  fi
148    
149    # check for <features.h>
150    AC_CHECK_HEADERS(features.h)
151    
152    # test for POSIX thread library
153    m4_ifdef([m4_include(m4/pthread.m4)],,
154                 [sinclude([m4/pthread.m4])])
155    ACX_PTHREAD
156    LIBS="$PTHREAD_LIBS $LIBS"
157    CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
158    CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
159    CC="$PTHREAD_CC"
160    
161    
162    # check for compiler's pragma diagnostic capabilities
163    m4_ifdef([m4_include(m4/pragma_diagnostics.m4)],,
164                 [sinclude([m4/pragma_diagnostics.m4])])
165    ACX_CXX_PRAGMA_DIAGNOSTICS
166    
167    
168    # check for a bug in NPTL-enabled glibc
169    # (see Gentoo bug report #194076)
170    AC_ARG_ENABLE(nptl-bug-check,
171      [  --disable-nptl-bug-check
172                              Disable check for a bug in certain NPTL-enabled
173                              glibc versions that caused crashs.],
174      [config_check_nptl_bug="$enableval"],
175      [config_check_nptl_bug="yes"]
176    )
177    if test "$config_check_nptl_bug" = "yes"; then
178        m4_ifdef([m4_include(m4/nptl_bug.m4)],,
179                 [sinclude([m4/nptl_bug.m4])])
180        ACX_NPTL_GLIBC_BUG([
181            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
182            echo "You seem to have a buggy PTHREAD library! LinuxSampler would"
183            echo "probably crash due to this. Please report us the system you are"
184            echo "using and/or file a bug report to the bug tracking system of"
185            echo "your distribution."
186            echo "If you have a NPTL-enabled glibc AND it was compiled for TLS as"
187            echo "well, you can try to circumvent this problem for now by setting"
188            echo "the environment variable LD_ASSUME_KERNEL=\"2.4.1\" , which"
189            echo "should cause this test to pass."
190            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
191            AC_MSG_ERROR([possibly NPTL glibc bug detected])
192        ])
193    else
194        echo "NPTL glibc bug check disabled"
195    fi
196    
197    
198    # check whether C++ compiler supports "designated initializers"
199    echo -n "Checking whether C++ compiler supports designated initializers (partly)... "
200    AC_LANG_PUSH([C++])
201    AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
202        #include <stdlib.h>
203        struct Foo {
204            int   a;
205            float b;
206            bool  c;
207            char  d;
208        };
209        static void bar(Foo o) {
210        }
211        int main() {
212            bar({
213              .a = 2,
214              .b = 4.3f,
215              .c = true,
216              .d = 'z'
217            });
218            return 0;
219        }
220        ]])],
221        [cxx_designated_init_partly="yes"],
222        [cxx_designated_init_partly="no"]
223    )
224    AC_LANG_POP([C++])
225    if test $cxx_designated_init_partly = "yes"; then
226        echo "yes"
227    else
228        echo "NO"
229        echo '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
230        echo '!                                                             !'
231        echo '! ERROR: Selected C++ compiler does not support designated    !'
232        echo '! initializers at all, not even partly!                       !'
233        echo '!                                                             !'
234        echo '! Please either update your C++ compiler or select a          !'
235        echo '! different compiler (e.g. GCC >= 8 or clang >= 5). If you    !'
236        echo '! have several C++ compilers installed on your machine, you   !'
237        echo '! can easily select a different compiler by environment       !'
238        echo '! variable, e.g. to compile with clang instead:               !'
239        echo '!                                                             !'
240        echo '! CXX=clang++ CC=clang ./configure && make                    !'
241        echo '!                                                             !'
242        echo '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
243        exit -1
244    fi
245    echo -n "Checking whether C++ compiler fully supports designated initializers... "
246    AC_LANG_PUSH([C++])
247    AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
248        #include <stdlib.h>
249        struct Foo {
250            int   a;
251            float b;
252            bool  c;
253            char  d;
254        };
255        static void bar(Foo o) {
256        }
257        int main() {
258            bar({
259              .d = 'z',
260              .a = 2
261            });
262            return 0;
263        }
264        ]])],
265        [cxx_designated_init_fully="yes"],
266        [cxx_designated_init_fully="no"]
267    )
268    AC_LANG_POP([C++])
269    if test $cxx_designated_init_fully = "yes"; then
270        echo "yes"
271    else
272        echo 'NO'
273        echo '***************************************************************'
274        echo '*                                                             *'
275        echo '* WARNING: Selected C++ compiler does not fully support       *'
276        echo '* designated initializers (only partly)!                      *'
277        echo '*                                                             *'
278        echo '* You will be able to compile LinuxSampler, but you will not  *'
279        echo '* be able to compile the test cases. Consider updating your   *'
280        echo '* C++ compiler or switching to a different compiler. Chances  *'
281        echo '* are that LinuxSampler will soon no longer support your      *'
282        echo '* compiler.                                                   *'
283        echo '*                                                             *'
284        echo '* If you have several C++ compilers installed on your machine,*'
285        echo '* you can easily select a different compiler by environment   *'
286        echo '* variable, e.g. to compile with clang instead:               *'
287        echo '*                                                             *'
288        echo '* CXX=clang++ CC=clang ./configure && make                    *'
289        echo '*                                                             *'
290        echo '***************************************************************'
291    fi
292    
293    
294    # In case Bison is available, determine the exact version, since we need to
295    # use different custom parser code for Bison 2.x vs. Bison 3.x generated
296    # parser yacc tables.
297    if echo "$YACC" | grep -q bison; then
298        # NOTE: m4 removes [], that's why it needs to be escaped
299        bison_version=[`$YACC --version | head -n 1 | sed -e 's/[^0-9.]*\([-0-9.]\+\)$/\1/'`]
300        bison_version_major=`echo $bison_version | cut -d. -f1`
301        bison_version_minor=`echo $bison_version | cut -d. -f2`
302        AC_DEFINE_UNQUOTED(HAVE_BISON_MAJ,$bison_version_major,[Define to the major version of the GNU Bison program installed.])
303        AC_DEFINE_UNQUOTED(HAVE_BISON_MIN,$bison_version_minor,[Define to the minor version of the GNU Bison program installed.])
304    fi
305    
306    
307    
308    ###########################################################################
309  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
310  # (we throw an error if there's not at least one system for audio output and MIDI input available)  # (we throw an error if there's not at least one system for audio output and MIDI input available)
311    
312  have_midi_input_driver="false"  have_midi_input_driver="false"
313  have_audio_output_driver="false"  have_audio_output_driver="false"
314    
315  AC_CHECK_HEADER(alsa/asoundlib.h,  # ALSA
316      AC_CHECK_LIB(asound, main,  AC_ARG_ENABLE(alsa-driver,
317                               have_alsa="true"    [  --disable-alsa-driver
318                               ,                            Disable support for the Advanced Linux Sound
319                               have_alsa="false"                            Architecture (ALSA).],
320                  )    [config_alsa_driver="$enableval"],
321                  ,    [config_alsa_driver="yes"]
322                  have_alsa="false"  )
323  )  have_alsa=0
324  if test "$have_alsa" = "true"; then  if test "$config_alsa_driver" = "yes"; then
325      have_midi_input_driver="true"      AC_CHECK_HEADER(alsa/asoundlib.h,
326      have_audio_output_driver="true";          AC_CHECK_LIB(asound, main,
327                                     have_alsa=1
328                                     ,
329                                     have_alsa=0
330                        )
331                        ,
332                        have_alsa=0
333        )
334        if test "$have_alsa" = "1"; then
335            have_midi_input_driver="true"
336            have_audio_output_driver="true";
337        fi
338    
339        echo -n "checking Alsa version... "
340        AC_LANG_PUSH([C])
341        AC_RUN_IFELSE([AC_LANG_SOURCE([[
342            #include <alsa/asoundlib.h>
343            void main(void) {
344                /* ensure backward compatibility */
345                #if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR)
346                #define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR
347                #endif
348                exit(SND_LIB_MAJOR);
349            }
350        ]])],
351        alsa_major=0,
352        alsa_major=$?,
353        alsa_major=0
354        )
355        AC_RUN_IFELSE([AC_LANG_SOURCE([[
356            #include <alsa/asoundlib.h>
357            void main(void) {
358                /* ensure backward compatibility */
359                #if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)
360                #define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR
361                #endif
362                exit(SND_LIB_MINOR);
363            }
364        ]])],
365        alsa_minor=0,
366        alsa_minor=$?,
367        alsa_minor=0
368        )
369        AC_RUN_IFELSE([AC_LANG_SOURCE([[
370            #include <alsa/asoundlib.h>
371            void main(void) {
372                /* ensure backward compatibility */
373                #if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR)
374                #define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR
375                #endif
376                exit(SND_LIB_SUBMINOR);
377            }
378        ]])],
379        alsa_subminor=0,
380        alsa_subminor=$?,
381        alsa_subminor=0
382        )
383        AC_LANG_POP([C])
384        echo "$alsa_major.$alsa_minor.$alsa_subminor";
385        AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])
386        AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])
387        AC_DEFINE_UNQUOTED(ALSA_SUBMINOR,$alsa_subminor,[Define to the subminor version number of your Alsa installation.])
388    else
389        echo "ALSA support disabled by configure script parameter"
390  fi  fi
391  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "true")  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
392  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.])
393    config_have_alsa="no"
394    if test $have_alsa = "1"; then
395        config_have_alsa="yes"
396    fi
397    
398    # JACK
399    AC_ARG_ENABLE(jack-driver,
400      [  --disable-jack-driver
401                              Disable support for the Jack Audio Connection Kit
402                              (JACK).],
403      [config_jack_driver="$enableval"],
404      [config_jack_driver="yes"]
405    )
406    have_jack=0
407    if test "$config_jack_driver" = "yes"; then
408        PKG_CHECK_MODULES(JACK, jack, have_jack=1, have_jack=0)
409        if test $have_jack = "1"; then
410            AC_SUBST(JACK_LIBS)
411            AC_SUBST(JACK_CFLAGS)
412            linuxsampler_save_LIBS=$LIBS
413            LIBS="$JACK_LIBS $LIBS"
414            AC_CHECK_FUNCS(jack_client_name_size jack_client_open \
415                           jack_on_info_shutdown)
416            LIBS=$linuxsampler_save_LIBS
417            have_audio_output_driver="true";
418        fi
419    else
420        echo "JACK support disabled by configure script parameter"
421    fi
422    AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
423    AC_DEFINE_UNQUOTED(HAVE_JACK,$have_jack,[Define to 1 if you have JACK installed.])
424    config_have_jack="no"
425    if test $have_jack = "1"; then
426        config_have_jack="yes"
427    fi
428    
429  echo -n "checking Alsa version... "  # JACK MIDI
430  AC_LANG_SAVE  have_jack_midi=0
431  AC_LANG_C  if test $have_jack = "1"; then
432  AC_TRY_RUN([      linuxsampler_save_CFLAGS=$CFLAGS
433  #include <alsa/asoundlib.h>      linuxsampler_save_LIBS=$LIBS
434  void main(void) {      CFLAGS="$JACK_CFLAGS $CFLAGS"
435  /* ensure backward compatibility */      LIBS="$JACK_LIBS $LIBS"
436  #if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR)      AC_CHECK_HEADER(jack/midiport.h, have_jack_midi=1, have_jack_midi=0)
437  #define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR      if test $have_jack_midi = "1"; then
438  #endif          AC_CHECK_FUNCS(jack_midi_get_event_count)
439  exit(SND_LIB_MAJOR);          AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jack/midiport.h>]], [[
440  }              jack_midi_clear_buffer(0, 0);
441  ],          ]])], [AC_DEFINE(JACK_MIDI_FUNCS_NEED_NFRAMES, 1,
442  alsa_major=0,                    [Define to 1 if you have the old jack midi functions that need an nframes argument.])])
443  alsa_major=$?,          have_midi_input_driver="true"
444  alsa_major=0      fi
445        CFLAGS=$linuxsampler_save_CFLAGS
446        LIBS=$linuxsampler_save_LIBS
447    fi
448    AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")
449    AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,
450                       [Define to 1 if you have JACK with MIDI support installed.])
451    config_have_jack_midi="no"
452    if test $have_jack_midi = "1"; then
453        config_have_jack_midi="yes"
454    fi
455    
456    # ARTS
457    AC_ARG_ENABLE(arts-driver,
458      [  --disable-arts-driver
459                              Disable support for the Analogue Realtime System
460                              (aRts).],
461      [config_arts_driver="$enableval"],
462      [config_arts_driver="yes"]
463  )  )
464  AC_TRY_RUN([  have_arts=0
465  #include <alsa/asoundlib.h>  if test "$config_arts_driver" = "yes"; then
466  void main(void) {      m4_ifdef([m4_include(m4/arts.m4)],,
467  /* ensure backward compatibility */               [sinclude([m4/arts.m4])])
468  #if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)      AM_PATH_ARTS(0.9.5, have_arts=1, have_arts=0)
469  #define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR      if test "$have_arts" = "1"; then
470  #endif          have_audio_output_driver="true"
471  exit(SND_LIB_MINOR);      fi
472  }  else
473  ],      echo "ARTS support disabled by configure script parameter"
474  alsa_minor=0,  fi
475  alsa_minor=$?,  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
476  alsa_minor=0  AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])
477    config_have_arts="no"
478    if test $have_arts = "1"; then
479        config_have_arts="yes"
480    fi
481    
482    # ASIO AUDIO (Win32)
483    AC_ARG_ENABLE(asiosdk-dir,
484      [  --enable-asiosdk-dir
485                              Directory where the ASIO SDK is located, this automatically
486                              enables the compilation of the ASIO audio output driver.],
487      [config_asiosdk_dir="${enableval}"],
488      [config_asiosdk_dir="."]
489  )  )
490  AC_TRY_RUN([  AC_SUBST(config_asiosdk_dir)
 #include <alsa/asoundlib.h>  
 void main(void) {  
 /* ensure backward compatibility */  
 #if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR)  
 #define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR  
 #endif  
 exit(SND_LIB_SUBMINOR);  
 }  
 ],  
 alsa_subminor=0,  
 alsa_subminor=$?,  
 alsa_subminor=0  
 )  
 AC_LANG_RESTORE  
 echo "$alsa_major.$alsa_minor.$alsa_subminor";  
 AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])  
 AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])  
 AC_DEFINE_UNQUOTED(ALSA_SUBMINOR,$alsa_subminor,[Define to the subminor version number of your Alsa installation.])  
491    
492    AC_ARG_ENABLE(asio-driver,
493      [  --disable-asio-driver
494                              Disable support for the Windows ASIO driver.],
495      [config_asio_driver="$enableval"],
496      [config_asio_driver="yes"]
497    )
498    have_asio=0
499    ASIOSDK_BASEDIR=
500    if test "$config_asio_driver" = "yes"; then
501        asiosdk_headerfile=$config_asiosdk_dir/ASIOSDK2/common/asio.h
502        echo -n "checking for ASIO headerfile: $asiosdk_headerfile ...."
503        if test -e $asiosdk_headerfile ; then
504            echo yes
505            have_asio=1
506            ASIOSDK_BASEDIR="$config_asiosdk_dir"
507        else
508            echo no
509            have_asio=0
510        fi
511        if test "$have_asio" = "1"; then
512            have_audio_output_driver="true"
513        fi
514    else
515        echo "Windows ASIO support disabled by configure script parameter"
516    fi
517    AC_SUBST(ASIOSDK_BASEDIR)
518    AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
519    AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.])
520    config_have_asio="no"
521    if test $have_asio = "1"; then
522        config_have_asio="yes"
523    fi
524    
525  # JACK  # MidiShare (Linux, OS X, Windows)
526  PKG_CHECK_MODULES(JACK, jack, HAVE_JACK=true, HAVE_JACK=false)  AC_ARG_ENABLE(midishare-driver,
527  AC_SUBST(JACK_LIBS)    [  --disable-midishare-driver
528  AC_SUBST(JACK_CFLAGS)                            Disable support for the MidiShare system.],
529  if test $HAVE_JACK = false; then    [config_midishare_driver="$enableval"],
530      HAVE_JACK=0;    [config_midishare_driver="yes"]
531    )
532    have_midishare=0
533    if test "$config_midishare_driver" = "yes"; then
534        AC_CHECK_HEADER(MidiShare.h,
535            AC_CHECK_LIB(MidiShare, MidiCountEvs,
536                                    have_midishare=1,
537                                    have_midishare=0
538                        )
539                        ,
540                        have_midishare=0
541        )
542        if test "$have_midishare" = "1"; then
543            have_midi_input_driver="true"
544        fi
545    else
546        echo "MidiShare support disabled by configure script parameter"
547    fi
548    AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
549    AC_DEFINE_UNQUOTED(HAVE_MIDISHARE,$have_midishare,[Define to 1 if you have MidiShare installed.])
550    config_have_midishare="no"
551    if test $have_midishare = "1"; then
552        config_have_midishare="yes"
553    fi
554    
555    # CoreMIDI (OS X)
556    AC_ARG_ENABLE(coremidi-driver,
557      [  --disable-coremidi-driver
558                              Disable support for the Apple CoreMIDI system.],
559      [config_coremidi_driver="$enableval"],
560      [config_coremidi_driver="yes"]
561    )
562    have_coremidi=0
563    if test "$config_coremidi_driver" = "yes"; then
564        AC_CHECK_HEADER(CoreMIDI/CoreMIDI.h,
565            have_coremidi=1,
566            have_coremidi=0
567        )
568        if test "$have_coremidi" = "1"; then
569            have_midi_input_driver="true"
570        fi
571  else  else
572      HAVE_JACK=1      echo "CoreMIDI support disabled by configure script parameter"
573      have_audio_output_driver="true";  fi
574    AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
575    AC_DEFINE_UNQUOTED(HAVE_COREMIDI,$have_coremidi,[Define to 1 if you have CoreMIDI installed.])
576    config_have_coremidi="no"
577    if test $have_coremidi = "1"; then
578        config_have_coremidi="yes"
579  fi  fi
 AM_CONDITIONAL(HAVE_JACK, test $HAVE_JACK = 1)  
 AC_DEFINE_UNQUOTED(HAVE_JACK,$HAVE_JACK,[Define to 1 if you have JACK installed.])  
580    
581    # CoreAudio (OS X)
582    AC_ARG_ENABLE(coreaudio-driver,
583      [  --disable-coreaudio-driver
584                              Disable support for the Apple CoreAudio system.],
585      [config_coreaudio_driver="$enableval"],
586      [config_coreaudio_driver="yes"]
587    )
588    have_coreaudio=0
589    if test "$config_coreaudio_driver" = "yes"; then
590        AC_CHECK_HEADER(CoreAudio/CoreAudio.h,
591            have_coreaudio=1,
592            have_coreaudio=0
593        )
594        if test "$have_coreaudio" = "1"; then
595            have_audio_output_driver="true"
596        fi
597    else
598        echo "CoreAudio support disabled by configure script parameter"
599    fi
600    AM_CONDITIONAL(HAVE_COREAUDIO, test $have_coreaudio = "1")
601    AC_DEFINE_UNQUOTED(HAVE_COREAUDIO,$have_coreaudio,[Define to 1 if you have CoreAudio installed.])
602    config_have_coreaudio="no"
603    if test $have_coreaudio = "1"; then
604        config_have_coreaudio="yes"
605    fi
606    
607  if test "$have_midi_input_driver=" = "false"; then  # MME MIDI (Win32)
608    AC_ARG_ENABLE(mmemidi-driver,
609      [  --disable-mmemidi-driver
610                              Disable support for the Windows MME MIDI system.],
611      [config_mmemidi_driver="$enableval"],
612      [config_mmemidi_driver="yes"]
613    )
614    have_mmemidi=0
615    if test "$config_mmemidi_driver" = "yes"; then
616        AC_CHECK_HEADERS(mmsystem.h,
617            have_mmemidi=1,
618            have_mmemidi=0
619        )
620        if test "$have_mmemidi" = "1"; then
621            have_midi_input_driver="true"
622        fi
623    else
624        echo "MME MIDI support disabled by configure script parameter"
625    fi
626    AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")
627    AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.])
628    config_have_mme="no"
629    if test $have_mmemidi = "1"; then
630        config_have_mme="yes"
631    fi
632    
633    # DSSI
634    AC_CHECK_HEADERS(dssi.h,
635            config_have_dssi="yes",
636            config_have_dssi="no")
637    AM_CONDITIONAL(HAVE_DSSI, test $config_have_dssi = "yes")
638    
639    # LV2
640    PKG_CHECK_MODULES(LV2, lv2 >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
641    if test "$config_have_lv2" != "yes"; then
642        PKG_CHECK_MODULES(LV2, lv2core >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
643    fi
644    AC_SUBST(LV2_CFLAGS)
645    AC_SUBST(LV2_LIBS)
646    AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")
647    
648    # VST
649    AC_ARG_ENABLE(vstsdk-dir,
650      [  --enable-vstsdk-dir
651                              Directory where the VST SDK is located.
652                              This automatically enables the compilation
653                              of the VST plugin.],
654      [VSTSDK_DIR="${enableval}"],
655      [VSTSDK_DIR=]
656    )
657    AC_SUBST(VSTSDK_DIR)
658    AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")
659    config_have_vst="no"
660    if test "x$VSTSDK_DIR" != "x"; then
661        config_have_vst="yes"
662    fi
663    
664    # AU
665    AC_CHECK_HEADERS(AudioUnit/AudioUnit.h,
666            config_have_au="yes",
667            config_have_au="no")
668    AM_CONDITIONAL(HAVE_AU, test $config_have_au = "yes")
669    AM_CONDITIONAL(HAVE_AUFLAGS, test "$AUFLAGS" != "")
670    
671    if test $config_have_au = "yes" ; then
672        if test "x$DEVELOPER_EXTRAS_DIR" = "x" ; then
673            if test -d /Developer/Extras ; then
674                DEVELOPER_EXTRAS_DIR=/Developer/Extras
675            else      
676                DEVELOPER_EXTRAS_DIR=/Developer/Examples
677            fi
678        fi
679        AC_SUBST(DEVELOPER_EXTRAS_DIR)
680    fi
681    
682    if test "x$MAC_PLUGIN_INSTALL_DIR" = "x" ; then
683        MAC_PLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins
684    fi
685    AC_SUBST(MAC_PLUGIN_INSTALL_DIR)
686    
687    # have we found at least one MIDI input and one audio output driver ?
688    if test "$have_midi_input_driver" = "false"; then
689      echo "No supported MIDI input system found!"      echo "No supported MIDI input system found!"
690      echo "Sorry, LinuxSampler only supports ALSA as MIDI input driver at the moment!"      echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
691        echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
692        echo "If you think you have one of those available on your system, make sure you"
693        echo "also have the respective development (header) files installed."
694      exit -1;      exit -1;
695  fi  fi
696  if test "$have_audio_output_driver=" = "false"; then  if test "$have_audio_output_driver" = "false"; then
697      echo "No supported audio output system found!"      echo "No supported audio output system found!"
698      echo "Sorry, LinuxSampler only supports ALSA and JACK as audio output driver at the moment!"      echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
699        echo "driver at the moment!"
700      exit -1;      exit -1;
701  fi  fi
702    
703    
 AM_CONFIG_HEADER(config.h)  
 AM_INIT_AUTOMAKE(linuxsampler, 0.2)  
704    
705  AC_LANG_CPLUSPLUS  ###########################################################################
706  AC_PROG_CXX  # Checks for various DLL libraries
707  AM_PROG_LIBTOOL  
708    # Check presence of libgig
709    libgig_version="4.2.0"
710    PKG_CHECK_MODULES(GIG, gig >= $libgig_version, HAVE_GIG=true, HAVE_GIG=false)
711    if test "$HAVE_GIG" = "false"; then
712        echo "Required libgig version not found!"
713        echo "You need to have libgig version ${libgig_version} installed!"
714        exit -1;
715    else
716        echo "yes, found libgig $libgig_version"
717    fi
718    AC_SUBST(GIG_CFLAGS)
719    AC_SUBST(GIG_LIBS)
720    
721    # SF2 Engine (requires libgig)
722    AC_ARG_ENABLE(sf2-engine,
723      [  --disable-sf2-engine
724                              Disable compilation of the SF2 engine.
725                              You need to have libgig installed.],
726      [config_sf2_engine="$enableval"],
727      [config_sf2_engine="yes"]
728    )
729    HAVE_SF2=0;
730    if test "$config_sf2_engine" = "yes"; then
731        HAVE_SF2=1
732    else
733        echo "SF2 engine disabled by configure script parameter"
734    fi
735    AM_CONDITIONAL(HAVE_SF2, test $HAVE_SF2 = 1)
736    AC_DEFINE_UNQUOTED(HAVE_SF2,$HAVE_SF2,[Define to 1 if you want SF2 engine and have libsf2 installed.])
737    config_have_sf2="no"
738    if test $HAVE_SF2 = "1"; then
739        config_have_sf2="yes"
740    fi
741    
742    # Check presence of libsndfile
743    libsndfile_version="1.0"
744    PKG_CHECK_MODULES(SNDFILE, sndfile >= $libsndfile_version, HAVE_SNDFILE=true, HAVE_SNDFILE=false)
745    if test "$HAVE_SNDFILE" = "false"; then
746        echo "Required libsndfile version not found!"
747        echo "You need to have libsndfile version ${libsndfile_version} installed!"
748        exit -1;
749    else
750        echo "yes, found libsndfile $libsndfile_version"
751    fi
752    AC_SUBST(SNDFILE_CFLAGS)
753    AC_SUBST(SNDFILE_LIBS)
754    
755    # Check for Vorbis and FLAC support in libsndfile
756    linuxsampler_save_CFLAGS=$CFLAGS
757    CFLAGS="$SNDFILE_CFLAGS $CFLAGS"
758    AC_CHECK_DECLS([SF_FORMAT_VORBIS, SF_FORMAT_FLAC], [], [], [[#include <sndfile.h>]])
759    
760  AC_OUTPUT(Makefile src/Makefile src/network/Makefile src/engines/Makefile src/engines/gig/Makefile src/engines/common/Makefile src/common/Makefile src/lib/Makefile src/lib/fileloader/Makefile src/lib/fileloader/libgig/Makefile src/testcases/Makefile src/drivers/Makefile src/drivers/audio/Makefile src/drivers/midi/Makefile)  # Check for loop functionality in libsndfile
761    AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],,
762                     [AC_MSG_WARN([Your version of libsndfile does not support
763        reading of loop information. LinuxSampler will not be able to
764        extract loop information from sample files.])],
765                     [#include <sndfile.h>])
766    CFLAGS=$linuxsampler_save_CFLAGS
767    
768    # Instruments DB feature (requires SQLite 3.3)
769    AC_ARG_ENABLE(instruments-db,
770      [  --disable-instruments-db
771                              Disable compilation of the sampler's instruments
772                              database feature. You need to have SQLite 3.3
773                              or younger installed for this feature.],
774      [config_instruments_db="$enableval"],
775      [config_instruments_db="yes"]
776    )
777    HAVE_SQLITE3=0;
778    if test "$config_instruments_db" = "yes"; then
779        # Check presence of sqlite3
780        sqlite_version="3.3"
781        PKG_CHECK_MODULES(SQLITE3, sqlite3 >= $sqlite_version, HAVE_SQLITE3=true, HAVE_SQLITE3=false)
782        AC_SUBST(SQLITE3_LIBS)
783        AC_SUBST(SQLITE3_CFLAGS)
784        if test $HAVE_SQLITE3 = false; then
785            HAVE_SQLITE3=0
786            config_instruments_db="no"
787            echo "*** Required sqlite version not found!"
788            echo "*** You need to have sqlite version ${sqlite_version} or higher"
789            echo "*** for instruments database support to be enabled."
790            echo "*** Support for instruments DB will be disabled!"
791        else
792            HAVE_SQLITE3=1
793        fi
794    else
795        echo "Instruments DB feature disabled by configure script parameter"
796    fi
797    AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
798    AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you want the instruments DB feature and have SQLITE3 installed.])
799    
800    
801    
802    ###########################################################################
803    # Handle Configuration Options
804    
805    # TODO: should we use AC_ARG_VAR(variable, description) instead?
806    
807    AC_ARG_ENABLE(asm,
808      [  --disable-asm
809                              Enable hand-crafted assembly optimizations
810                              (default=on). LinuxSampler provides CPU specific
811                              assembly optimizations. This is currently limited
812                              to just enter a fast (denormal) FPU mode on x86
813                              platforms. There are currently no synthesis core
814                              assembly optimizations anymore since LS 0.4.0],
815      [config_asm="$enableval"],
816      [config_asm="yes"]
817    )
818    if test "$config_asm" = "yes"; then
819      AC_DEFINE_UNQUOTED(CONFIG_ASM, 1, [Define to 1 if you want to enable asm optimizations.])
820    fi
821    
822    AC_ARG_ENABLE(dev-mode,
823      [  --enable-dev-mode
824                              Enable development mode (default=off). In that mode
825                              we do some extra sanity checks here and there.
826                              This helps to spot possible problems, but reduces
827                              efficiency a bit],
828      [config_dev_mode="$enableval"],
829      [config_dev_mode="no"]
830    )
831    if test "$config_dev_mode" = "yes"; then
832      AC_DEFINE_UNQUOTED(CONFIG_DEVMODE, 1, [Define to 1 if you want to enable development mode.])
833    fi
834    
835    AC_ARG_ENABLE(debug-level,
836      [  --enable-debug-level
837                              Specify verbosity of console messages (default=1).
838                              The higher the value, the higher will be verbosity.
839                              A value of 0 means no console output at all.
840                              There's not really an upper limit but the usual
841                              level of all messages is currently somewhere less
842                              than 10.],
843      [config_debug_level="${enableval}"],
844      [config_debug_level="1"]
845    )
846    AC_DEFINE_UNQUOTED(CONFIG_DEBUG_LEVEL, $config_debug_level, [Define console verbosity.])
847    
848    AC_ARG_ENABLE(rt-exceptions,
849      [  --enable-rt-exceptions
850                              Enable exceptions in the realtime thread
851                              (default=no). If this is enabled, exceptions will
852                              be thrown on critical errors in the realtime
853                              context as well. Otherwise if disabled
854                              segmentation faults will be forced by the
855                              application on critical errors.],
856      [config_rt_exceptions="$enableval"],
857      [config_rt_exceptions="no"]
858    )
859    if test "$config_rt_exceptions" = "yes"; then
860      AC_DEFINE_UNQUOTED(CONFIG_RT_EXCEPTIONS, 1, [Define to 1 to allow exceptions in the realtime context.])
861    fi
862    
863    config_pthread_testcancel="$mac"
864    AC_ARG_ENABLE(pthread-testcancel,
865      [  --enable-pthread-testcancel
866                              Enable pthread_testcancel() calls and avoid
867                              asynchronous cancel of pthreads (default=yes
868                              for Mac targets, no otherwise).],
869      [config_pthread_testcancel="$enableval"],
870      [])
871    if test "$config_pthread_testcancel" = "yes"; then
872      AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])
873    fi
874    
875    AC_ARG_ENABLE(preload-samples,
876      [  --enable-preload-samples
877                              Due to seeking and latency issues with hard drives
878                              we have to cache a small part of samples' head in
879                              RAM (default=32768). The higher this value the
880                              more memory will be occupied for each sample, but
881                              the safer this will be in regards of possible
882                              droputs. A 'good' value depends on the running
883                              system and usage dependant factors.],
884      [config_preload_samples="${enableval}"],
885      [config_preload_samples="32768"]
886    )
887    AC_DEFINE_UNQUOTED(CONFIG_PRELOAD_SAMPLES, $config_preload_samples, [Define amount of sample points to be cached in RAM.])
888    
889    AC_ARG_ENABLE(max-pitch,
890      [  --enable-max-pitch
891                              Specify the maximum allowed pitch value in octaves
892                              (default=4). To lower memory usage you might want
893                              set a smaller value.],
894      [config_max_pitch="${enableval}"],
895      [config_max_pitch="4"]
896    )
897    AC_DEFINE_UNQUOTED(CONFIG_MAX_PITCH, $config_max_pitch, [Define max. allowed pitch.])
898    
899    AC_ARG_ENABLE(max-events,
900      [  --enable-max-events
901                              Specify the maximum allowed amount of events to be
902                              processed per fragment (default=1024).],
903      [config_max_events="${enableval}"],
904      [config_max_events="1024"]
905    )
906    AC_DEFINE_UNQUOTED(CONFIG_MAX_EVENTS_PER_FRAGMENT, $config_max_events, [Define max. allowed events per fragment.])
907    
908    AC_ARG_ENABLE(eg-bottom,
909      [  --enable-eg-bottom
910                              Bottom limit of envelope generators
911                              (default=0.001). Certain kinds of curve types like
912                              exponential curves converge against 0 but never
913                              reach 0. So we have to define a certain low value
914                              after which we should consider all smaller values
915                              to be 'almost zero'. The smaller this value, the
916                              longer will voices survive in EG's release stage
917                              and thus waste voices. If this value is too high
918                              will cause click sounds though.],
919      [config_eg_bottom="${enableval}"],
920      [config_eg_bottom="0.001"]
921    )
922    AC_DEFINE_UNQUOTED(CONFIG_EG_BOTTOM, $config_eg_bottom, [Define bottom limit of envelopes.])
923    
924    AC_ARG_ENABLE(eg-min-release-time,
925      [  --enable-eg-min-release-time
926                              Specify the lowest allowed release time in seconds
927                              (default=0.0025). This value will also be used to
928                              ramp down voices on voice stealing. This value
929                              should always be less than the period time of the
930                              used audio driver, as in case of voice stealing
931                              the killed voice needs to be completely ramped
932                              down in the same fragment.],
933      [config_eg_min_release_time="${enableval}"],
934      [config_eg_min_release_time="0.0025"]
935    )
936    AC_DEFINE_UNQUOTED(CONFIG_EG_MIN_RELEASE_TIME, $config_eg_min_release_time, [Define min. release time.])
937    
938    AC_ARG_ENABLE(refill-streams,
939      [  --enable-refill-streams
940                              Number of streams that should be refilled in each
941                              disk thread cycle (default=4).],
942      [config_refill_streams="${enableval}"],
943      [config_refill_streams="4"]
944    )
945    AC_DEFINE_UNQUOTED(CONFIG_REFILL_STREAMS_PER_RUN, $config_refill_streams, [Define amount of streams to be refilled per cycle.])
946    
947    AC_ARG_ENABLE(stream-min-refill,
948      [  --enable-stream-min-refill
949                              Minimum refill size for disk streams (default=1024).
950                              The disk thread will go to sleep for a while if no
951                              stream had to be refilled more than this value in
952                              a disk thread cycle.],
953      [config_stream_min_refill="${enableval}"],
954      [config_stream_min_refill="1024"]
955    )
956    AC_DEFINE_UNQUOTED(CONFIG_STREAM_MIN_REFILL_SIZE, $config_stream_min_refill, [Define min. stream refill size.])
957    
958    AC_ARG_ENABLE(stream-max-refill,
959      [  --enable-stream-max-refill
960                              Maximum refill size for disk streams
961                              (default=65536). The disk thread will refill
962                              each stream only by a size of this value per
963                              disk thread cycle.],
964      [config_stream_max_refill="${enableval}"],
965      [config_stream_max_refill="65536"]
966    )
967    AC_DEFINE_UNQUOTED(CONFIG_STREAM_MAX_REFILL_SIZE, $config_stream_max_refill, [Define max. stream refill size.])
968    
969    AC_ARG_ENABLE(stream-size,
970      [  --enable-stream-size
971                              Size of each stream's ring buffer in sample points
972                              (default=262144).],
973      [config_stream_size="${enableval}"],
974      [config_stream_size="262144"]
975    )
976    AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_SIZE, $config_stream_size, [Define each stream's ring buffer size.])
977    
978    AC_ARG_ENABLE(max-streams,
979      [  --enable-max-streams
980                              Initial maximum amount of disk streams
981                              (default=90). This value can be changed at
982                              runtime. It should always be higher than the
983                              maximum amount of voices.],
984      [config_max_streams="${enableval}"],
985      [config_max_streams="90"]
986    )
987    AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_MAX_STREAMS, $config_max_streams, [Define initial max. streams.])
988    
989    AC_ARG_ENABLE(max-voices,
990      [  --enable-max-voices
991                              Initial maximum amount of voices (default=64).
992                              This value can be changed at runtime. It should
993                              always be lower than the maximum amount of disk
994                              streams.],
995      [config_max_voices="${enableval}"],
996      [config_max_voices="64"]
997    )
998    AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_MAX_VOICES, $config_max_voices, [Define initial max. voices.])
999    
1000    AC_ARG_ENABLE(subfragment-size,
1001      [  --enable-subfragment-size
1002                              Every audio fragment will be splitted into
1003                              subfragments. Where each subfragment renders
1004                              audio with constant synthesis parameters. This is
1005                              done for efficiency reasons. This parameter
1006                              defines the default size of a subfragment in
1007                              sample points. A large value means less CPU time
1008                              whereas a low value means better audio quality
1009                              (default=32).],
1010      [config_subfragment_size="${enableval}"],
1011      [config_subfragment_size="32"]
1012    )
1013    AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_SUBFRAGMENT_SIZE, $config_subfragment_size, [Define default subfragment size (in sample points).])
1014    
1015    AC_ARG_ENABLE(global-attenuation-default,
1016      [  --enable-global-attenuation-default
1017                              To prevent clipping all samples will be lowered
1018                              in amplitude by this given default factor (can
1019                              be overridden at runtime).
1020                              (default=0.35)],
1021      [config_global_attenuation_default="${enableval}"],
1022      [config_global_attenuation_default="0.35"]
1023    )
1024    AC_DEFINE_UNQUOTED(CONFIG_GLOBAL_ATTENUATION_DEFAULT, $config_global_attenuation_default, [Define default global volume attenuation (as floating point factor).])
1025    
1026    AC_ARG_ENABLE(voice-steal-algo,
1027      [  --enable-voice-steal-algo
1028                              Voice stealing algorithm to be used. Currently
1029                              available options:
1030                                none:
1031                                  Disable voice stealing completely.
1032                                oldestvoiceonkey (default):
1033                                  Try to kill a voice on the same key first,
1034                                  if no success, proceed with the oldest key.
1035                                oldestkey:
1036                                  Try to kill a voice from the oldest active
1037                                  key.],
1038      [ if test ! "(" "${enableval}" = "none" \
1039                  -o "${enableval}" = "oldestvoiceonkey" \
1040                  -o "${enableval}" = "oldestkey" ")" ; then
1041          AC_MSG_ERROR([Unknown voice stealing algorithm for parameter --enable-voice-steal-algo])
1042        else
1043          config_voice_steal_algo="${enableval}"
1044        fi
1045      ],
1046      [config_voice_steal_algo="oldestvoiceonkey"]
1047    )
1048    AC_DEFINE_UNQUOTED(CONFIG_VOICE_STEAL_ALGO, voice_steal_algo_${config_voice_steal_algo}, [Define voice stealing algorithm to be used.])
1049    
1050    AC_ARG_ENABLE(sysex-buffer-size,
1051      [  --enable-sysex-buffer-size
1052                              System Exclusive Message buffer size in kB
1053                              (default=2048).],
1054      [config_sysex_buffer_size="${enableval}"],
1055      [config_sysex_buffer_size="2048"]
1056    )
1057    AC_DEFINE_UNQUOTED(CONFIG_SYSEX_BUFFER_SIZE, $config_sysex_buffer_size, [Define SysEx buffer size.])
1058    
1059    AC_ARG_ENABLE(force-filter,
1060      [  --enable-force-filter
1061                              If enabled will force filter to be used even if
1062                              no usage was define in instrument patch files.
1063                              (default=no).],
1064      [config_force_filter="$enableval"],
1065      [config_force_filter="no"]
1066    )
1067    if test "$config_force_filter" = "yes"; then
1068      AC_DEFINE_UNQUOTED(CONFIG_FORCE_FILTER, 1, [Define to 1 to force filter usage.])
1069    fi
1070    
1071    AC_ARG_ENABLE(filter-cutoff-min,
1072      [  --enable-filter-cutoff-min
1073                              Minimum filter cutoff frequency in Hz
1074                              (default=100.0).],
1075      [config_filter_cutoff_min="${enableval}"],
1076      [config_filter_cutoff_min="100.0"]
1077    )
1078    AC_DEFINE_UNQUOTED(CONFIG_FILTER_CUTOFF_MIN, ${config_filter_cutoff_min}f, [Define min. filter cutoff frequency.])
1079    
1080    AC_ARG_ENABLE(filter-cutoff-max,
1081      [  --enable-filter-cutoff-max
1082                              Maximum filter cutoff frequency in Hz
1083                              (default=10000.0).],
1084      [config_filter_cutoff_max="${enableval}"],
1085      [config_filter_cutoff_max="10000.0"]
1086    )
1087    AC_DEFINE_UNQUOTED(CONFIG_FILTER_CUTOFF_MAX, ${config_filter_cutoff_max}f, [Define max. filter cutoff frequency.])
1088    
1089    AC_ARG_ENABLE(override-cutoff-ctrl,
1090      [  --enable-override-cutoff-ctrl
1091                              Override filter cutoff MIDI controller (default=no).
1092                              Note: you have to define the MIDI controller number
1093                              here, it's not a boolean parameter type! If this
1094                              option is used, controller number given by
1095                              instrument patch will be ignored and instead this
1096                              supplied value will be used.],
1097      [config_override_cutoff_ctrl="${enableval}"],
1098      [config_override_cutoff_ctrl="no"]
1099    )
1100    if test ! "$config_override_cutoff_ctrl" = "no"; then
1101      AC_DEFINE_UNQUOTED(CONFIG_OVERRIDE_CUTOFF_CTRL, $config_override_cutoff_ctrl, [Define to a MIDI controller number to override cutoff control.])
1102    fi
1103    
1104    AC_ARG_ENABLE(override-resonance-ctrl,
1105      [  --enable-override-resonance-ctrl
1106                              Override filter resonance MIDI controller
1107                              (default=no). Note: you have to define the MIDI
1108                              controller number here, it's not a boolean
1109                              parameter type! If this option is used, controller
1110                              number given by instrument patch will be ignored
1111                              and instead this supplied value will be used.],
1112      [config_override_resonance_ctrl="${enableval}"],
1113      [config_override_resonance_ctrl="no"]
1114    )
1115    if test ! "$config_override_resonance_ctrl" = "no"; then
1116      AC_DEFINE_UNQUOTED(CONFIG_OVERRIDE_RESONANCE_CTRL, $config_override_resonance_ctrl, [Define to a MIDI controller number to override resonance control.])
1117    fi
1118    
1119    AC_ARG_ENABLE(override-filter-type,
1120      [  --enable-override-filter-type
1121                              Override filter type (default=no). Options:
1122                              hp: for highpass
1123                              bp: for bandpass
1124                              br: for bandreject
1125                              lp: for lowpass
1126                              lpt: for lowpass turbo],
1127      [ if   test "${enableval}" = "hp" ; then
1128           config_override_filter_type="::gig::vcf_type_highpass"
1129        elif test "${enableval}" = "bp" ; then
1130           config_override_filter_type="::gig::vcf_type_bandpass"
1131        elif test "${enableval}" = "br" ; then
1132           config_override_filter_type="::gig::vcf_type_bandreject"
1133        elif test "${enableval}" = "lp" ; then
1134           config_override_filter_type="::gig::vcf_type_lowpass"
1135        elif test "${enableval}" = "lpt" ; then
1136           config_override_filter_type="::gig::vcf_type_lowpassturbo"
1137        elif test ! "${enableval}" = "no"; then
1138           AC_MSG_ERROR([Unknown filter type for parameter --enable-override-filter-type])
1139        fi
1140      ],
1141      [config_override_filter_type="no"]
1142    )
1143    if test ! "$config_override_filter_type" = "no"; then
1144      AC_DEFINE_UNQUOTED(CONFIG_OVERRIDE_FILTER_TYPE, $config_override_filter_type, [Define to a filter type to always force that filter type.])
1145    fi
1146    
1147    AC_ARG_ENABLE(gs-checksum,
1148      [  --enable-gs-checksum
1149                              Enable Roland General Synth SysEx checksum check
1150                              (default=no). If this is enabled, all GS SysEx
1151                              messages which do not provide a correct checksum
1152                              will be ignored. This is disabled by default as
1153                              not all devices honor GS checksums.],
1154      [config_assert_gs_sysex_checksum="$enableval"],
1155      [config_assert_gs_sysex_checksum="no"]
1156    )
1157    if test "config_assert_gs_sysex_checksum" = "yes"; then
1158      AC_DEFINE_UNQUOTED(CONFIG_ASSERT_GS_SYSEX_CHECKSUM, 1, [Define to 1 if you want to enable GS SysEx check.])
1159    fi
1160    
1161    AC_ARG_ENABLE(portamento-time-min,
1162      [  --enable-portamento-time-min
1163                              Minimum Portamento time in seconds
1164                              (default=0.1).],
1165      [config_portamento_time_min="${enableval}"],
1166      [config_portamento_time_min="0.1"]
1167    )
1168    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MIN, $config_portamento_time_min, [Define min. portamento time.])
1169    
1170    AC_ARG_ENABLE(portamento-time-max,
1171      [  --enable-portamento-time-max
1172                              Maximum Portamento time in seconds
1173                              (default=32).],
1174      [config_portamento_time_max="${enableval}"],
1175      [config_portamento_time_max="32"]
1176    )
1177    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MAX, $config_portamento_time_max, [Define max. portamento time.])
1178    
1179    AC_ARG_ENABLE(portamento-time-default,
1180      [  --enable-portamento-time-default
1181                              Default Portamento time in seconds
1182                              (default=1).],
1183      [config_portamento_time_default="${enableval}"],
1184      [config_portamento_time_default="1"]
1185    )
1186    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_DEFAULT, $config_portamento_time_default, [Define default portamento time.])
1187    
1188    AC_ARG_ENABLE(signed-triang-algo,
1189      [  --enable-signed-triang-algo
1190                              Signed triangular wave algorithm to be used (e.g. for LFOs).
1191                              Currently available options:
1192                                intmath:
1193                                  Uses integer math without any branch will then be
1194                                  converted to floating point value for each sample point.
1195                                  This int->float conversion might hurt on some systems.
1196                                intmathabs:
1197                                  Similar to intmath but uses abs() function.
1198                                  Depending on compiler and platrofm this could
1199                                  perform better than integer math as it avoids
1200                                  an extra integer multiply instruction.
1201                                diharmonic:
1202                                  The triangular wave will be approximated by adding two
1203                                  sinusoidials. This solution might especially hurt on
1204                                  systems with weak floating point unit.
1205                                benchmark (default):
1206                                  This is not an algorithm. Use this option if the
1207                                  appropriate algorithm should be automatically
1208                                  chosen by the configure script by performing a
1209                                  benchmark between the algorithms mentioned above.
1210                                  This will NOT work for cross compilation!],
1211      [ if test ! "(" "${enableval}" = "intmath" \
1212                  -o "${enableval}" = "intmathabs" \
1213                  -o "${enableval}" = "diharmonic" ")" ; then
1214          AC_MSG_ERROR([Unknown triangular wave algorithm for parameter --enable-signed-triang-algo])
1215        else
1216          config_signed_triang_algo="${enableval}"
1217        fi
1218      ],
1219      [config_signed_triang_algo="benchmark"]
1220    )
1221    
1222    AC_ARG_ENABLE(unsigned-triang-algo,
1223      [  --enable-unsigned-triang-algo
1224                              Unsigned triangular wave algorithm to be used (e.g. for LFOs).
1225                              Currently available options:
1226                                intmath:
1227                                  Uses integer math without any branch will then be
1228                                  converted to floating point value for each sample point.
1229                                  This int->float conversion might hurt on some systems.
1230                                intmathabs:
1231                                  Similar to intmath but uses abs() function.
1232                                  Depending on compiler and platrofm this could
1233                                  perform better than integer math as it avoids
1234                                  an extra integer multiply instruction.
1235                                diharmonic:
1236                                  The triangular wave will be approximated by adding two
1237                                  sinusoidials. This solution might especially hurt on
1238                                  systems with weak floating point unit.
1239                                benchmark (default):
1240                                  This is not an algorithm. Use this option if the
1241                                  appropriate algorithm should be automatically
1242                                  chosen by the configure script by performing a
1243                                  benchmark between the algorithms mentioned above.
1244                                  This will NOT work for cross compilation!],
1245      [ if test ! "(" "${enableval}" = "intmath" \
1246                  -o "${enableval}" = "intmathabs" \
1247                  -o "${enableval}" = "diharmonic" ")" ; then
1248          AC_MSG_ERROR([Unknown triangular wave algorithm for parameter --enable-unsigned-triang-algo])
1249        else
1250          config_unsigned_triang_algo="${enableval}"
1251        fi
1252      ],
1253      [config_unsigned_triang_algo="benchmark"]
1254    )
1255    
1256    AC_ARG_ENABLE(process-muted-channels,
1257      [  --enable-process-muted-channels
1258                              Enable processing of muted channels (default=no).
1259                              In that mode all MIDI events in the muted channels
1260                              will be processed. This will provide information
1261                              about the active voices in the muted channels and
1262                              will not discard notes, triggered in mute mode,
1263                              when the channel is unmuted. But also will reduce
1264                              the efficiency.],
1265      [config_process_muted_channels="$enableval"],
1266      [config_process_muted_channels="no"]
1267    )
1268    if test "$config_process_muted_channels" = "yes"; then
1269      AC_DEFINE_UNQUOTED(CONFIG_PROCESS_MUTED_CHANNELS, 1, [Define to 1 if you want to enable processing of muted channels.])
1270    fi
1271    
1272    AC_ARG_ENABLE(process-all-notes-off,
1273      [  --disable-process-all-notes-off
1274                              Disable interpretation of All-Notes-Off MIDI
1275                              messages (default=on). By default LS will release
1276                              all voices whenever it receives an All-Notes-Off
1277                              MIDI message. You can disable this behavior, so
1278                              that LS simply ignores such messages.],
1279      [config_process_all_notes_off="$enableval"],
1280      [config_process_all_notes_off="yes"]
1281    )
1282    if test "$config_process_all_notes_off" = "yes"; then
1283      AC_DEFINE_UNQUOTED(CONFIG_PROCESS_ALL_NOTES_OFF, 1, [Define to 1 if you want to enable processing of All-Notes-Off MIDI messages.])
1284    fi
1285    
1286    AC_ARG_ENABLE(interpolate-volume,
1287      [  --disable-interpolate-volume
1288                              Disable interpolation of volume modulation
1289                              (default=on). With this enabled, the volume changes
1290                              generated by for example the envelope generator
1291                              will be smoother, minimizing the risk for audio
1292                              clicks. Disable it to reduce CPU usage.],
1293      [config_interpolate_volume="$enableval"],
1294      [config_interpolate_volume="yes"]
1295    )
1296    if test "$config_interpolate_volume" = "yes"; then
1297      AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])
1298    fi
1299    
1300    AC_ARG_ENABLE(master-volume-sysex-by-port,
1301      [  --enable-master-volume-sysex-by-port
1302                              Whether global volume sysex message should be
1303                              applied globally to the whole sampler or only to
1304                              the sampler channels connected to the same MIDI
1305                              input port on which the sysex message arrived on.
1306                              By default global volume sysex messages apply
1307                              globally to the whole sampler, since many MIDI
1308                              devices behave that way.],
1309      [config_master_volume_sysex_by_port="$enableval"],
1310      [config_master_volume_sysex_by_port="no"]
1311    )
1312    if test "$config_master_volume_sysex_by_port" = "yes"; then
1313      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.])
1314    fi
1315    
1316    AC_ARG_ENABLE(plugin-dir,
1317      [  --enable-plugin-dir
1318                              Directory where the sampler shall look for potential plugins,
1319                              that is 3rd party shared libraries that should be loaded by
1320                              the sampler on startup. By default the sampler will search
1321                              for plugins in the subdirectory "plugins" below its own
1322                              library directory.
1323                              (i.e. /usr/local/lib/linuxsampler/plugins)],
1324      [config_plugin_dir="${enableval}"],
1325      [config_plugin_dir="${libdir}/linuxsampler/plugins"]
1326    )
1327    AC_SUBST(config_plugin_dir)
1328    
1329    AC_ARG_ENABLE(default-instruments-db-location,
1330      [  --enable-default-instruments-db-location
1331                              Only when instruments DB feature is enabled: file name
1332                              which shall be taken as default location of the
1333                              instruments DB file. This location can still be
1334                              overridden at runtime with a command line switch.
1335                              (default: /var/lib/linuxsampler/instruments.db)],
1336      [config_default_instruments_db_file="${enableval}"],
1337      [config_default_instruments_db_file="/var/lib/linuxsampler/instruments.db"]
1338    )
1339    AC_DEFINE_UNQUOTED(
1340        CONFIG_DEFAULT_INSTRUMENTS_DB_LOCATION,
1341        "$config_default_instruments_db_file",
1342        [Only when instruments DB feature is enabled: default location of the DB file.]
1343    )
1344    AC_SUBST(config_default_instruments_db_file)
1345    
1346    
1347    ###########################################################################
1348    # Automatic Benchmarks (to detect the best algorithms for the system)
1349    
1350    if test "$config_signed_triang_algo" = "benchmark"; then
1351        echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1352        AC_LANG_PUSH([C++])
1353        AC_RUN_IFELSE([AC_LANG_SOURCE([[
1354                #define SIGNED 1
1355                #define SILENT 1
1356                #include "${srcdir}/benchmarks/triang.cpp"
1357            ]])],
1358            triang_signed=0,
1359            triang_signed=$?,
1360            triang_signed=0
1361        )
1362        AC_LANG_POP([C++])
1363        if test "$triang_signed" = "2"; then
1364            config_signed_triang_algo="intmath"
1365            echo "integer math"
1366        elif test "$triang_signed" = "3"; then
1367            config_signed_triang_algo="diharmonic"
1368            echo "di harmonics"
1369        elif test "$triang_signed" = "5"; then
1370            config_signed_triang_algo="intmathabs"
1371            echo "integer math using abs()"
1372        else
1373            echo "Benchmark of signed triangular wave algorithms failed!"
1374            echo "Maybe you are doing cross compilation? In that case you have to select"
1375            echo "an algorithm manually with './configure --enable-signed-triang-algo=...'"
1376            echo "Call './configure --help' for further information or read configure.in."
1377            exit -1;
1378        fi
1379    else
1380        case "$config_signed_triang_algo" in
1381            intmath)
1382                triang_signed=2 ;;
1383            diharmonic)
1384                triang_signed=3 ;;
1385            intmathabs)
1386                triang_signed=5 ;;
1387        esac
1388    fi
1389    AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ALGO, ${triang_signed}, [Define signed triangular wave algorithm to be used.])
1390    
1391    if test "$config_unsigned_triang_algo" = "benchmark"; then
1392        echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1393        AC_LANG_PUSH([C++])
1394        AC_RUN_IFELSE([AC_LANG_SOURCE([[
1395                #define SIGNED 0
1396                #define SILENT 1
1397                #include "${srcdir}/benchmarks/triang.cpp"
1398            ]])],
1399            triang_unsigned=0,
1400            triang_unsigned=$?,
1401            triang_unsigned=0
1402        )
1403        AC_LANG_POP([C++])
1404        if test "$triang_unsigned" = "2"; then
1405            config_unsigned_triang_algo="intmath"
1406            echo "integer math"
1407        elif test "$triang_unsigned" = "3"; then
1408            config_unsigned_triang_algo="diharmonic"
1409            echo "di harmonics"
1410        elif test "$triang_unsigned" = "5"; then
1411            config_unsigned_triang_algo="intmathabs"
1412            echo "integer math using abs()"
1413        else
1414            echo "Benchmark of unsigned triangular wave algorithms failed!"
1415            echo "Maybe you are doing cross compilation? In that case you have to select"
1416            echo "an algorithm manually with './configure --enable-unsigned-triang-algo=...'"
1417            echo "Call './configure --help' for further information or read configure.in."
1418            exit -1;
1419        fi
1420    else
1421        case "$config_unsigned_triang_algo" in
1422            intmath)
1423                triang_unsigned=2 ;;
1424            diharmonic)
1425                triang_unsigned=3 ;;
1426            intmathabs)
1427                triang_unsigned=5 ;;
1428        esac
1429    fi
1430    AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, ${triang_unsigned}, [Define unsigned triangular wave algorithm to be used.])
1431    
1432    
1433    ###########################################################################
1434    # Create Build Files
1435    
1436    AC_CONFIG_HEADERS([config.h])
1437    
1438    AC_LANG([C++])
1439    
1440    # autoconf 2.59/libtool 1.5.12 bug? work-around. Without a check like
1441    # this, the dlfcn.h check in am_prog_libtool may fail.
1442    AC_CHECK_HEADER(stdlib.h)
1443    
1444    AC_CONFIG_FILES([\
1445        Makefile \
1446        man/Makefile \
1447        man/linuxsampler.1 \
1448        man/lscp.1 \
1449        src/Makefile \
1450        src/db/Makefile \
1451        src/network/Makefile \
1452        src/engines/Makefile \
1453        src/engines/gig/Makefile \
1454        src/engines/sf2/Makefile \
1455        src/engines/sfz/Makefile \
1456        src/engines/common/Makefile \
1457        src/effects/Makefile \
1458        src/common/Makefile \
1459        src/testcases/Makefile \
1460        src/drivers/Makefile \
1461        src/drivers/audio/Makefile \
1462        src/drivers/midi/Makefile \
1463        src/plugins/Makefile \
1464        src/hostplugins/Makefile \
1465        src/hostplugins/dssi/Makefile \
1466        src/hostplugins/lv2/Makefile \
1467        src/hostplugins/lv2/manifest.ttl \
1468        src/hostplugins/vst/Makefile \
1469        src/hostplugins/au/Makefile \
1470        src/scriptvm/Makefile \
1471        src/scriptvm/editor/Makefile \
1472        src/shell/Makefile \
1473        linuxsampler.spec \
1474        debian/Makefile \
1475        Artwork/Makefile \
1476        scripts/Makefile \
1477        osx/Makefile \
1478        osx/linuxsampler.xcodeproj/Makefile \
1479        Documentation/Makefile \
1480        Documentation/Engines/Makefile \
1481        Documentation/Engines/gig/Makefile \
1482        linuxsampler.pc \
1483        Doxyfile \
1484    ])
1485    AC_OUTPUT
1486    
1487    # resolve all nested variables in '${config_plugin_dir}'
1488    # (merely for providing a human readable summary below)
1489    while test $config_plugin_dir != `eval echo ${config_plugin_dir}` ; do
1490            config_plugin_dir=`eval echo ${config_plugin_dir}`
1491    done
1492    
1493    
1494    ###########################################################################
1495    # Output All Configuration Options
1496    
1497    echo ""
1498    echo "#####################################################################"
1499    echo "# LinuxSampler Configuration                                        #"
1500    echo "#-------------------------------------------------------------------#"
1501    echo "# Release Version: ${VERSION}"
1502    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1503    echo "#-------------------------------------------------------------------"
1504    echo "# Assembly Optimizations: ${config_asm}"
1505    echo "# Development Mode: ${config_dev_mode}"
1506    echo "# Debug Level: ${config_debug_level}"
1507    echo "# Use Exceptions in RT Context: ${config_rt_exceptions}"
1508    echo "# Preload Samples: ${config_preload_samples}"
1509    echo "# Maximum Pitch: ${config_max_pitch} (octaves)"
1510    echo "# Maximum Events: ${config_max_events}"
1511    echo "# Envelope Bottom Level: ${config_eg_bottom} (linear)"
1512    echo "# Envelope Minimum Release Time: ${config_eg_min_release_time} s"
1513    echo "# Streams to be refilled per Disk Thread Cycle: ${config_refill_streams}"
1514    echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1515    echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1516    echo "# Stream Size: ${config_stream_size}"
1517    echo "# Default Maximum Disk Streams: ${config_max_streams}"
1518    echo "# Default Maximum Voices: ${config_max_voices}"
1519    echo "# Default Subfragment Size: ${config_subfragment_size}"
1520    echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1521    echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
1522    echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"
1523    echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"
1524    echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"
1525    echo "# Min. Portamento Time: ${config_portamento_time_min} s"
1526    echo "# Max. Portamento Time: ${config_portamento_time_max} s"
1527    echo "# Default Portamento Time: ${config_portamento_time_default} s"
1528    echo "# Force Filter Usage: ${config_force_filter}"
1529    echo "# Filter Cutoff Minimum: ${config_filter_cutoff_min} Hz"
1530    echo "# Filter Cutoff Maximum: ${config_filter_cutoff_max} Hz"
1531    echo "# Override Filter Cutoff Controller: ${config_override_cutoff_ctrl}"
1532    echo "# Override Filter Resonance Controller: ${config_override_resonance_ctrl}"
1533    echo "# Override Filter Type: ${config_override_filter_type}"
1534    echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1535    echo "# Process Muted Channels: ${config_process_muted_channels}"
1536    echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1537    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1538    echo "# Interpolate Volume: ${config_interpolate_volume}"
1539    echo "# Instruments database support: ${config_instruments_db}"
1540    if test "$config_instruments_db" = "yes"; then
1541    echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1542    fi
1543    echo "# Plugin Path: ${config_plugin_dir}"
1544    echo "#-------------------------------------------------------------------"
1545    echo "# MIDI Input Drivers:"
1546    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}"
1547    echo "#-------------------------------------------------------------------"
1548    echo "# Audio Output Drivers:"
1549    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}"
1550    echo "#-------------------------------------------------------------------"
1551    echo "# Sampler Engines:"
1552    echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes"
1553    echo "#-------------------------------------------------------------------"
1554    echo "# Effect plugin systems for internal effects:"
1555    echo "# LADSPA: yes"
1556    echo "#-------------------------------------------------------------------"
1557    echo "# Building sampler as plugin for following host standards:"
1558    echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}"
1559    echo "#-------------------------------------------------------------------#"
1560    echo "# Read './configure --help' or file 'configure.in' for details.     #"
1561    echo "#####################################################################"
1562    echo ""
1563    echo "Good. Now type 'make' to compile, followed by 'make install' as root."
1564    echo ""

Legend:
Removed from v.288  
changed lines
  Added in v.3763

  ViewVC Help
Powered by ViewVC