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

Legend:
Removed from v.527  
changed lines
  Added in v.3966

  ViewVC Help
Powered by ViewVC