/[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 53 by schoenebeck, Mon Apr 26 17:15:51 2004 UTC linuxsampler/trunk/configure.ac revision 3764 by schoenebeck, Sun Apr 5 21:41:27 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.svn52)
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    ###########################################################################
63    # General Checks
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 14  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  AC_CHECK_HEADER(alsa/asoundlib.h,  # (only if the user did not provide one)
86      AC_CHECK_LIB(asound, main,  CXX_CPU_SWITCH=
87                               have_alsa="true"  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                               have_alsa="false"      CXX_CPU_SWITCH="-march=$host_cpu"
90                  )    elif test "$target_cpu" = "ppc"; then
91                  ,      CXX_CPU_SWITCH="-arch=$host_cpu"
92                  have_alsa="false"    fi
 )  
 if test "$have_alsa" = "false"; then  
     echo "Alsa not installed!"  
     echo "Sorry, LinuxSampler only supports Alsa sound drivers at the moment!"  
     exit -1;  
93  fi  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  echo -n "checking Alsa version... "  # check if we're on MS Windows
110  AC_LANG_SAVE  AC_CHECK_HEADERS(
111  AC_LANG_C      mmsystem.h,
112  AC_TRY_RUN([      have_windows=1,
113  #include <alsa/asoundlib.h>      have_windows=0,
114  void main(void) {      [#include <windef.h>]
 /* ensure backward compatibility */  
 #if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR)  
 #define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR  
 #endif  
 exit(SND_LIB_MAJOR);  
 }  
 ],  
 alsa_major=0,  
 alsa_major=$?,  
 alsa_major=0  
115  )  )
116  AC_TRY_RUN([  AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")
117  #include <alsa/asoundlib.h>  
118  void main(void) {  AC_MSG_CHECKING([whether UNIX98 compatible])
119  /* ensure backward compatibility */  AC_LANG_PUSH([C])
120  #if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)  AC_RUN_IFELSE([AC_LANG_SOURCE([[
121  #define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR  #ifndef _GNU_SOURCE
122    #define _GNU_SOURCE 1
123  #endif  #endif
124  exit(SND_LIB_MINOR);  #include <features.h>
 }  
 ],  
 alsa_minor=0,  
 alsa_minor=$?,  
 alsa_minor=0  
 )  
 AC_TRY_RUN([  
 #include <alsa/asoundlib.h>  
125  void main(void) {  void main(void) {
126  /* ensure backward compatibility */  #if _XOPEN_SOURCE >= 500
127  #if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR)  exit(0); /* UNIX98 compatible */
128  #define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR  #else
129    exit(-1); /* not UNIX98 compatible */
130  #endif  #endif
 exit(SND_LIB_SUBMINOR);  
131  }  }
132  ],  ]])],
133  alsa_subminor=0,  have_unix98="yes",
134  alsa_subminor=$?,  have_unix98="no",
135  alsa_subminor=0  have_unix98="no"
136  )  )
137  AC_LANG_RESTORE  AC_LANG_POP([C])
138  echo "$alsa_major.$alsa_minor.$alsa_subminor";  AC_MSG_RESULT([$have_unix98])
139  AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])  if test "$have_unix98" = "no" -a "$have_windows" = "0" -a "$mac" = "no" ; then
140  AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])      if test "x$HAVE_UNIX98" = "x"; then
141  AC_DEFINE_UNQUOTED(ALSA_SUBMINOR,$alsa_subminor,[Define to the subminor version number of your Alsa installation.])          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"
143            echo "./configure with environment variable HAVE_UNIX98=1 in case you think you"
144            echo "have a UNIX98 compatible system."
145            exit -1;
146        fi
147    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
310    # (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"
313    have_audio_output_driver="false"
314    
315    # ALSA
316    AC_ARG_ENABLE(alsa-driver,
317      [  --disable-alsa-driver
318                              Disable support for the Advanced Linux Sound
319                              Architecture (ALSA).],
320      [config_alsa_driver="$enableval"],
321      [config_alsa_driver="yes"]
322    )
323    have_alsa=0
324    if test "$config_alsa_driver" = "yes"; then
325        AC_CHECK_HEADER(alsa/asoundlib.h,
326            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
391    AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
392    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  # JACK
399  PKG_CHECK_MODULES(JACK, jack, HAVE_JACK=true, HAVE_JACK=false)  AC_ARG_ENABLE(jack-driver,
400  AC_SUBST(JACK_LIBS)    [  --disable-jack-driver
401  AC_SUBST(JACK_CFLAGS)                            Disable support for the Jack Audio Connection Kit
402  if test $HAVE_JACK = false; then                            (JACK).],
403      HAVE_JACK=0;    [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    # JACK MIDI
430    have_jack_midi=0
431    if test $have_jack = "1"; then
432        linuxsampler_save_CFLAGS=$CFLAGS
433        linuxsampler_save_LIBS=$LIBS
434        CFLAGS="$JACK_CFLAGS $CFLAGS"
435        LIBS="$JACK_LIBS $LIBS"
436        AC_CHECK_HEADER(jack/midiport.h, have_jack_midi=1, have_jack_midi=0)
437        if test $have_jack_midi = "1"; then
438            AC_CHECK_FUNCS(jack_midi_get_event_count)
439            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                      [Define to 1 if you have the old jack midi functions that need an nframes argument.])])
443            have_midi_input_driver="true"
444        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    have_arts=0
465    if test "$config_arts_driver" = "yes"; then
466        m4_ifdef([m4_include(m4/arts.m4)],,
467                 [sinclude([m4/arts.m4])])
468        AM_PATH_ARTS(0.9.5, have_arts=1, have_arts=0)
469        if test "$have_arts" = "1"; then
470            have_audio_output_driver="true"
471        fi
472  else  else
473      HAVE_JACK=1;      echo "ARTS support disabled by configure script parameter"
474    fi
475    AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
476    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  fi
 AC_DEFINE_UNQUOTED(HAVE_JACK,$HAVE_JACK,[Define to 1 if you have JACK installed.])  
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_SUBST(config_asiosdk_dir)
491    
492  AM_CONFIG_HEADER(config.h)  AC_ARG_ENABLE(asio-driver,
493  AM_INIT_AUTOMAKE(linuxsampler, 0.1)    [  --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  AC_LANG_CPLUSPLUS  # MidiShare (Linux, OS X, Windows)
526  AC_PROG_CXX  AC_ARG_ENABLE(midishare-driver,
527  AM_PROG_LIBTOOL    [  --disable-midishare-driver
528                              Disable support for the MidiShare system.],
529      [config_midishare_driver="$enableval"],
530      [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
572        echo "CoreMIDI support disabled by configure script parameter"
573    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
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    # 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!"
690        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;
695    fi
696    if test "$have_audio_output_driver" = "false"; then
697        echo "No supported audio output system found!"
698        echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
699        echo "driver at the moment!"
700        exit -1;
701    fi
702    
703    
704    
705    ###########################################################################
706    # Checks for various DLL libraries
707    
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  AC_OUTPUT(Makefile src/Makefile src/network/Makefile src/engines/Makefile src/engines/gig/Makefile src/engines/common/Makefile src/common/Makefile src/audiodriver/Makefile src/mididriver/Makefile src/lib/Makefile src/lib/fileloader/Makefile src/lib/fileloader/libgig/Makefile)  # 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    # 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    AC_CHECK_FUNC(pthread_testcancel,
864      [config_pthread_testcancel="yes"],
865      [config_pthread_testcancel="no"]
866    )
867    if test "$config_pthread_testcancel" = "yes"; then
868      AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 if pthread_testcancel() is available.])
869    fi
870    
871    AC_ARG_ENABLE(preload-samples,
872      [  --enable-preload-samples
873                              Due to seeking and latency issues with hard drives
874                              we have to cache a small part of samples' head in
875                              RAM (default=32768). The higher this value the
876                              more memory will be occupied for each sample, but
877                              the safer this will be in regards of possible
878                              droputs. A 'good' value depends on the running
879                              system and usage dependant factors.],
880      [config_preload_samples="${enableval}"],
881      [config_preload_samples="32768"]
882    )
883    AC_DEFINE_UNQUOTED(CONFIG_PRELOAD_SAMPLES, $config_preload_samples, [Define amount of sample points to be cached in RAM.])
884    
885    AC_ARG_ENABLE(max-pitch,
886      [  --enable-max-pitch
887                              Specify the maximum allowed pitch value in octaves
888                              (default=4). To lower memory usage you might want
889                              set a smaller value.],
890      [config_max_pitch="${enableval}"],
891      [config_max_pitch="4"]
892    )
893    AC_DEFINE_UNQUOTED(CONFIG_MAX_PITCH, $config_max_pitch, [Define max. allowed pitch.])
894    
895    AC_ARG_ENABLE(max-events,
896      [  --enable-max-events
897                              Specify the maximum allowed amount of events to be
898                              processed per fragment (default=1024).],
899      [config_max_events="${enableval}"],
900      [config_max_events="1024"]
901    )
902    AC_DEFINE_UNQUOTED(CONFIG_MAX_EVENTS_PER_FRAGMENT, $config_max_events, [Define max. allowed events per fragment.])
903    
904    AC_ARG_ENABLE(eg-bottom,
905      [  --enable-eg-bottom
906                              Bottom limit of envelope generators
907                              (default=0.001). Certain kinds of curve types like
908                              exponential curves converge against 0 but never
909                              reach 0. So we have to define a certain low value
910                              after which we should consider all smaller values
911                              to be 'almost zero'. The smaller this value, the
912                              longer will voices survive in EG's release stage
913                              and thus waste voices. If this value is too high
914                              will cause click sounds though.],
915      [config_eg_bottom="${enableval}"],
916      [config_eg_bottom="0.001"]
917    )
918    AC_DEFINE_UNQUOTED(CONFIG_EG_BOTTOM, $config_eg_bottom, [Define bottom limit of envelopes.])
919    
920    AC_ARG_ENABLE(eg-min-release-time,
921      [  --enable-eg-min-release-time
922                              Specify the lowest allowed release time in seconds
923                              (default=0.0025). This value will also be used to
924                              ramp down voices on voice stealing. This value
925                              should always be less than the period time of the
926                              used audio driver, as in case of voice stealing
927                              the killed voice needs to be completely ramped
928                              down in the same fragment.],
929      [config_eg_min_release_time="${enableval}"],
930      [config_eg_min_release_time="0.0025"]
931    )
932    AC_DEFINE_UNQUOTED(CONFIG_EG_MIN_RELEASE_TIME, $config_eg_min_release_time, [Define min. release time.])
933    
934    AC_ARG_ENABLE(refill-streams,
935      [  --enable-refill-streams
936                              Number of streams that should be refilled in each
937                              disk thread cycle (default=4).],
938      [config_refill_streams="${enableval}"],
939      [config_refill_streams="4"]
940    )
941    AC_DEFINE_UNQUOTED(CONFIG_REFILL_STREAMS_PER_RUN, $config_refill_streams, [Define amount of streams to be refilled per cycle.])
942    
943    AC_ARG_ENABLE(stream-min-refill,
944      [  --enable-stream-min-refill
945                              Minimum refill size for disk streams (default=1024).
946                              The disk thread will go to sleep for a while if no
947                              stream had to be refilled more than this value in
948                              a disk thread cycle.],
949      [config_stream_min_refill="${enableval}"],
950      [config_stream_min_refill="1024"]
951    )
952    AC_DEFINE_UNQUOTED(CONFIG_STREAM_MIN_REFILL_SIZE, $config_stream_min_refill, [Define min. stream refill size.])
953    
954    AC_ARG_ENABLE(stream-max-refill,
955      [  --enable-stream-max-refill
956                              Maximum refill size for disk streams
957                              (default=65536). The disk thread will refill
958                              each stream only by a size of this value per
959                              disk thread cycle.],
960      [config_stream_max_refill="${enableval}"],
961      [config_stream_max_refill="65536"]
962    )
963    AC_DEFINE_UNQUOTED(CONFIG_STREAM_MAX_REFILL_SIZE, $config_stream_max_refill, [Define max. stream refill size.])
964    
965    AC_ARG_ENABLE(stream-size,
966      [  --enable-stream-size
967                              Size of each stream's ring buffer in sample points
968                              (default=262144).],
969      [config_stream_size="${enableval}"],
970      [config_stream_size="262144"]
971    )
972    AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_SIZE, $config_stream_size, [Define each stream's ring buffer size.])
973    
974    AC_ARG_ENABLE(max-streams,
975      [  --enable-max-streams
976                              Initial maximum amount of disk streams
977                              (default=90). This value can be changed at
978                              runtime. It should always be higher than the
979                              maximum amount of voices.],
980      [config_max_streams="${enableval}"],
981      [config_max_streams="90"]
982    )
983    AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_MAX_STREAMS, $config_max_streams, [Define initial max. streams.])
984    
985    AC_ARG_ENABLE(max-voices,
986      [  --enable-max-voices
987                              Initial maximum amount of voices (default=64).
988                              This value can be changed at runtime. It should
989                              always be lower than the maximum amount of disk
990                              streams.],
991      [config_max_voices="${enableval}"],
992      [config_max_voices="64"]
993    )
994    AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_MAX_VOICES, $config_max_voices, [Define initial max. voices.])
995    
996    AC_ARG_ENABLE(subfragment-size,
997      [  --enable-subfragment-size
998                              Every audio fragment will be splitted into
999                              subfragments. Where each subfragment renders
1000                              audio with constant synthesis parameters. This is
1001                              done for efficiency reasons. This parameter
1002                              defines the default size of a subfragment in
1003                              sample points. A large value means less CPU time
1004                              whereas a low value means better audio quality
1005                              (default=32).],
1006      [config_subfragment_size="${enableval}"],
1007      [config_subfragment_size="32"]
1008    )
1009    AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_SUBFRAGMENT_SIZE, $config_subfragment_size, [Define default subfragment size (in sample points).])
1010    
1011    AC_ARG_ENABLE(global-attenuation-default,
1012      [  --enable-global-attenuation-default
1013                              To prevent clipping all samples will be lowered
1014                              in amplitude by this given default factor (can
1015                              be overridden at runtime).
1016                              (default=0.35)],
1017      [config_global_attenuation_default="${enableval}"],
1018      [config_global_attenuation_default="0.35"]
1019    )
1020    AC_DEFINE_UNQUOTED(CONFIG_GLOBAL_ATTENUATION_DEFAULT, $config_global_attenuation_default, [Define default global volume attenuation (as floating point factor).])
1021    
1022    AC_ARG_ENABLE(voice-steal-algo,
1023      [  --enable-voice-steal-algo
1024                              Voice stealing algorithm to be used. Currently
1025                              available options:
1026                                none:
1027                                  Disable voice stealing completely.
1028                                oldestvoiceonkey (default):
1029                                  Try to kill a voice on the same key first,
1030                                  if no success, proceed with the oldest key.
1031                                oldestkey:
1032                                  Try to kill a voice from the oldest active
1033                                  key.],
1034      [ if test ! "(" "${enableval}" = "none" \
1035                  -o "${enableval}" = "oldestvoiceonkey" \
1036                  -o "${enableval}" = "oldestkey" ")" ; then
1037          AC_MSG_ERROR([Unknown voice stealing algorithm for parameter --enable-voice-steal-algo])
1038        else
1039          config_voice_steal_algo="${enableval}"
1040        fi
1041      ],
1042      [config_voice_steal_algo="oldestvoiceonkey"]
1043    )
1044    AC_DEFINE_UNQUOTED(CONFIG_VOICE_STEAL_ALGO, voice_steal_algo_${config_voice_steal_algo}, [Define voice stealing algorithm to be used.])
1045    
1046    AC_ARG_ENABLE(sysex-buffer-size,
1047      [  --enable-sysex-buffer-size
1048                              System Exclusive Message buffer size in kB
1049                              (default=2048).],
1050      [config_sysex_buffer_size="${enableval}"],
1051      [config_sysex_buffer_size="2048"]
1052    )
1053    AC_DEFINE_UNQUOTED(CONFIG_SYSEX_BUFFER_SIZE, $config_sysex_buffer_size, [Define SysEx buffer size.])
1054    
1055    AC_ARG_ENABLE(force-filter,
1056      [  --enable-force-filter
1057                              If enabled will force filter to be used even if
1058                              no usage was define in instrument patch files.
1059                              (default=no).],
1060      [config_force_filter="$enableval"],
1061      [config_force_filter="no"]
1062    )
1063    if test "$config_force_filter" = "yes"; then
1064      AC_DEFINE_UNQUOTED(CONFIG_FORCE_FILTER, 1, [Define to 1 to force filter usage.])
1065    fi
1066    
1067    AC_ARG_ENABLE(filter-cutoff-min,
1068      [  --enable-filter-cutoff-min
1069                              Minimum filter cutoff frequency in Hz
1070                              (default=100.0).],
1071      [config_filter_cutoff_min="${enableval}"],
1072      [config_filter_cutoff_min="100.0"]
1073    )
1074    AC_DEFINE_UNQUOTED(CONFIG_FILTER_CUTOFF_MIN, ${config_filter_cutoff_min}f, [Define min. filter cutoff frequency.])
1075    
1076    AC_ARG_ENABLE(filter-cutoff-max,
1077      [  --enable-filter-cutoff-max
1078                              Maximum filter cutoff frequency in Hz
1079                              (default=10000.0).],
1080      [config_filter_cutoff_max="${enableval}"],
1081      [config_filter_cutoff_max="10000.0"]
1082    )
1083    AC_DEFINE_UNQUOTED(CONFIG_FILTER_CUTOFF_MAX, ${config_filter_cutoff_max}f, [Define max. filter cutoff frequency.])
1084    
1085    AC_ARG_ENABLE(override-cutoff-ctrl,
1086      [  --enable-override-cutoff-ctrl
1087                              Override filter cutoff MIDI controller (default=no).
1088                              Note: you have to define the MIDI controller number
1089                              here, it's not a boolean parameter type! If this
1090                              option is used, controller number given by
1091                              instrument patch will be ignored and instead this
1092                              supplied value will be used.],
1093      [config_override_cutoff_ctrl="${enableval}"],
1094      [config_override_cutoff_ctrl="no"]
1095    )
1096    if test ! "$config_override_cutoff_ctrl" = "no"; then
1097      AC_DEFINE_UNQUOTED(CONFIG_OVERRIDE_CUTOFF_CTRL, $config_override_cutoff_ctrl, [Define to a MIDI controller number to override cutoff control.])
1098    fi
1099    
1100    AC_ARG_ENABLE(override-resonance-ctrl,
1101      [  --enable-override-resonance-ctrl
1102                              Override filter resonance MIDI controller
1103                              (default=no). Note: you have to define the MIDI
1104                              controller number here, it's not a boolean
1105                              parameter type! If this option is used, controller
1106                              number given by instrument patch will be ignored
1107                              and instead this supplied value will be used.],
1108      [config_override_resonance_ctrl="${enableval}"],
1109      [config_override_resonance_ctrl="no"]
1110    )
1111    if test ! "$config_override_resonance_ctrl" = "no"; then
1112      AC_DEFINE_UNQUOTED(CONFIG_OVERRIDE_RESONANCE_CTRL, $config_override_resonance_ctrl, [Define to a MIDI controller number to override resonance control.])
1113    fi
1114    
1115    AC_ARG_ENABLE(override-filter-type,
1116      [  --enable-override-filter-type
1117                              Override filter type (default=no). Options:
1118                              hp: for highpass
1119                              bp: for bandpass
1120                              br: for bandreject
1121                              lp: for lowpass
1122                              lpt: for lowpass turbo],
1123      [ if   test "${enableval}" = "hp" ; then
1124           config_override_filter_type="::gig::vcf_type_highpass"
1125        elif test "${enableval}" = "bp" ; then
1126           config_override_filter_type="::gig::vcf_type_bandpass"
1127        elif test "${enableval}" = "br" ; then
1128           config_override_filter_type="::gig::vcf_type_bandreject"
1129        elif test "${enableval}" = "lp" ; then
1130           config_override_filter_type="::gig::vcf_type_lowpass"
1131        elif test "${enableval}" = "lpt" ; then
1132           config_override_filter_type="::gig::vcf_type_lowpassturbo"
1133        elif test ! "${enableval}" = "no"; then
1134           AC_MSG_ERROR([Unknown filter type for parameter --enable-override-filter-type])
1135        fi
1136      ],
1137      [config_override_filter_type="no"]
1138    )
1139    if test ! "$config_override_filter_type" = "no"; then
1140      AC_DEFINE_UNQUOTED(CONFIG_OVERRIDE_FILTER_TYPE, $config_override_filter_type, [Define to a filter type to always force that filter type.])
1141    fi
1142    
1143    AC_ARG_ENABLE(gs-checksum,
1144      [  --enable-gs-checksum
1145                              Enable Roland General Synth SysEx checksum check
1146                              (default=no). If this is enabled, all GS SysEx
1147                              messages which do not provide a correct checksum
1148                              will be ignored. This is disabled by default as
1149                              not all devices honor GS checksums.],
1150      [config_assert_gs_sysex_checksum="$enableval"],
1151      [config_assert_gs_sysex_checksum="no"]
1152    )
1153    if test "config_assert_gs_sysex_checksum" = "yes"; then
1154      AC_DEFINE_UNQUOTED(CONFIG_ASSERT_GS_SYSEX_CHECKSUM, 1, [Define to 1 if you want to enable GS SysEx check.])
1155    fi
1156    
1157    AC_ARG_ENABLE(portamento-time-min,
1158      [  --enable-portamento-time-min
1159                              Minimum Portamento time in seconds
1160                              (default=0.1).],
1161      [config_portamento_time_min="${enableval}"],
1162      [config_portamento_time_min="0.1"]
1163    )
1164    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MIN, $config_portamento_time_min, [Define min. portamento time.])
1165    
1166    AC_ARG_ENABLE(portamento-time-max,
1167      [  --enable-portamento-time-max
1168                              Maximum Portamento time in seconds
1169                              (default=32).],
1170      [config_portamento_time_max="${enableval}"],
1171      [config_portamento_time_max="32"]
1172    )
1173    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MAX, $config_portamento_time_max, [Define max. portamento time.])
1174    
1175    AC_ARG_ENABLE(portamento-time-default,
1176      [  --enable-portamento-time-default
1177                              Default Portamento time in seconds
1178                              (default=1).],
1179      [config_portamento_time_default="${enableval}"],
1180      [config_portamento_time_default="1"]
1181    )
1182    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_DEFAULT, $config_portamento_time_default, [Define default portamento time.])
1183    
1184    AC_ARG_ENABLE(signed-triang-algo,
1185      [  --enable-signed-triang-algo
1186                              Signed triangular wave algorithm to be used (e.g. for LFOs).
1187                              Currently available options:
1188                                intmath:
1189                                  Uses integer math without any branch will then be
1190                                  converted to floating point value for each sample point.
1191                                  This int->float conversion might hurt on some systems.
1192                                intmathabs:
1193                                  Similar to intmath but uses abs() function.
1194                                  Depending on compiler and platrofm this could
1195                                  perform better than integer math as it avoids
1196                                  an extra integer multiply instruction.
1197                                diharmonic:
1198                                  The triangular wave will be approximated by adding two
1199                                  sinusoidials. This solution might especially hurt on
1200                                  systems with weak floating point unit.
1201                                benchmark (default):
1202                                  This is not an algorithm. Use this option if the
1203                                  appropriate algorithm should be automatically
1204                                  chosen by the configure script by performing a
1205                                  benchmark between the algorithms mentioned above.
1206                                  This will NOT work for cross compilation!],
1207      [ if test ! "(" "${enableval}" = "intmath" \
1208                  -o "${enableval}" = "intmathabs" \
1209                  -o "${enableval}" = "diharmonic" ")" ; then
1210          AC_MSG_ERROR([Unknown triangular wave algorithm for parameter --enable-signed-triang-algo])
1211        else
1212          config_signed_triang_algo="${enableval}"
1213        fi
1214      ],
1215      [config_signed_triang_algo="benchmark"]
1216    )
1217    
1218    AC_ARG_ENABLE(unsigned-triang-algo,
1219      [  --enable-unsigned-triang-algo
1220                              Unsigned triangular wave algorithm to be used (e.g. for LFOs).
1221                              Currently available options:
1222                                intmath:
1223                                  Uses integer math without any branch will then be
1224                                  converted to floating point value for each sample point.
1225                                  This int->float conversion might hurt on some systems.
1226                                intmathabs:
1227                                  Similar to intmath but uses abs() function.
1228                                  Depending on compiler and platrofm this could
1229                                  perform better than integer math as it avoids
1230                                  an extra integer multiply instruction.
1231                                diharmonic:
1232                                  The triangular wave will be approximated by adding two
1233                                  sinusoidials. This solution might especially hurt on
1234                                  systems with weak floating point unit.
1235                                benchmark (default):
1236                                  This is not an algorithm. Use this option if the
1237                                  appropriate algorithm should be automatically
1238                                  chosen by the configure script by performing a
1239                                  benchmark between the algorithms mentioned above.
1240                                  This will NOT work for cross compilation!],
1241      [ if test ! "(" "${enableval}" = "intmath" \
1242                  -o "${enableval}" = "intmathabs" \
1243                  -o "${enableval}" = "diharmonic" ")" ; then
1244          AC_MSG_ERROR([Unknown triangular wave algorithm for parameter --enable-unsigned-triang-algo])
1245        else
1246          config_unsigned_triang_algo="${enableval}"
1247        fi
1248      ],
1249      [config_unsigned_triang_algo="benchmark"]
1250    )
1251    
1252    AC_ARG_ENABLE(process-muted-channels,
1253      [  --enable-process-muted-channels
1254                              Enable processing of muted channels (default=no).
1255                              In that mode all MIDI events in the muted channels
1256                              will be processed. This will provide information
1257                              about the active voices in the muted channels and
1258                              will not discard notes, triggered in mute mode,
1259                              when the channel is unmuted. But also will reduce
1260                              the efficiency.],
1261      [config_process_muted_channels="$enableval"],
1262      [config_process_muted_channels="no"]
1263    )
1264    if test "$config_process_muted_channels" = "yes"; then
1265      AC_DEFINE_UNQUOTED(CONFIG_PROCESS_MUTED_CHANNELS, 1, [Define to 1 if you want to enable processing of muted channels.])
1266    fi
1267    
1268    AC_ARG_ENABLE(process-all-notes-off,
1269      [  --disable-process-all-notes-off
1270                              Disable interpretation of All-Notes-Off MIDI
1271                              messages (default=on). By default LS will release
1272                              all voices whenever it receives an All-Notes-Off
1273                              MIDI message. You can disable this behavior, so
1274                              that LS simply ignores such messages.],
1275      [config_process_all_notes_off="$enableval"],
1276      [config_process_all_notes_off="yes"]
1277    )
1278    if test "$config_process_all_notes_off" = "yes"; then
1279      AC_DEFINE_UNQUOTED(CONFIG_PROCESS_ALL_NOTES_OFF, 1, [Define to 1 if you want to enable processing of All-Notes-Off MIDI messages.])
1280    fi
1281    
1282    AC_ARG_ENABLE(interpolate-volume,
1283      [  --disable-interpolate-volume
1284                              Disable interpolation of volume modulation
1285                              (default=on). With this enabled, the volume changes
1286                              generated by for example the envelope generator
1287                              will be smoother, minimizing the risk for audio
1288                              clicks. Disable it to reduce CPU usage.],
1289      [config_interpolate_volume="$enableval"],
1290      [config_interpolate_volume="yes"]
1291    )
1292    if test "$config_interpolate_volume" = "yes"; then
1293      AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])
1294    fi
1295    
1296    AC_ARG_ENABLE(master-volume-sysex-by-port,
1297      [  --enable-master-volume-sysex-by-port
1298                              Whether global volume sysex message should be
1299                              applied globally to the whole sampler or only to
1300                              the sampler channels connected to the same MIDI
1301                              input port on which the sysex message arrived on.
1302                              By default global volume sysex messages apply
1303                              globally to the whole sampler, since many MIDI
1304                              devices behave that way.],
1305      [config_master_volume_sysex_by_port="$enableval"],
1306      [config_master_volume_sysex_by_port="no"]
1307    )
1308    if test "$config_master_volume_sysex_by_port" = "yes"; then
1309      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.])
1310    fi
1311    
1312    AC_ARG_ENABLE(plugin-dir,
1313      [  --enable-plugin-dir
1314                              Directory where the sampler shall look for potential plugins,
1315                              that is 3rd party shared libraries that should be loaded by
1316                              the sampler on startup. By default the sampler will search
1317                              for plugins in the subdirectory "plugins" below its own
1318                              library directory.
1319                              (i.e. /usr/local/lib/linuxsampler/plugins)],
1320      [config_plugin_dir="${enableval}"],
1321      [config_plugin_dir="${libdir}/linuxsampler/plugins"]
1322    )
1323    AC_SUBST(config_plugin_dir)
1324    
1325    AC_ARG_ENABLE(default-instruments-db-location,
1326      [  --enable-default-instruments-db-location
1327                              Only when instruments DB feature is enabled: file name
1328                              which shall be taken as default location of the
1329                              instruments DB file. This location can still be
1330                              overridden at runtime with a command line switch.
1331                              (default: /var/lib/linuxsampler/instruments.db)],
1332      [config_default_instruments_db_file="${enableval}"],
1333      [config_default_instruments_db_file="/var/lib/linuxsampler/instruments.db"]
1334    )
1335    AC_DEFINE_UNQUOTED(
1336        CONFIG_DEFAULT_INSTRUMENTS_DB_LOCATION,
1337        "$config_default_instruments_db_file",
1338        [Only when instruments DB feature is enabled: default location of the DB file.]
1339    )
1340    AC_SUBST(config_default_instruments_db_file)
1341    
1342    
1343    ###########################################################################
1344    # Automatic Benchmarks (to detect the best algorithms for the system)
1345    
1346    if test "$config_signed_triang_algo" = "benchmark"; then
1347        echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1348        AC_LANG_PUSH([C++])
1349        AC_RUN_IFELSE([AC_LANG_SOURCE([[
1350                #define SIGNED 1
1351                #define SILENT 1
1352                #include "${srcdir}/benchmarks/triang.cpp"
1353            ]])],
1354            triang_signed=0,
1355            triang_signed=$?,
1356            triang_signed=0
1357        )
1358        AC_LANG_POP([C++])
1359        if test "$triang_signed" = "2"; then
1360            config_signed_triang_algo="intmath"
1361            echo "integer math"
1362        elif test "$triang_signed" = "3"; then
1363            config_signed_triang_algo="diharmonic"
1364            echo "di harmonics"
1365        elif test "$triang_signed" = "5"; then
1366            config_signed_triang_algo="intmathabs"
1367            echo "integer math using abs()"
1368        else
1369            echo "Benchmark of signed triangular wave algorithms failed!"
1370            echo "Maybe you are doing cross compilation? In that case you have to select"
1371            echo "an algorithm manually with './configure --enable-signed-triang-algo=...'"
1372            echo "Call './configure --help' for further information or read configure.in."
1373            exit -1;
1374        fi
1375    else
1376        case "$config_signed_triang_algo" in
1377            intmath)
1378                triang_signed=2 ;;
1379            diharmonic)
1380                triang_signed=3 ;;
1381            intmathabs)
1382                triang_signed=5 ;;
1383        esac
1384    fi
1385    AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ALGO, ${triang_signed}, [Define signed triangular wave algorithm to be used.])
1386    
1387    if test "$config_unsigned_triang_algo" = "benchmark"; then
1388        echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1389        AC_LANG_PUSH([C++])
1390        AC_RUN_IFELSE([AC_LANG_SOURCE([[
1391                #define SIGNED 0
1392                #define SILENT 1
1393                #include "${srcdir}/benchmarks/triang.cpp"
1394            ]])],
1395            triang_unsigned=0,
1396            triang_unsigned=$?,
1397            triang_unsigned=0
1398        )
1399        AC_LANG_POP([C++])
1400        if test "$triang_unsigned" = "2"; then
1401            config_unsigned_triang_algo="intmath"
1402            echo "integer math"
1403        elif test "$triang_unsigned" = "3"; then
1404            config_unsigned_triang_algo="diharmonic"
1405            echo "di harmonics"
1406        elif test "$triang_unsigned" = "5"; then
1407            config_unsigned_triang_algo="intmathabs"
1408            echo "integer math using abs()"
1409        else
1410            echo "Benchmark of unsigned triangular wave algorithms failed!"
1411            echo "Maybe you are doing cross compilation? In that case you have to select"
1412            echo "an algorithm manually with './configure --enable-unsigned-triang-algo=...'"
1413            echo "Call './configure --help' for further information or read configure.in."
1414            exit -1;
1415        fi
1416    else
1417        case "$config_unsigned_triang_algo" in
1418            intmath)
1419                triang_unsigned=2 ;;
1420            diharmonic)
1421                triang_unsigned=3 ;;
1422            intmathabs)
1423                triang_unsigned=5 ;;
1424        esac
1425    fi
1426    AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, ${triang_unsigned}, [Define unsigned triangular wave algorithm to be used.])
1427    
1428    
1429    ###########################################################################
1430    # Create Build Files
1431    
1432    AC_CONFIG_HEADERS([config.h])
1433    
1434    AC_LANG([C++])
1435    
1436    # autoconf 2.59/libtool 1.5.12 bug? work-around. Without a check like
1437    # this, the dlfcn.h check in am_prog_libtool may fail.
1438    AC_CHECK_HEADER(stdlib.h)
1439    
1440    AC_CONFIG_FILES([\
1441        Makefile \
1442        man/Makefile \
1443        man/linuxsampler.1 \
1444        man/lscp.1 \
1445        src/Makefile \
1446        src/db/Makefile \
1447        src/network/Makefile \
1448        src/engines/Makefile \
1449        src/engines/gig/Makefile \
1450        src/engines/sf2/Makefile \
1451        src/engines/sfz/Makefile \
1452        src/engines/common/Makefile \
1453        src/effects/Makefile \
1454        src/common/Makefile \
1455        src/testcases/Makefile \
1456        src/drivers/Makefile \
1457        src/drivers/audio/Makefile \
1458        src/drivers/midi/Makefile \
1459        src/plugins/Makefile \
1460        src/hostplugins/Makefile \
1461        src/hostplugins/dssi/Makefile \
1462        src/hostplugins/lv2/Makefile \
1463        src/hostplugins/lv2/manifest.ttl \
1464        src/hostplugins/vst/Makefile \
1465        src/hostplugins/au/Makefile \
1466        src/scriptvm/Makefile \
1467        src/scriptvm/editor/Makefile \
1468        src/shell/Makefile \
1469        linuxsampler.spec \
1470        debian/Makefile \
1471        Artwork/Makefile \
1472        scripts/Makefile \
1473        osx/Makefile \
1474        osx/linuxsampler.xcodeproj/Makefile \
1475        Documentation/Makefile \
1476        Documentation/Engines/Makefile \
1477        Documentation/Engines/gig/Makefile \
1478        linuxsampler.pc \
1479        Doxyfile \
1480    ])
1481    AC_OUTPUT
1482    
1483    # resolve all nested variables in '${config_plugin_dir}'
1484    # (merely for providing a human readable summary below)
1485    while test $config_plugin_dir != `eval echo ${config_plugin_dir}` ; do
1486            config_plugin_dir=`eval echo ${config_plugin_dir}`
1487    done
1488    
1489    
1490    ###########################################################################
1491    # Output All Configuration Options
1492    
1493    echo ""
1494    echo "#####################################################################"
1495    echo "# LinuxSampler Configuration                                        #"
1496    echo "#-------------------------------------------------------------------#"
1497    echo "# Release Version: ${VERSION}"
1498    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1499    echo "#-------------------------------------------------------------------"
1500    echo "# Assembly Optimizations: ${config_asm}"
1501    echo "# Development Mode: ${config_dev_mode}"
1502    echo "# Debug Level: ${config_debug_level}"
1503    echo "# Use Exceptions in RT Context: ${config_rt_exceptions}"
1504    echo "# Preload Samples: ${config_preload_samples}"
1505    echo "# Maximum Pitch: ${config_max_pitch} (octaves)"
1506    echo "# Maximum Events: ${config_max_events}"
1507    echo "# Envelope Bottom Level: ${config_eg_bottom} (linear)"
1508    echo "# Envelope Minimum Release Time: ${config_eg_min_release_time} s"
1509    echo "# Streams to be refilled per Disk Thread Cycle: ${config_refill_streams}"
1510    echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1511    echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1512    echo "# Stream Size: ${config_stream_size}"
1513    echo "# Default Maximum Disk Streams: ${config_max_streams}"
1514    echo "# Default Maximum Voices: ${config_max_voices}"
1515    echo "# Default Subfragment Size: ${config_subfragment_size}"
1516    echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1517    echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
1518    echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"
1519    echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"
1520    echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"
1521    echo "# Min. Portamento Time: ${config_portamento_time_min} s"
1522    echo "# Max. Portamento Time: ${config_portamento_time_max} s"
1523    echo "# Default Portamento Time: ${config_portamento_time_default} s"
1524    echo "# Force Filter Usage: ${config_force_filter}"
1525    echo "# Filter Cutoff Minimum: ${config_filter_cutoff_min} Hz"
1526    echo "# Filter Cutoff Maximum: ${config_filter_cutoff_max} Hz"
1527    echo "# Override Filter Cutoff Controller: ${config_override_cutoff_ctrl}"
1528    echo "# Override Filter Resonance Controller: ${config_override_resonance_ctrl}"
1529    echo "# Override Filter Type: ${config_override_filter_type}"
1530    echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1531    echo "# Process Muted Channels: ${config_process_muted_channels}"
1532    echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1533    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1534    echo "# Interpolate Volume: ${config_interpolate_volume}"
1535    echo "# Instruments database support: ${config_instruments_db}"
1536    if test "$config_instruments_db" = "yes"; then
1537    echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1538    fi
1539    echo "# Plugin Path: ${config_plugin_dir}"
1540    echo "#-------------------------------------------------------------------"
1541    echo "# MIDI Input Drivers:"
1542    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}"
1543    echo "#-------------------------------------------------------------------"
1544    echo "# Audio Output Drivers:"
1545    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}"
1546    echo "#-------------------------------------------------------------------"
1547    echo "# Sampler Engines:"
1548    echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes"
1549    echo "#-------------------------------------------------------------------"
1550    echo "# Effect plugin systems for internal effects:"
1551    echo "# LADSPA: yes"
1552    echo "#-------------------------------------------------------------------"
1553    echo "# Building sampler as plugin for following host standards:"
1554    echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}"
1555    echo "#-------------------------------------------------------------------#"
1556    echo "# Read './configure --help' or file 'configure.in' for details.     #"
1557    echo "#####################################################################"
1558    echo ""
1559    echo "Good. Now type 'make' to compile, followed by 'make install' as root."
1560    echo ""

Legend:
Removed from v.53  
changed lines
  Added in v.3764

  ViewVC Help
Powered by ViewVC