/[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 1187 by iliev, Wed May 16 14:22:26 2007 UTC linuxsampler/trunk/configure.ac revision 3764 by schoenebeck, Sun Apr 5 21:41:27 2020 UTC
# Line 1  Line 1 
 AC_INIT(configure.in)  
   
1  #------------------------------------------------------------------------------------  #------------------------------------------------------------------------------------
2  # LinuxSampler's / liblinuxsampler's "official" release version:  # LinuxSampler's / liblinuxsampler's "official" release version:
3    
4  LINUXSAMPLER_RELEASE_MAJOR=0  m4_define(linuxsampler_release_major, 2)
5  LINUXSAMPLER_RELEASE_MINOR=4  m4_define(linuxsampler_release_minor, 1)
6  LINUXSAMPLER_RELEASE_BUILD=0.4cvs  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  # The following is the libtool / shared library version. This doesn't have to
# Line 24  LINUXSAMPLER_RELEASE_BUILD=0.4cvs Line 26  LINUXSAMPLER_RELEASE_BUILD=0.4cvs
26  #  6. If any interfaces have been removed since the last public release, then set age  #  6. If any interfaces have been removed since the last public release, then set age
27  #     to 0.  #     to 0.
28    
29  LIBLINUXSAMPLER_LT_CURRENT=0  LIBLINUXSAMPLER_LT_CURRENT=5
30  LIBLINUXSAMPLER_LT_REVISION=0  LIBLINUXSAMPLER_LT_REVISION=0
31  LIBLINUXSAMPLER_LT_AGE=0  LIBLINUXSAMPLER_LT_AGE=0
32  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT_CURRENT:$LIBLINUXSAMPLER_LT_REVISION:$LIBLINUXSAMPLER_LT_AGE"  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT_CURRENT:$LIBLINUXSAMPLER_LT_REVISION:$LIBLINUXSAMPLER_LT_AGE"
# Line 33  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT Line 35  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT
35  # the LSCP specification version this LinuSampler release complies with:  # the LSCP specification version this LinuSampler release complies with:
36    
37  LSCP_RELEASE_MAJOR=1  LSCP_RELEASE_MAJOR=1
38  LSCP_RELEASE_MINOR=2  LSCP_RELEASE_MINOR=7
39    
40  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MAJOR, ${LSCP_RELEASE_MAJOR}, [LSCP spec major version this release complies with.])  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MAJOR, ${LSCP_RELEASE_MAJOR}, [LSCP spec major version this release complies with.])
41  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MINOR, ${LSCP_RELEASE_MINOR}, [LSCP spec minor version this release complies with.])  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MINOR, ${LSCP_RELEASE_MINOR}, [LSCP spec minor version this release complies with.])
42    
43  AM_PROG_LIBTOOL  AM_INIT_AUTOMAKE([subdir-objects])
44    AC_PROG_CC
45    AC_PROG_CXX
46    AC_LIBTOOL_WIN32_DLL
47    AC_PROG_LIBTOOL
48    AC_PROG_LEX
49    AC_PROG_YACC
50    
51  AC_SUBST(SHLIB_VERSION_ARG)  AC_SUBST(SHLIB_VERSION_ARG)
52  AC_SUBST(SHARED_VERSION_INFO)  AC_SUBST(SHARED_VERSION_INFO)
53    
54  AC_C_BIGENDIAN  module=yes eval LIB_EXT=$shrext_cmds
55  AC_CANONICAL_SYSTEM  AC_SUBST(LIB_EXT)
56    
57  AC_SUBST(target)  AC_C_BIGENDIAN
58  AC_SUBST(target_alias)  AC_CANONICAL_HOST
 AC_SUBST(target_cpu)  
 AC_SUBST(target_os)  
 AC_SUBST(target_vendor)  
59    
60    PKG_PROG_PKG_CONFIG
61    
62  ###########################################################################  ###########################################################################
63  # General Checks  # General Checks
64    
65    AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
66    
67    # 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  AC_MSG_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 71  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x8 Line 85  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x8
85  # (only if the user did not provide one)  # (only if the user did not provide one)
86  CXX_CPU_SWITCH=  CXX_CPU_SWITCH=
87  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then
88    if test "$def_arch_x86" = 1; then    if test "$def_arch_x86" = 1 -a "$host_cpu" != "x86_64"; then
89      CXX_CPU_SWITCH="-march=$target_cpu"      CXX_CPU_SWITCH="-march=$host_cpu"
90    elif test "$target_cpu" = "ppc"; then    elif test "$target_cpu" = "ppc"; then
91      CXX_CPU_SWITCH="-arch=$target_cpu"      CXX_CPU_SWITCH="-arch=$host_cpu"
92    fi    fi
93  fi  fi
94  AC_SUBST([CXX_CPU_SWITCH])  AC_SUBST([CXX_CPU_SWITCH])
95    
96    mac=no
97    linux=no
98    case "$host" in
99        *-*-darwin*)
100            mac=yes
101            ;;
102        *-*-linux*)
103            linux=yes
104            ;;
105    esac
106    AM_CONDITIONAL(LINUX, test "$linux" = yes)
107    AM_CONDITIONAL(MAC, test "$mac" = yes)
108    
109    # check if we're on MS Windows
110    AC_CHECK_HEADERS(
111        mmsystem.h,
112        have_windows=1,
113        have_windows=0,
114        [#include <windef.h>]
115    )
116    AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")
117    
118  AC_MSG_CHECKING([whether UNIX98 compatible])  AC_MSG_CHECKING([whether UNIX98 compatible])
119  AC_LANG_SAVE  AC_LANG_PUSH([C])
120  AC_LANG_C  AC_RUN_IFELSE([AC_LANG_SOURCE([[
 AC_TRY_RUN([  
121  #ifndef _GNU_SOURCE  #ifndef _GNU_SOURCE
122  #define _GNU_SOURCE 1  #define _GNU_SOURCE 1
123  #endif  #endif
# Line 94  exit(0); /* UNIX98 compatible */ Line 129  exit(0); /* UNIX98 compatible */
129  exit(-1); /* not UNIX98 compatible */  exit(-1); /* not UNIX98 compatible */
130  #endif  #endif
131  }  }
132  ],  ]])],
133  have_unix98="yes",  have_unix98="yes",
134  have_unix98="no",  have_unix98="no",
135  have_unix98="no"  have_unix98="no"
136  )  )
137  AC_LANG_RESTORE  AC_LANG_POP([C])
138  AC_MSG_RESULT([$have_unix98])  AC_MSG_RESULT([$have_unix98])
139  if test "$have_unix98" = "no"; then  if test "$have_unix98" = "no" -a "$have_windows" = "0" -a "$mac" = "no" ; then
140      if test "x$HAVE_UNIX98" = "x"; then      if test "x$HAVE_UNIX98" = "x"; then
141          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"
142          echo "pthread_mutexattr_settype() call in Mutex.cpp. You may want to run          echo "pthread_mutexattr_settype() call in Mutex.cpp. You may want to run"
143          echo "./configure with environment variable HAVE_UNIX98=1 in case you think you          echo "./configure with environment variable HAVE_UNIX98=1 in case you think you"
144          echo "have a UNIX98 compatible system."          echo "have a UNIX98 compatible system."
145          exit -1;          exit -1;
146      fi      fi
# Line 114  fi Line 149  fi
149  # check for <features.h>  # check for <features.h>
150  AC_CHECK_HEADERS(features.h)  AC_CHECK_HEADERS(features.h)
151    
152    # test for POSIX thread library
153    m4_ifdef([m4_include(m4/pthread.m4)],,
154                 [sinclude([m4/pthread.m4])])
155    ACX_PTHREAD
156    LIBS="$PTHREAD_LIBS $LIBS"
157    CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
158    CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
159    CC="$PTHREAD_CC"
160    
161    
162    # check for compiler's pragma diagnostic capabilities
163    m4_ifdef([m4_include(m4/pragma_diagnostics.m4)],,
164                 [sinclude([m4/pragma_diagnostics.m4])])
165    ACX_CXX_PRAGMA_DIAGNOSTICS
166    
167    
168    # check for a bug in NPTL-enabled glibc
169    # (see Gentoo bug report #194076)
170    AC_ARG_ENABLE(nptl-bug-check,
171      [  --disable-nptl-bug-check
172                              Disable check for a bug in certain NPTL-enabled
173                              glibc versions that caused crashs.],
174      [config_check_nptl_bug="$enableval"],
175      [config_check_nptl_bug="yes"]
176    )
177    if test "$config_check_nptl_bug" = "yes"; then
178        m4_ifdef([m4_include(m4/nptl_bug.m4)],,
179                 [sinclude([m4/nptl_bug.m4])])
180        ACX_NPTL_GLIBC_BUG([
181            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
182            echo "You seem to have a buggy PTHREAD library! LinuxSampler would"
183            echo "probably crash due to this. Please report us the system you are"
184            echo "using and/or file a bug report to the bug tracking system of"
185            echo "your distribution."
186            echo "If you have a NPTL-enabled glibc AND it was compiled for TLS as"
187            echo "well, you can try to circumvent this problem for now by setting"
188            echo "the environment variable LD_ASSUME_KERNEL=\"2.4.1\" , which"
189            echo "should cause this test to pass."
190            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
191            AC_MSG_ERROR([possibly NPTL glibc bug detected])
192        ])
193    else
194        echo "NPTL glibc bug check disabled"
195    fi
196    
197    
198    # check whether C++ compiler supports "designated initializers"
199    echo -n "Checking whether C++ compiler supports designated initializers (partly)... "
200    AC_LANG_PUSH([C++])
201    AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
202        #include <stdlib.h>
203        struct Foo {
204            int   a;
205            float b;
206            bool  c;
207            char  d;
208        };
209        static void bar(Foo o) {
210        }
211        int main() {
212            bar({
213              .a = 2,
214              .b = 4.3f,
215              .c = true,
216              .d = 'z'
217            });
218            return 0;
219        }
220        ]])],
221        [cxx_designated_init_partly="yes"],
222        [cxx_designated_init_partly="no"]
223    )
224    AC_LANG_POP([C++])
225    if test $cxx_designated_init_partly = "yes"; then
226        echo "yes"
227    else
228        echo "NO"
229        echo '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
230        echo '!                                                             !'
231        echo '! ERROR: Selected C++ compiler does not support designated    !'
232        echo '! initializers at all, not even partly!                       !'
233        echo '!                                                             !'
234        echo '! Please either update your C++ compiler or select a          !'
235        echo '! different compiler (e.g. GCC >= 8 or clang >= 5). If you    !'
236        echo '! have several C++ compilers installed on your machine, you   !'
237        echo '! can easily select a different compiler by environment       !'
238        echo '! variable, e.g. to compile with clang instead:               !'
239        echo '!                                                             !'
240        echo '! CXX=clang++ CC=clang ./configure && make                    !'
241        echo '!                                                             !'
242        echo '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
243        exit -1
244    fi
245    echo -n "Checking whether C++ compiler fully supports designated initializers... "
246    AC_LANG_PUSH([C++])
247    AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
248        #include <stdlib.h>
249        struct Foo {
250            int   a;
251            float b;
252            bool  c;
253            char  d;
254        };
255        static void bar(Foo o) {
256        }
257        int main() {
258            bar({
259              .d = 'z',
260              .a = 2
261            });
262            return 0;
263        }
264        ]])],
265        [cxx_designated_init_fully="yes"],
266        [cxx_designated_init_fully="no"]
267    )
268    AC_LANG_POP([C++])
269    if test $cxx_designated_init_fully = "yes"; then
270        echo "yes"
271    else
272        echo 'NO'
273        echo '***************************************************************'
274        echo '*                                                             *'
275        echo '* WARNING: Selected C++ compiler does not fully support       *'
276        echo '* designated initializers (only partly)!                      *'
277        echo '*                                                             *'
278        echo '* You will be able to compile LinuxSampler, but you will not  *'
279        echo '* be able to compile the test cases. Consider updating your   *'
280        echo '* C++ compiler or switching to a different compiler. Chances  *'
281        echo '* are that LinuxSampler will soon no longer support your      *'
282        echo '* compiler.                                                   *'
283        echo '*                                                             *'
284        echo '* If you have several C++ compilers installed on your machine,*'
285        echo '* you can easily select a different compiler by environment   *'
286        echo '* variable, e.g. to compile with clang instead:               *'
287        echo '*                                                             *'
288        echo '* CXX=clang++ CC=clang ./configure && make                    *'
289        echo '*                                                             *'
290        echo '***************************************************************'
291    fi
292    
293    
294    # In case Bison is available, determine the exact version, since we need to
295    # use different custom parser code for Bison 2.x vs. Bison 3.x generated
296    # parser yacc tables.
297    if echo "$YACC" | grep -q bison; then
298        # NOTE: m4 removes [], that's why it needs to be escaped
299        bison_version=[`$YACC --version | head -n 1 | sed -e 's/[^0-9.]*\([-0-9.]\+\)$/\1/'`]
300        bison_version_major=`echo $bison_version | cut -d. -f1`
301        bison_version_minor=`echo $bison_version | cut -d. -f2`
302        AC_DEFINE_UNQUOTED(HAVE_BISON_MAJ,$bison_version_major,[Define to the major version of the GNU Bison program installed.])
303        AC_DEFINE_UNQUOTED(HAVE_BISON_MIN,$bison_version_minor,[Define to the minor version of the GNU Bison program installed.])
304    fi
305    
306    
307    
308  ###########################################################################  ###########################################################################
309  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
# Line 127  AC_ARG_ENABLE(alsa-driver, Line 317  AC_ARG_ENABLE(alsa-driver,
317    [  --disable-alsa-driver    [  --disable-alsa-driver
318                            Disable support for the Advanced Linux Sound                            Disable support for the Advanced Linux Sound
319                            Architecture (ALSA).],                            Architecture (ALSA).],
320    [config_alsa_driver="no"],    [config_alsa_driver="$enableval"],
321    [config_alsa_driver="yes"]    [config_alsa_driver="yes"]
322  )  )
323  have_alsa=0  have_alsa=0
# Line 147  if test "$config_alsa_driver" = "yes"; t Line 337  if test "$config_alsa_driver" = "yes"; t
337      fi      fi
338    
339      echo -n "checking Alsa version... "      echo -n "checking Alsa version... "
340      AC_LANG_SAVE      AC_LANG_PUSH([C])
341      AC_LANG_C      AC_RUN_IFELSE([AC_LANG_SOURCE([[
     AC_TRY_RUN([  
342          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
343          void main(void) {          void main(void) {
344              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 158  if test "$config_alsa_driver" = "yes"; t Line 347  if test "$config_alsa_driver" = "yes"; t
347              #endif              #endif
348              exit(SND_LIB_MAJOR);              exit(SND_LIB_MAJOR);
349          }          }
350      ],      ]])],
351      alsa_major=0,      alsa_major=0,
352      alsa_major=$?,      alsa_major=$?,
353      alsa_major=0      alsa_major=0
354      )      )
355      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
356          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
357          void main(void) {          void main(void) {
358              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 172  if test "$config_alsa_driver" = "yes"; t Line 361  if test "$config_alsa_driver" = "yes"; t
361              #endif              #endif
362              exit(SND_LIB_MINOR);              exit(SND_LIB_MINOR);
363          }          }
364      ],      ]])],
365      alsa_minor=0,      alsa_minor=0,
366      alsa_minor=$?,      alsa_minor=$?,
367      alsa_minor=0      alsa_minor=0
368      )      )
369      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
370          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
371          void main(void) {          void main(void) {
372              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 186  if test "$config_alsa_driver" = "yes"; t Line 375  if test "$config_alsa_driver" = "yes"; t
375              #endif              #endif
376              exit(SND_LIB_SUBMINOR);              exit(SND_LIB_SUBMINOR);
377          }          }
378      ],      ]])],
379      alsa_subminor=0,      alsa_subminor=0,
380      alsa_subminor=$?,      alsa_subminor=$?,
381      alsa_subminor=0      alsa_subminor=0
382      )      )
383      AC_LANG_RESTORE      AC_LANG_POP([C])
384      echo "$alsa_major.$alsa_minor.$alsa_subminor";      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.])      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.])      AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])
# Line 201  else Line 390  else
390  fi  fi
391  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
392  AC_DEFINE_UNQUOTED(HAVE_ALSA,$have_alsa,[Define to 1 if you have ALSA installed.])  AC_DEFINE_UNQUOTED(HAVE_ALSA,$have_alsa,[Define to 1 if you have ALSA installed.])
393    config_have_alsa="no"
394    if test $have_alsa = "1"; then
395        config_have_alsa="yes"
396    fi
397    
398  # JACK  # JACK
399  AC_ARG_ENABLE(jack-driver,  AC_ARG_ENABLE(jack-driver,
400    [  --disable-jack-driver    [  --disable-jack-driver
401                            Disable support for the Jack Audio Connection Kit                            Disable support for the Jack Audio Connection Kit
402                            (JACK).],                            (JACK).],
403    [config_jack_driver="no"],    [config_jack_driver="$enableval"],
404    [config_jack_driver="yes"]    [config_jack_driver="yes"]
405  )  )
406  have_jack=0  have_jack=0
# Line 216  if test "$config_jack_driver" = "yes"; t Line 409  if test "$config_jack_driver" = "yes"; t
409      if test $have_jack = "1"; then      if test $have_jack = "1"; then
410          AC_SUBST(JACK_LIBS)          AC_SUBST(JACK_LIBS)
411          AC_SUBST(JACK_CFLAGS)          AC_SUBST(JACK_CFLAGS)
412          AC_CHECK_LIB(jack, jack_client_name_size, [AC_DEFINE(HAVE_JACK_CLIENT_NAME_SIZE, 1, [Define to 1 if you have the `jack_client_name_size' function.])], , $JACK_LIBS)          linuxsampler_save_LIBS=$LIBS
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";          have_audio_output_driver="true";
418      fi      fi
419  else  else
# Line 224  else Line 421  else
421  fi  fi
422  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
423  AC_DEFINE_UNQUOTED(HAVE_JACK,$have_jack,[Define to 1 if you have JACK installed.])  AC_DEFINE_UNQUOTED(HAVE_JACK,$have_jack,[Define to 1 if you have JACK installed.])
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  # ARTS
457  AC_ARG_ENABLE(arts-driver,  AC_ARG_ENABLE(arts-driver,
458    [  --disable-arts-driver    [  --disable-arts-driver
459                            Disable support for the Analogue Realtime System                            Disable support for the Analogue Realtime System
460                            (aRts).],                            (aRts).],
461    [config_arts_driver="no"],    [config_arts_driver="$enableval"],
462    [config_arts_driver="yes"]    [config_arts_driver="yes"]
463  )  )
464  have_arts=0  have_arts=0
# Line 246  else Line 474  else
474  fi  fi
475  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
476  AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])  AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])
477    config_have_arts="no"
478    if test $have_arts = "1"; then
479        config_have_arts="yes"
480    fi
481    
482    # ASIO AUDIO (Win32)
483    AC_ARG_ENABLE(asiosdk-dir,
484      [  --enable-asiosdk-dir
485                              Directory where the ASIO SDK is located, this automatically
486                              enables the compilation of the ASIO audio output driver.],
487      [config_asiosdk_dir="${enableval}"],
488      [config_asiosdk_dir="."]
489    )
490    AC_SUBST(config_asiosdk_dir)
491    
492    AC_ARG_ENABLE(asio-driver,
493      [  --disable-asio-driver
494                              Disable support for the Windows ASIO driver.],
495      [config_asio_driver="$enableval"],
496      [config_asio_driver="yes"]
497    )
498    have_asio=0
499    ASIOSDK_BASEDIR=
500    if test "$config_asio_driver" = "yes"; then
501        asiosdk_headerfile=$config_asiosdk_dir/ASIOSDK2/common/asio.h
502        echo -n "checking for ASIO headerfile: $asiosdk_headerfile ...."
503        if test -e $asiosdk_headerfile ; then
504            echo yes
505            have_asio=1
506            ASIOSDK_BASEDIR="$config_asiosdk_dir"
507        else
508            echo no
509            have_asio=0
510        fi
511        if test "$have_asio" = "1"; then
512            have_audio_output_driver="true"
513        fi
514    else
515        echo "Windows ASIO support disabled by configure script parameter"
516    fi
517    AC_SUBST(ASIOSDK_BASEDIR)
518    AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
519    AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.])
520    config_have_asio="no"
521    if test $have_asio = "1"; then
522        config_have_asio="yes"
523    fi
524    
525  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
526  AC_ARG_ENABLE(midishare-driver,  AC_ARG_ENABLE(midishare-driver,
527    [  --disable-midishare-driver    [  --disable-midishare-driver
528                            Disable support for the MidiShare system.],                            Disable support for the MidiShare system.],
529    [config_midishare_driver="no"],    [config_midishare_driver="$enableval"],
530    [config_midishare_driver="yes"]    [config_midishare_driver="yes"]
531  )  )
532  have_midishare=0  have_midishare=0
# Line 272  else Line 547  else
547  fi  fi
548  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
549  AC_DEFINE_UNQUOTED(HAVE_MIDISHARE,$have_midishare,[Define to 1 if you have MidiShare installed.])  AC_DEFINE_UNQUOTED(HAVE_MIDISHARE,$have_midishare,[Define to 1 if you have MidiShare installed.])
550    config_have_midishare="no"
551    if test $have_midishare = "1"; then
552        config_have_midishare="yes"
553    fi
554    
555  # CoreMIDI (OS X)  # CoreMIDI (OS X)
556  AC_ARG_ENABLE(coremidi-driver,  AC_ARG_ENABLE(coremidi-driver,
557    [  --disable-coremidi-driver    [  --disable-coremidi-driver
558                            Disable support for the Apple CoreMIDI system.],                            Disable support for the Apple CoreMIDI system.],
559    [config_coremidi_driver="no"],    [config_coremidi_driver="$enableval"],
560    [config_coremidi_driver="yes"]    [config_coremidi_driver="yes"]
561  )  )
562  have_coremidi=0  have_coremidi=0
# Line 294  else Line 573  else
573  fi  fi
574  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
575  AC_DEFINE_UNQUOTED(HAVE_COREMIDI,$have_coremidi,[Define to 1 if you have CoreMIDI installed.])  AC_DEFINE_UNQUOTED(HAVE_COREMIDI,$have_coremidi,[Define to 1 if you have CoreMIDI installed.])
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  # Check presence of libgig
709  libgig_version="3.1.1"  libgig_version="4.2.0"
710  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)
711  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
712      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 308  fi Line 718  fi
718  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
719  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
720    
721  # Check presence of sqlite3  # SF2 Engine (requires libgig)
722  sqlite_version="3.3"  AC_ARG_ENABLE(sf2-engine,
723  PKG_CHECK_MODULES(SQLITE3, sqlite3 >= $sqlite_version, HAVE_SQLITE3=true, HAVE_SQLITE3=false)    [  --disable-sf2-engine
724  AC_SUBST(SQLITE3_LIBS)                            Disable compilation of the SF2 engine.
725  AC_SUBST(SQLITE3_CFLAGS)                            You need to have libgig installed.],
726  if test $HAVE_SQLITE3 = false; then    [config_sf2_engine="$enableval"],
727      HAVE_SQLITE3=0;    [config_sf2_engine="yes"]
728      instruments_db_support="no"  )
729      echo "*** Required sqlite version not found!"  HAVE_SF2=0;
730      echo "*** You need to have sqlite version ${sqlite_version} or higher"  if test "$config_sf2_engine" = "yes"; then
731      echo "*** for instruments database support to be enabled."      HAVE_SF2=1
     echo "*** Support for instruments DB will be disabled!"  
732  else  else
733      HAVE_SQLITE3=1      echo "SF2 engine disabled by configure script parameter"
734      instruments_db_support="yes"  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  fi
 AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)  
 AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you have SQLITE3 installed.])  
741    
742  if test "$have_midi_input_driver" = "false"; then  # Check presence of libsndfile
743      echo "No supported MIDI input system found!"  libsndfile_version="1.0"
744      echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"  PKG_CHECK_MODULES(SNDFILE, sndfile >= $libsndfile_version, HAVE_SNDFILE=true, HAVE_SNDFILE=false)
745      echo "ALSA, MIDIShare, CoreMIDI."  if test "$HAVE_SNDFILE" = "false"; then
746      echo "If you think you have one of those available on your system, make sure you"      echo "Required libsndfile version not found!"
747      echo "also have the respective development (header) files installed."      echo "You need to have libsndfile version ${libsndfile_version} installed!"
748      exit -1;      exit -1;
749    else
750        echo "yes, found libsndfile $libsndfile_version"
751  fi  fi
752  if test "$have_audio_output_driver" = "false"; then  AC_SUBST(SNDFILE_CFLAGS)
753      echo "No supported audio output system found!"  AC_SUBST(SNDFILE_LIBS)
754      echo "Sorry, LinuxSampler only supports ALSA and JACK as audio output driver at the moment!"  
755      exit -1;  # 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  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  ###########################################################################  ###########################################################################
# Line 348  fi Line 805  fi
805  # TODO: should we use AC_ARG_VAR(variable, description) instead?  # TODO: should we use AC_ARG_VAR(variable, description) instead?
806    
807  AC_ARG_ENABLE(asm,  AC_ARG_ENABLE(asm,
808    [  --enable-asm    [  --disable-asm
809                            Enable hand-crafted assembly optimizations                            Enable hand-crafted assembly optimizations
810                            (default=off). LinuxSampler provides CPU specific                            (default=on). LinuxSampler provides CPU specific
811                            assembly optimizations for the most important                            assembly optimizations. This is currently limited
812                            synthesis algorithms. This is currently disabled                            to just enter a fast (denormal) FPU mode on x86
813                            by default since current asm code is broken.],                            platforms. There are currently no synthesis core
814    [config_asm="yes"],                            assembly optimizations anymore since LS 0.4.0],
815    [config_asm="no"]    [config_asm="$enableval"],
816      [config_asm="yes"]
817  )  )
818  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
819    AC_DEFINE_UNQUOTED(CONFIG_ASM, 1, [Define to 1 if you want to enable hand-crafted asm optimizations.])    AC_DEFINE_UNQUOTED(CONFIG_ASM, 1, [Define to 1 if you want to enable asm optimizations.])
820  fi  fi
821    
822  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
823    [  --disable-dev-mode    [  --enable-dev-mode
824                            Disable development mode (default=on). In that mode                            Enable development mode (default=off). In that mode
825                            we do some extra sanity checks here and there.                            we do some extra sanity checks here and there.
826                            This helps to spot possible problems, but reduces                            This helps to spot possible problems, but reduces
827                            efficiency a bit],                            efficiency a bit],
828    [config_dev_mode="no"],    [config_dev_mode="$enableval"],
829    [config_dev_mode="yes"]    [config_dev_mode="no"]
830  )  )
831  if test "$config_dev_mode" = "yes"; then  if test "$config_dev_mode" = "yes"; then
832    AC_DEFINE_UNQUOTED(CONFIG_DEVMODE, 1, [Define to 1 if you want to enable development mode.])    AC_DEFINE_UNQUOTED(CONFIG_DEVMODE, 1, [Define to 1 if you want to enable development mode.])
# Line 395  AC_ARG_ENABLE(rt-exceptions, Line 853  AC_ARG_ENABLE(rt-exceptions,
853                            context as well. Otherwise if disabled                            context as well. Otherwise if disabled
854                            segmentation faults will be forced by the                            segmentation faults will be forced by the
855                            application on critical errors.],                            application on critical errors.],
856    [config_rt_exceptions="yes"],    [config_rt_exceptions="$enableval"],
857    [config_rt_exceptions="no"]    [config_rt_exceptions="no"]
858  )  )
859  if test "$config_rt_exceptions" = "yes"; then  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.])    AC_DEFINE_UNQUOTED(CONFIG_RT_EXCEPTIONS, 1, [Define to 1 to allow exceptions in the realtime context.])
861  fi  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,  AC_ARG_ENABLE(preload-samples,
872    [  --enable-preload-samples    [  --enable-preload-samples
873                            Due to seeking and latency issues with hard drives                            Due to seeking and latency issues with hard drives
# Line 507  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_ Line 973  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_
973    
974  AC_ARG_ENABLE(max-streams,  AC_ARG_ENABLE(max-streams,
975    [  --enable-max-streams    [  --enable-max-streams
976                            Maximum amount of disk streams (default=90). This                            Initial maximum amount of disk streams
977                            value should always be higher than the maximum                            (default=90). This value can be changed at
978                            amount of voices.],                            runtime. It should always be higher than the
979                              maximum amount of voices.],
980    [config_max_streams="${enableval}"],    [config_max_streams="${enableval}"],
981    [config_max_streams="90"]    [config_max_streams="90"]
982  )  )
983  AC_DEFINE_UNQUOTED(CONFIG_MAX_STREAMS, $config_max_streams, [Define max. streams.])  AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_MAX_STREAMS, $config_max_streams, [Define initial max. streams.])
984    
985  AC_ARG_ENABLE(max-voices,  AC_ARG_ENABLE(max-voices,
986    [  --enable-max-voices    [  --enable-max-voices
987                            Maximum amount of voices (default=64). This value                            Initial maximum amount of voices (default=64).
988                            should always be lower than the maximum amount of                            This value can be changed at runtime. It should
989                            disk streams.],                            always be lower than the maximum amount of disk
990                              streams.],
991    [config_max_voices="${enableval}"],    [config_max_voices="${enableval}"],
992    [config_max_voices="64"]    [config_max_voices="64"]
993  )  )
994  AC_DEFINE_UNQUOTED(CONFIG_MAX_VOICES, $config_max_voices, [Define max. voices.])  AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_MAX_VOICES, $config_max_voices, [Define initial max. voices.])
995    
996  AC_ARG_ENABLE(subfragment-size,  AC_ARG_ENABLE(subfragment-size,
997    [  --enable-subfragment-size    [  --enable-subfragment-size
# Line 589  AC_ARG_ENABLE(force-filter, Line 1057  AC_ARG_ENABLE(force-filter,
1057                            If enabled will force filter to be used even if                            If enabled will force filter to be used even if
1058                            no usage was define in instrument patch files.                            no usage was define in instrument patch files.
1059                            (default=no).],                            (default=no).],
1060    [config_force_filter="yes"],    [config_force_filter="$enableval"],
1061    [config_force_filter="no"]    [config_force_filter="no"]
1062  )  )
1063  if test "$config_force_filter" = "yes"; then  if test "$config_force_filter" = "yes"; then
# Line 679  AC_ARG_ENABLE(gs-checksum, Line 1147  AC_ARG_ENABLE(gs-checksum,
1147                            messages which do not provide a correct checksum                            messages which do not provide a correct checksum
1148                            will be ignored. This is disabled by default as                            will be ignored. This is disabled by default as
1149                            not all devices honor GS checksums.],                            not all devices honor GS checksums.],
1150    [config_assert_gs_sysex_checksum="yes"],    [config_assert_gs_sysex_checksum="$enableval"],
1151    [config_assert_gs_sysex_checksum="no"]    [config_assert_gs_sysex_checksum="no"]
1152  )  )
1153  if test "config_assert_gs_sysex_checksum" = "yes"; then  if test "config_assert_gs_sysex_checksum" = "yes"; then
# Line 725  AC_ARG_ENABLE(signed-triang-algo, Line 1193  AC_ARG_ENABLE(signed-triang-algo,
1193                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1194                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1195                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1196                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1197                              diharmonic:                              diharmonic:
1198                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1199                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 760  AC_ARG_ENABLE(unsigned-triang-algo, Line 1227  AC_ARG_ENABLE(unsigned-triang-algo,
1227                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1228                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1229                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1230                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1231                              diharmonic:                              diharmonic:
1232                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1233                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 792  AC_ARG_ENABLE(process-muted-channels, Line 1258  AC_ARG_ENABLE(process-muted-channels,
1258                            will not discard notes, triggered in mute mode,                            will not discard notes, triggered in mute mode,
1259                            when the channel is unmuted. But also will reduce                            when the channel is unmuted. But also will reduce
1260                            the efficiency.],                            the efficiency.],
1261    [config_process_muted_channels="yes"],    [config_process_muted_channels="$enableval"],
1262    [config_process_muted_channels="no"]    [config_process_muted_channels="no"]
1263  )  )
1264  if test "$config_process_muted_channels" = "yes"; then  if test "$config_process_muted_channels" = "yes"; then
# Line 806  AC_ARG_ENABLE(process-all-notes-off, Line 1272  AC_ARG_ENABLE(process-all-notes-off,
1272                            all voices whenever it receives an All-Notes-Off                            all voices whenever it receives an All-Notes-Off
1273                            MIDI message. You can disable this behavior, so                            MIDI message. You can disable this behavior, so
1274                            that LS simply ignores such messages.],                            that LS simply ignores such messages.],
1275    [config_process_all_notes_off="no"],    [config_process_all_notes_off="$enableval"],
1276    [config_process_all_notes_off="yes"]    [config_process_all_notes_off="yes"]
1277  )  )
1278  if test "$config_process_all_notes_off" = "yes"; then  if test "$config_process_all_notes_off" = "yes"; then
# Line 820  AC_ARG_ENABLE(interpolate-volume, Line 1286  AC_ARG_ENABLE(interpolate-volume,
1286                            generated by for example the envelope generator                            generated by for example the envelope generator
1287                            will be smoother, minimizing the risk for audio                            will be smoother, minimizing the risk for audio
1288                            clicks. Disable it to reduce CPU usage.],                            clicks. Disable it to reduce CPU usage.],
1289    [config_interpolate_volume="no"],    [config_interpolate_volume="$enableval"],
1290    [config_interpolate_volume="yes"]    [config_interpolate_volume="yes"]
1291  )  )
1292  if test "$config_interpolate_volume" = "yes"; then  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.])    AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])
1294  fi  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)  # Automatic Benchmarks (to detect the best algorithms for the system)
1345    
 AC_LANG_SAVE  
   
1346  if test "$config_signed_triang_algo" = "benchmark"; then  if test "$config_signed_triang_algo" = "benchmark"; then
1347      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1348      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1349      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1350              #define SIGNED 1              #define SIGNED 1
1351              #define SILENT 1              #define SILENT 1
1352              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1353          ],          ]])],
1354          triang_signed=0,          triang_signed=0,
1355          triang_signed=$?,          triang_signed=$?,
1356          triang_signed=0          triang_signed=0
1357      )      )
1358        AC_LANG_POP([C++])
1359      if test "$triang_signed" = "2"; then      if test "$triang_signed" = "2"; then
1360          config_signed_triang_algo="intmath"          config_signed_triang_algo="intmath"
1361          echo "integer math"          echo "integer math"
# Line 875  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ Line 1386  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_
1386    
1387  if test "$config_unsigned_triang_algo" = "benchmark"; then  if test "$config_unsigned_triang_algo" = "benchmark"; then
1388      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1389      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1390      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1391              #define SIGNED 0              #define SIGNED 0
1392              #define SILENT 1              #define SILENT 1
1393              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1394          ],          ]])],
1395          triang_unsigned=0,          triang_unsigned=0,
1396          triang_unsigned=$?,          triang_unsigned=$?,
1397          triang_unsigned=0          triang_unsigned=0
1398      )      )
1399        AC_LANG_POP([C++])
1400      if test "$triang_unsigned" = "2"; then      if test "$triang_unsigned" = "2"; then
1401          config_unsigned_triang_algo="intmath"          config_unsigned_triang_algo="intmath"
1402          echo "integer math"          echo "integer math"
# Line 913  else Line 1425  else
1425  fi  fi
1426  AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, ${triang_unsigned}, [Define unsigned triangular wave algorithm to be used.])  AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, ${triang_unsigned}, [Define unsigned triangular wave algorithm to be used.])
1427    
 AC_LANG_RESTORE  
   
1428    
1429  ###########################################################################  ###########################################################################
1430  # Create Build Files  # Create Build Files
1431    
1432  AM_CONFIG_HEADER(config.h)  AC_CONFIG_HEADERS([config.h])
 AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")  
1433    
1434  AC_LANG_CPLUSPLUS  AC_LANG([C++])
 AC_PROG_CXX  
   
 # some gcc 4.0 versions need -msse for SSE register allocations  
 if test "$config_asm" = "yes"; then  
   if test "$def_arch_x86" = 1; then  
     CXXFLAGS="$CXXFLAGS -msse"  
   fi  
 fi  
1435    
1436  # 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
1437  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
1438  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
1439    
1440  AC_OUTPUT( \  AC_CONFIG_FILES([\
1441      Makefile \      Makefile \
1442      man/Makefile \      man/Makefile \
1443      man/linuxsampler.1 \      man/linuxsampler.1 \
1444        man/lscp.1 \
1445      src/Makefile \      src/Makefile \
1446      src/db/Makefile \      src/db/Makefile \
1447      src/network/Makefile \      src/network/Makefile \
1448      src/engines/Makefile \      src/engines/Makefile \
1449      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1450        src/engines/sf2/Makefile \
1451        src/engines/sfz/Makefile \
1452      src/engines/common/Makefile \      src/engines/common/Makefile \
1453      src/common/Makefile src/lib/Makefile \      src/effects/Makefile \
1454      src/lib/fileloader/Makefile \      src/common/Makefile \
     src/lib/fileloader/libgig/Makefile \  
1455      src/testcases/Makefile \      src/testcases/Makefile \
1456      src/drivers/Makefile \      src/drivers/Makefile \
1457      src/drivers/audio/Makefile \      src/drivers/audio/Makefile \
1458      src/drivers/midi/Makefile \      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 \      linuxsampler.spec \
1470      debian/Makefile \      debian/Makefile \
1471      Artwork/Makefile \      Artwork/Makefile \
# Line 964  AC_OUTPUT( \ Line 1477  AC_OUTPUT( \
1477      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
1478      linuxsampler.pc \      linuxsampler.pc \
1479      Doxyfile \      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  ###########################################################################  ###########################################################################
# Line 974  echo "" Line 1494  echo ""
1494  echo "#####################################################################"  echo "#####################################################################"
1495  echo "# LinuxSampler Configuration                                        #"  echo "# LinuxSampler Configuration                                        #"
1496  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1497    echo "# Release Version: ${VERSION}"
1498    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1499    echo "#-------------------------------------------------------------------"
1500  echo "# Assembly Optimizations: ${config_asm}"  echo "# Assembly Optimizations: ${config_asm}"
1501  echo "# Development Mode: ${config_dev_mode}"  echo "# Development Mode: ${config_dev_mode}"
1502  echo "# Debug Level: ${config_debug_level}"  echo "# Debug Level: ${config_debug_level}"
# Line 987  echo "# Streams to be refilled per Disk Line 1510  echo "# Streams to be refilled per Disk
1510  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1511  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1512  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
1513  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Default Maximum Disk Streams: ${config_max_streams}"
1514  echo "# Maximum Voices: ${config_max_voices}"  echo "# Default Maximum Voices: ${config_max_voices}"
1515  echo "# Default Subfragment Size: ${config_subfragment_size}"  echo "# Default Subfragment Size: ${config_subfragment_size}"
1516  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1517  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
# Line 1007  echo "# Override Filter Type: ${config_o Line 1530  echo "# Override Filter Type: ${config_o
1530  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1531  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
1532  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"  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}"  echo "# Interpolate Volume: ${config_interpolate_volume}"
1535  echo "# Instruments database support: ${instruments_db_support}"  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 "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1556  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
1557  echo "#####################################################################"  echo "#####################################################################"

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

  ViewVC Help
Powered by ViewVC