/[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 726 by schoenebeck, Mon Jul 25 15:13:59 2005 UTC linuxsampler/trunk/configure.ac revision 3615 by schoenebeck, Tue Oct 1 09:49:08 2019 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=3  m4_define(linuxsampler_release_minor, 1)
6  LINUXSAMPLER_RELEASE_BUILD=3  m4_define(linuxsampler_release_build, 1.svn20)
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=3 Line 26  LINUXSAMPLER_RELEASE_BUILD=3
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"
33    
34  AM_PROG_LIBTOOL  #------------------------------------------------------------------------------------
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)  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 59  esac Line 82  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  # determine the right gcc switch for CPU specific optimizations
85    # (only if the user did not provide one)
86  CXX_CPU_SWITCH=  CXX_CPU_SWITCH=
87  if test "$def_arch_x86" = 1; then  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then
88    CXX_CPU_SWITCH="-march=$target_cpu"    if test "$def_arch_x86" = 1 -a "$host_cpu" != "x86_64"; then
89  elif test "$target_cpu" = "powerpc"; then      CXX_CPU_SWITCH="-march=$host_cpu"
90    CXX_CPU_SWITCH="-arch=$target_cpu"    elif test "$target_cpu" = "ppc"; then
91        CXX_CPU_SWITCH="-arch=$host_cpu"
92      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 82  exit(0); /* UNIX98 compatible */ Line 129  exit(0); /* UNIX98 compatible */
129  exit(-1); /* not UNIX98 compatible */  exit(-1); /* not UNIX98 compatible */
130  #endif  #endif
131  }  }
132  ],  ]])],
133  have_unix98="yes",  have_unix98="yes",
134  have_unix98="no",  have_unix98="no",
135  have_unix98="no"  have_unix98="no"
136  )  )
137  AC_LANG_RESTORE  AC_LANG_POP([C])
138  AC_MSG_RESULT([$have_unix98])  AC_MSG_RESULT([$have_unix98])
139  if test "$have_unix98" = "no"; then  if test "$have_unix98" = "no" -a "$have_windows" = "0" -a "$mac" = "no" ; then
140      if test "x$HAVE_UNIX98" = "x"; then      if test "x$HAVE_UNIX98" = "x"; then
141          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"
142          echo "pthread_mutexattr_settype() call in Mutex.cpp. You may want to run          echo "pthread_mutexattr_settype() call in Mutex.cpp. You may want to run"
143          echo "./configure with environment variable HAVE_UNIX98=1 in case you think you          echo "./configure with environment variable HAVE_UNIX98=1 in case you think you"
144          echo "have a UNIX98 compatible system."          echo "have a UNIX98 compatible system."
145          exit -1;          exit -1;
146      fi      fi
147  fi  fi
148    
149    # check for <features.h>
150    AC_CHECK_HEADERS(features.h)
151    
152    # test for POSIX thread library
153    m4_ifdef([m4_include(m4/pthread.m4)],,
154                 [sinclude([m4/pthread.m4])])
155    ACX_PTHREAD
156    LIBS="$PTHREAD_LIBS $LIBS"
157    CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
158    CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
159    CC="$PTHREAD_CC"
160    
161    
162    # check for compiler's pragma diagnostic capabilities
163    m4_ifdef([m4_include(m4/pragma_diagnostics.m4)],,
164                 [sinclude([m4/pragma_diagnostics.m4])])
165    ACX_CXX_PRAGMA_DIAGNOSTICS
166    
167    
168    # check for a bug in NPTL-enabled glibc
169    # (see Gentoo bug report #194076)
170    AC_ARG_ENABLE(nptl-bug-check,
171      [  --disable-nptl-bug-check
172                              Disable check for a bug in certain NPTL-enabled
173                              glibc versions that caused crashs.],
174      [config_check_nptl_bug="$enableval"],
175      [config_check_nptl_bug="yes"]
176    )
177    if test "$config_check_nptl_bug" = "yes"; then
178        m4_ifdef([m4_include(m4/nptl_bug.m4)],,
179                 [sinclude([m4/nptl_bug.m4])])
180        ACX_NPTL_GLIBC_BUG([
181            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
182            echo "You seem to have a buggy PTHREAD library! LinuxSampler would"
183            echo "probably crash due to this. Please report us the system you are"
184            echo "using and/or file a bug report to the bug tracking system of"
185            echo "your distribution."
186            echo "If you have a NPTL-enabled glibc AND it was compiled for TLS as"
187            echo "well, you can try to circumvent this problem for now by setting"
188            echo "the environment variable LD_ASSUME_KERNEL=\"2.4.1\" , which"
189            echo "should cause this test to pass."
190            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
191            AC_MSG_ERROR([possibly NPTL glibc bug detected])
192        ])
193    else
194        echo "NPTL glibc bug check disabled"
195    fi
196    
197    
198    # In case Bison is available, determine the exact version, since we need to
199    # use different custom parser code for Bison 2.x vs. Bison 3.x generated
200    # parser yacc tables.
201    if echo "$YACC" | grep -q bison; then
202        # NOTE: m4 removes [], that's why it needs to be escaped
203        bison_version=[`$YACC --version | head -n 1 | sed -e 's/[^0-9.]*\([-0-9.]\+\)$/\1/'`]
204        bison_version_major=`echo $bison_version | cut -d. -f1`
205        bison_version_minor=`echo $bison_version | cut -d. -f2`
206        AC_DEFINE_UNQUOTED(HAVE_BISON_MAJ,$bison_version_major,[Define to the major version of the GNU Bison program installed.])
207        AC_DEFINE_UNQUOTED(HAVE_BISON_MIN,$bison_version_minor,[Define to the minor version of the GNU Bison program installed.])
208    fi
209    
210    
211    
212    ###########################################################################
213  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
214  # (we throw an error if there's not at least one system for audio output and MIDI input available)  # (we throw an error if there's not at least one system for audio output and MIDI input available)
215    
216  have_midi_input_driver="false"  have_midi_input_driver="false"
217  have_audio_output_driver="false"  have_audio_output_driver="false"
218    
219  AC_CHECK_HEADER(alsa/asoundlib.h,  # ALSA
220      AC_CHECK_LIB(asound, main,  AC_ARG_ENABLE(alsa-driver,
221                               have_alsa=1    [  --disable-alsa-driver
222                               ,                            Disable support for the Advanced Linux Sound
223                               have_alsa=0                            Architecture (ALSA).],
224                  )    [config_alsa_driver="$enableval"],
225                  ,    [config_alsa_driver="yes"]
226                  have_alsa=0  )
227  )  have_alsa=0
228  if test "$have_alsa" = "1"; then  if test "$config_alsa_driver" = "yes"; then
229      have_midi_input_driver="true"      AC_CHECK_HEADER(alsa/asoundlib.h,
230      have_audio_output_driver="true";          AC_CHECK_LIB(asound, main,
231                                     have_alsa=1
232                                     ,
233                                     have_alsa=0
234                        )
235                        ,
236                        have_alsa=0
237        )
238        if test "$have_alsa" = "1"; then
239            have_midi_input_driver="true"
240            have_audio_output_driver="true";
241        fi
242    
243        echo -n "checking Alsa version... "
244        AC_LANG_PUSH([C])
245        AC_RUN_IFELSE([AC_LANG_SOURCE([[
246            #include <alsa/asoundlib.h>
247            void main(void) {
248                /* ensure backward compatibility */
249                #if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR)
250                #define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR
251                #endif
252                exit(SND_LIB_MAJOR);
253            }
254        ]])],
255        alsa_major=0,
256        alsa_major=$?,
257        alsa_major=0
258        )
259        AC_RUN_IFELSE([AC_LANG_SOURCE([[
260            #include <alsa/asoundlib.h>
261            void main(void) {
262                /* ensure backward compatibility */
263                #if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)
264                #define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR
265                #endif
266                exit(SND_LIB_MINOR);
267            }
268        ]])],
269        alsa_minor=0,
270        alsa_minor=$?,
271        alsa_minor=0
272        )
273        AC_RUN_IFELSE([AC_LANG_SOURCE([[
274            #include <alsa/asoundlib.h>
275            void main(void) {
276                /* ensure backward compatibility */
277                #if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR)
278                #define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR
279                #endif
280                exit(SND_LIB_SUBMINOR);
281            }
282        ]])],
283        alsa_subminor=0,
284        alsa_subminor=$?,
285        alsa_subminor=0
286        )
287        AC_LANG_POP([C])
288        echo "$alsa_major.$alsa_minor.$alsa_subminor";
289        AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])
290        AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])
291        AC_DEFINE_UNQUOTED(ALSA_SUBMINOR,$alsa_subminor,[Define to the subminor version number of your Alsa installation.])
292    else
293        echo "ALSA support disabled by configure script parameter"
294  fi  fi
295  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
296  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.])
297    config_have_alsa="no"
298  echo -n "checking Alsa version... "  if test $have_alsa = "1"; then
299  AC_LANG_SAVE      config_have_alsa="yes"
300  AC_LANG_C  fi
 AC_TRY_RUN([  
 #include <alsa/asoundlib.h>  
 void main(void) {  
 /* 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  
 )  
 AC_TRY_RUN([  
 #include <alsa/asoundlib.h>  
 void main(void) {  
 /* ensure backward compatibility */  
 #if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)  
 #define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR  
 #endif  
 exit(SND_LIB_MINOR);  
 }  
 ],  
 alsa_minor=0,  
 alsa_minor=$?,  
 alsa_minor=0  
 )  
 AC_TRY_RUN([  
 #include <alsa/asoundlib.h>  
 void main(void) {  
 /* ensure backward compatibility */  
 #if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR)  
 #define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR  
 #endif  
 exit(SND_LIB_SUBMINOR);  
 }  
 ],  
 alsa_subminor=0,  
 alsa_subminor=$?,  
 alsa_subminor=0  
 )  
 AC_LANG_RESTORE  
 echo "$alsa_major.$alsa_minor.$alsa_subminor";  
 AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])  
 AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])  
 AC_DEFINE_UNQUOTED(ALSA_SUBMINOR,$alsa_subminor,[Define to the subminor version number of your Alsa installation.])  
301    
302  # JACK  # JACK
303  PKG_CHECK_MODULES(JACK, jack, HAVE_JACK=true, HAVE_JACK=false)  AC_ARG_ENABLE(jack-driver,
304  AC_SUBST(JACK_LIBS)    [  --disable-jack-driver
305  AC_SUBST(JACK_CFLAGS)                            Disable support for the Jack Audio Connection Kit
306  if test $HAVE_JACK = false; then                            (JACK).],
307      HAVE_JACK=0;    [config_jack_driver="$enableval"],
308  else    [config_jack_driver="yes"]
309      HAVE_JACK=1  )
310      have_audio_output_driver="true";  have_jack=0
311      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)  if test "$config_jack_driver" = "yes"; then
312        PKG_CHECK_MODULES(JACK, jack, have_jack=1, have_jack=0)
313        if test $have_jack = "1"; then
314            AC_SUBST(JACK_LIBS)
315            AC_SUBST(JACK_CFLAGS)
316            linuxsampler_save_LIBS=$LIBS
317            LIBS="$JACK_LIBS $LIBS"
318            AC_CHECK_FUNCS(jack_client_name_size jack_client_open \
319                           jack_on_info_shutdown)
320            LIBS=$linuxsampler_save_LIBS
321            have_audio_output_driver="true";
322        fi
323    else
324        echo "JACK support disabled by configure script parameter"
325    fi
326    AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
327    AC_DEFINE_UNQUOTED(HAVE_JACK,$have_jack,[Define to 1 if you have JACK installed.])
328    config_have_jack="no"
329    if test $have_jack = "1"; then
330        config_have_jack="yes"
331    fi
332    
333    # JACK MIDI
334    have_jack_midi=0
335    if test $have_jack = "1"; then
336        linuxsampler_save_CFLAGS=$CFLAGS
337        linuxsampler_save_LIBS=$LIBS
338        CFLAGS="$JACK_CFLAGS $CFLAGS"
339        LIBS="$JACK_LIBS $LIBS"
340        AC_CHECK_HEADER(jack/midiport.h, have_jack_midi=1, have_jack_midi=0)
341        if test $have_jack_midi = "1"; then
342            AC_CHECK_FUNCS(jack_midi_get_event_count)
343            AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jack/midiport.h>]], [[
344                jack_midi_clear_buffer(0, 0);
345            ]])], [AC_DEFINE(JACK_MIDI_FUNCS_NEED_NFRAMES, 1,
346                      [Define to 1 if you have the old jack midi functions that need an nframes argument.])])
347            have_midi_input_driver="true"
348        fi
349        CFLAGS=$linuxsampler_save_CFLAGS
350        LIBS=$linuxsampler_save_LIBS
351    fi
352    AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")
353    AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,
354                       [Define to 1 if you have JACK with MIDI support installed.])
355    config_have_jack_midi="no"
356    if test $have_jack_midi = "1"; then
357        config_have_jack_midi="yes"
358    fi
359    
360    # ARTS
361    AC_ARG_ENABLE(arts-driver,
362      [  --disable-arts-driver
363                              Disable support for the Analogue Realtime System
364                              (aRts).],
365      [config_arts_driver="$enableval"],
366      [config_arts_driver="yes"]
367    )
368    have_arts=0
369    if test "$config_arts_driver" = "yes"; then
370        m4_ifdef([m4_include(m4/arts.m4)],,
371                 [sinclude([m4/arts.m4])])
372        AM_PATH_ARTS(0.9.5, have_arts=1, have_arts=0)
373        if test "$have_arts" = "1"; then
374            have_audio_output_driver="true"
375        fi
376    else
377        echo "ARTS support disabled by configure script parameter"
378    fi
379    AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
380    AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])
381    config_have_arts="no"
382    if test $have_arts = "1"; then
383        config_have_arts="yes"
384    fi
385    
386    # ASIO AUDIO (Win32)
387    AC_ARG_ENABLE(asiosdk-dir,
388      [  --enable-asiosdk-dir
389                              Directory where the ASIO SDK is located, this automatically
390                              enables the compilation of the ASIO audio output driver.],
391      [config_asiosdk_dir="${enableval}"],
392      [config_asiosdk_dir="."]
393    )
394    AC_SUBST(config_asiosdk_dir)
395    
396    AC_ARG_ENABLE(asio-driver,
397      [  --disable-asio-driver
398                              Disable support for the Windows ASIO driver.],
399      [config_asio_driver="$enableval"],
400      [config_asio_driver="yes"]
401    )
402    have_asio=0
403    ASIOSDK_BASEDIR=
404    if test "$config_asio_driver" = "yes"; then
405        asiosdk_headerfile=$config_asiosdk_dir/ASIOSDK2/common/asio.h
406        echo -n "checking for ASIO headerfile: $asiosdk_headerfile ...."
407        if test -e $asiosdk_headerfile ; then
408            echo yes
409            have_asio=1
410            ASIOSDK_BASEDIR="$config_asiosdk_dir"
411        else
412            echo no
413            have_asio=0
414        fi
415        if test "$have_asio" = "1"; then
416            have_audio_output_driver="true"
417        fi
418    else
419        echo "Windows ASIO support disabled by configure script parameter"
420    fi
421    AC_SUBST(ASIOSDK_BASEDIR)
422    AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
423    AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.])
424    config_have_asio="no"
425    if test $have_asio = "1"; then
426        config_have_asio="yes"
427  fi  fi
 AM_CONDITIONAL(HAVE_JACK, test $HAVE_JACK = 1)  
 AC_DEFINE_UNQUOTED(HAVE_JACK,$HAVE_JACK,[Define to 1 if you have JACK installed.])  
428    
429  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
430  AC_CHECK_HEADER(MidiShare.h,  AC_ARG_ENABLE(midishare-driver,
431      AC_CHECK_LIB(MidiShare, MidiCountEvs,    [  --disable-midishare-driver
432                              have_midishare=1,                            Disable support for the MidiShare system.],
433                              have_midishare=0    [config_midishare_driver="$enableval"],
434                  )    [config_midishare_driver="yes"]
435                  ,  )
436                  have_midishare=0  have_midishare=0
437  )  if test "$config_midishare_driver" = "yes"; then
438  if test "$have_midishare" = "1"; then      AC_CHECK_HEADER(MidiShare.h,
439      have_midi_input_driver="true"          AC_CHECK_LIB(MidiShare, MidiCountEvs,
440                                    have_midishare=1,
441                                    have_midishare=0
442                        )
443                        ,
444                        have_midishare=0
445        )
446        if test "$have_midishare" = "1"; then
447            have_midi_input_driver="true"
448        fi
449    else
450        echo "MidiShare support disabled by configure script parameter"
451  fi  fi
452  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
453  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.])
454    config_have_midishare="no"
455    if test $have_midishare = "1"; then
456        config_have_midishare="yes"
457    fi
458    
459  # CoreMIDI (OS X)  # CoreMIDI (OS X)
460  AC_CHECK_HEADER(CoreMIDI/CoreMIDI.h,  AC_ARG_ENABLE(coremidi-driver,
461                  have_coremidi=1,    [  --disable-coremidi-driver
462                  have_coremidi=0                            Disable support for the Apple CoreMIDI system.],
463  )    [config_coremidi_driver="$enableval"],
464  if test "$have_coremidi" = "1"; then    [config_coremidi_driver="yes"]
465      have_midi_input_driver="true"  )
466    have_coremidi=0
467    if test "$config_coremidi_driver" = "yes"; then
468        AC_CHECK_HEADER(CoreMIDI/CoreMIDI.h,
469            have_coremidi=1,
470            have_coremidi=0
471        )
472        if test "$have_coremidi" = "1"; then
473            have_midi_input_driver="true"
474        fi
475    else
476        echo "CoreMIDI support disabled by configure script parameter"
477  fi  fi
478  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
479  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.])
480    config_have_coremidi="no"
481    if test $have_coremidi = "1"; then
482        config_have_coremidi="yes"
483    fi
484    
485    # CoreAudio (OS X)
486    AC_ARG_ENABLE(coreaudio-driver,
487      [  --disable-coreaudio-driver
488                              Disable support for the Apple CoreAudio system.],
489      [config_coreaudio_driver="$enableval"],
490      [config_coreaudio_driver="yes"]
491    )
492    have_coreaudio=0
493    if test "$config_coreaudio_driver" = "yes"; then
494        AC_CHECK_HEADER(CoreAudio/CoreAudio.h,
495            have_coreaudio=1,
496            have_coreaudio=0
497        )
498        if test "$have_coreaudio" = "1"; then
499            have_audio_output_driver="true"
500        fi
501    else
502        echo "CoreAudio support disabled by configure script parameter"
503    fi
504    AM_CONDITIONAL(HAVE_COREAUDIO, test $have_coreaudio = "1")
505    AC_DEFINE_UNQUOTED(HAVE_COREAUDIO,$have_coreaudio,[Define to 1 if you have CoreAudio installed.])
506    config_have_coreaudio="no"
507    if test $have_coreaudio = "1"; then
508        config_have_coreaudio="yes"
509    fi
510    
511    # MME MIDI (Win32)
512    AC_ARG_ENABLE(mmemidi-driver,
513      [  --disable-mmemidi-driver
514                              Disable support for the Windows MME MIDI system.],
515      [config_mmemidi_driver="$enableval"],
516      [config_mmemidi_driver="yes"]
517    )
518    have_mmemidi=0
519    if test "$config_mmemidi_driver" = "yes"; then
520        AC_CHECK_HEADERS(mmsystem.h,
521            have_mmemidi=1,
522            have_mmemidi=0
523        )
524        if test "$have_mmemidi" = "1"; then
525            have_midi_input_driver="true"
526        fi
527    else
528        echo "MME MIDI support disabled by configure script parameter"
529    fi
530    AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")
531    AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.])
532    config_have_mme="no"
533    if test $have_mmemidi = "1"; then
534        config_have_mme="yes"
535    fi
536    
537    # DSSI
538    AC_CHECK_HEADERS(dssi.h,
539            config_have_dssi="yes",
540            config_have_dssi="no")
541    AM_CONDITIONAL(HAVE_DSSI, test $config_have_dssi = "yes")
542    
543    # LV2
544    PKG_CHECK_MODULES(LV2, lv2 >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
545    if test "$config_have_lv2" != "yes"; then
546        PKG_CHECK_MODULES(LV2, lv2core >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
547    fi
548    AC_SUBST(LV2_CFLAGS)
549    AC_SUBST(LV2_LIBS)
550    AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")
551    
552    # VST
553    AC_ARG_ENABLE(vstsdk-dir,
554      [  --enable-vstsdk-dir
555                              Directory where the VST SDK is located.
556                              This automatically enables the compilation
557                              of the VST plugin.],
558      [VSTSDK_DIR="${enableval}"],
559      [VSTSDK_DIR=]
560    )
561    AC_SUBST(VSTSDK_DIR)
562    AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")
563    config_have_vst="no"
564    if test "x$VSTSDK_DIR" != "x"; then
565        config_have_vst="yes"
566    fi
567    
568    # AU
569    AC_CHECK_HEADERS(AudioUnit/AudioUnit.h,
570            config_have_au="yes",
571            config_have_au="no")
572    AM_CONDITIONAL(HAVE_AU, test $config_have_au = "yes")
573    AM_CONDITIONAL(HAVE_AUFLAGS, test "$AUFLAGS" != "")
574    
575    if test $config_have_au = "yes" ; then
576        if test "x$DEVELOPER_EXTRAS_DIR" = "x" ; then
577            if test -d /Developer/Extras ; then
578                DEVELOPER_EXTRAS_DIR=/Developer/Extras
579            else      
580                DEVELOPER_EXTRAS_DIR=/Developer/Examples
581            fi
582        fi
583        AC_SUBST(DEVELOPER_EXTRAS_DIR)
584    fi
585    
586    if test "x$MAC_PLUGIN_INSTALL_DIR" = "x" ; then
587        MAC_PLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins
588    fi
589    AC_SUBST(MAC_PLUGIN_INSTALL_DIR)
590    
591    # have we found at least one MIDI input and one audio output driver ?
592    if test "$have_midi_input_driver" = "false"; then
593        echo "No supported MIDI input system found!"
594        echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
595        echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
596        echo "If you think you have one of those available on your system, make sure you"
597        echo "also have the respective development (header) files installed."
598        exit -1;
599    fi
600    if test "$have_audio_output_driver" = "false"; then
601        echo "No supported audio output system found!"
602        echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
603        echo "driver at the moment!"
604        exit -1;
605    fi
606    
607    
608    
609    ###########################################################################
610    # Checks for various DLL libraries
611    
612  # Check presence of libgig  # Check presence of libgig
613  libgig_version="2.0.1"  libgig_version="4.2.0"
614  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)
615  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
616      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 224  fi Line 622  fi
622  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
623  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
624    
625  # SQLITE3  # SF2 Engine (requires libgig)
626  PKG_CHECK_MODULES(SQLITE3, sqlite3, HAVE_SQLITE3=true, HAVE_SQLITE3=false)  AC_ARG_ENABLE(sf2-engine,
627  AC_SUBST(SQLITE3_LIBS)    [  --disable-sf2-engine
628  AC_SUBST(SQLITE3_CFLAGS)                            Disable compilation of the SF2 engine.
629  if test $HAVE_SQLITE3 = false; then                            You need to have libgig installed.],
630      HAVE_SQLITE3=0;    [config_sf2_engine="$enableval"],
631      echo "no, support for instrument DB will be disabled!"    [config_sf2_engine="yes"]
632    )
633    HAVE_SF2=0;
634    if test "$config_sf2_engine" = "yes"; then
635        HAVE_SF2=1
636  else  else
637      HAVE_SQLITE3=1      echo "SF2 engine disabled by configure script parameter"
638      echo "yes"  fi
639    AM_CONDITIONAL(HAVE_SF2, test $HAVE_SF2 = 1)
640    AC_DEFINE_UNQUOTED(HAVE_SF2,$HAVE_SF2,[Define to 1 if you want SF2 engine and have libsf2 installed.])
641    config_have_sf2="no"
642    if test $HAVE_SF2 = "1"; then
643        config_have_sf2="yes"
644  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.])  
645    
646  if test "$have_midi_input_driver" = "false"; then  # Check presence of libsndfile
647      echo "No supported MIDI input system found!"  libsndfile_version="1.0"
648      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)
649      echo "ALSA, MIDIShare, CoreMIDI."  if test "$HAVE_SNDFILE" = "false"; then
650      echo "If you think you have one of those available on your system, make sure you"      echo "Required libsndfile version not found!"
651      echo "also have the respective development (header) files installed."      echo "You need to have libsndfile version ${libsndfile_version} installed!"
652      exit -1;      exit -1;
653    else
654        echo "yes, found libsndfile $libsndfile_version"
655  fi  fi
656  if test "$have_audio_output_driver" = "false"; then  AC_SUBST(SNDFILE_CFLAGS)
657      echo "No supported audio output system found!"  AC_SUBST(SNDFILE_LIBS)
658      echo "Sorry, LinuxSampler only supports ALSA and JACK as audio output driver at the moment!"  
659      exit -1;  # Check for Vorbis and FLAC support in libsndfile
660    linuxsampler_save_CFLAGS=$CFLAGS
661    CFLAGS="$SNDFILE_CFLAGS $CFLAGS"
662    AC_CHECK_DECLS([SF_FORMAT_VORBIS, SF_FORMAT_FLAC], [], [], [[#include <sndfile.h>]])
663    
664    # Check for loop functionality in libsndfile
665    AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],,
666                     [AC_MSG_WARN([Your version of libsndfile does not support
667        reading of loop information. LinuxSampler will not be able to
668        extract loop information from sample files.])],
669                     [#include <sndfile.h>])
670    CFLAGS=$linuxsampler_save_CFLAGS
671    
672    # Instruments DB feature (requires SQLite 3.3)
673    AC_ARG_ENABLE(instruments-db,
674      [  --disable-instruments-db
675                              Disable compilation of the sampler's instruments
676                              database feature. You need to have SQLite 3.3
677                              or younger installed for this feature.],
678      [config_instruments_db="$enableval"],
679      [config_instruments_db="yes"]
680    )
681    HAVE_SQLITE3=0;
682    if test "$config_instruments_db" = "yes"; then
683        # Check presence of sqlite3
684        sqlite_version="3.3"
685        PKG_CHECK_MODULES(SQLITE3, sqlite3 >= $sqlite_version, HAVE_SQLITE3=true, HAVE_SQLITE3=false)
686        AC_SUBST(SQLITE3_LIBS)
687        AC_SUBST(SQLITE3_CFLAGS)
688        if test $HAVE_SQLITE3 = false; then
689            HAVE_SQLITE3=0
690            config_instruments_db="no"
691            echo "*** Required sqlite version not found!"
692            echo "*** You need to have sqlite version ${sqlite_version} or higher"
693            echo "*** for instruments database support to be enabled."
694            echo "*** Support for instruments DB will be disabled!"
695        else
696            HAVE_SQLITE3=1
697        fi
698    else
699        echo "Instruments DB feature disabled by configure script parameter"
700  fi  fi
701    AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
702    AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you want the instruments DB feature and have SQLITE3 installed.])
703    
704    
705    
706  ###########################################################################  ###########################################################################
# Line 260  fi Line 710  fi
710    
711  AC_ARG_ENABLE(asm,  AC_ARG_ENABLE(asm,
712    [  --disable-asm    [  --disable-asm
713                            Disable hand-crafted assembly optimizations                            Enable hand-crafted assembly optimizations
714                            (default=on). LinuxSampler provides CPU specific                            (default=on). LinuxSampler provides CPU specific
715                            assembly optimizations for the most important                            assembly optimizations. This is currently limited
716                            synthesis algorithms. You usually don't want to                            to just enter a fast (denormal) FPU mode on x86
717                            disable that.],                            platforms. There are currently no synthesis core
718    [config_asm="no"],                            assembly optimizations anymore since LS 0.4.0],
719      [config_asm="$enableval"],
720    [config_asm="yes"]    [config_asm="yes"]
721  )  )
722  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
723    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.])
724  fi  fi
725    
726  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
727    [  --enable-dev-mode    [  --enable-dev-mode
728                            Enable development mode (default=no). In that mode                            Enable development mode (default=off). In that mode
729                            we do some extra sanity checks here and there.                            we do some extra sanity checks here and there.
730                            This helps to spot possible problems, but reduces                            This helps to spot possible problems, but reduces
731                            efficiency a bit],                            efficiency a bit],
732    [config_dev_mode="yes"],    [config_dev_mode="$enableval"],
733    [config_dev_mode="no"]    [config_dev_mode="no"]
734  )  )
735  if test "$config_dev_mode" = "yes"; then  if test "$config_dev_mode" = "yes"; then
# Line 306  AC_ARG_ENABLE(rt-exceptions, Line 757  AC_ARG_ENABLE(rt-exceptions,
757                            context as well. Otherwise if disabled                            context as well. Otherwise if disabled
758                            segmentation faults will be forced by the                            segmentation faults will be forced by the
759                            application on critical errors.],                            application on critical errors.],
760    [config_rt_exceptions="yes"],    [config_rt_exceptions="$enableval"],
761    [config_rt_exceptions="no"]    [config_rt_exceptions="no"]
762  )  )
763  if test "$config_rt_exceptions" = "yes"; then  if test "$config_rt_exceptions" = "yes"; then
764    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.])
765  fi  fi
766    
767    config_pthread_testcancel="$mac"
768    AC_ARG_ENABLE(pthread-testcancel,
769      [  --enable-pthread-testcancel
770                              Enable pthread_testcancel() calls and avoid
771                              asynchronous cancel of pthreads (default=yes
772                              for Mac targets, no otherwise).],
773      [config_pthread_testcancel="$enableval"],
774      [])
775    if test "$config_pthread_testcancel" = "yes"; then
776      AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])
777    fi
778    
779  AC_ARG_ENABLE(preload-samples,  AC_ARG_ENABLE(preload-samples,
780    [  --enable-preload-samples    [  --enable-preload-samples
781                            Due to seeking and latency issues with hard drives                            Due to seeking and latency issues with hard drives
# Line 418  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_ Line 881  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_
881    
882  AC_ARG_ENABLE(max-streams,  AC_ARG_ENABLE(max-streams,
883    [  --enable-max-streams    [  --enable-max-streams
884                            Maximum amount of disk streams (default=90). This                            Initial maximum amount of disk streams
885                            value should always be higher than the maximum                            (default=90). This value can be changed at
886                            amount of voices.],                            runtime. It should always be higher than the
887                              maximum amount of voices.],
888    [config_max_streams="${enableval}"],    [config_max_streams="${enableval}"],
889    [config_max_streams="90"]    [config_max_streams="90"]
890  )  )
891  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.])
892    
893  AC_ARG_ENABLE(max-voices,  AC_ARG_ENABLE(max-voices,
894    [  --enable-max-voices    [  --enable-max-voices
895                            Maximum amount of voices (default=64). This value                            Initial maximum amount of voices (default=64).
896                            should always be lower than the maximum amount of                            This value can be changed at runtime. It should
897                            disk streams.],                            always be lower than the maximum amount of disk
898                              streams.],
899    [config_max_voices="${enableval}"],    [config_max_voices="${enableval}"],
900    [config_max_voices="64"]    [config_max_voices="64"]
901  )  )
902  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.])
903    
904    AC_ARG_ENABLE(subfragment-size,
905      [  --enable-subfragment-size
906                              Every audio fragment will be splitted into
907                              subfragments. Where each subfragment renders
908                              audio with constant synthesis parameters. This is
909                              done for efficiency reasons. This parameter
910                              defines the default size of a subfragment in
911                              sample points. A large value means less CPU time
912                              whereas a low value means better audio quality
913                              (default=32).],
914      [config_subfragment_size="${enableval}"],
915      [config_subfragment_size="32"]
916    )
917    AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_SUBFRAGMENT_SIZE, $config_subfragment_size, [Define default subfragment size (in sample points).])
918    
919    AC_ARG_ENABLE(global-attenuation-default,
920      [  --enable-global-attenuation-default
921                              To prevent clipping all samples will be lowered
922                              in amplitude by this given default factor (can
923                              be overridden at runtime).
924                              (default=0.35)],
925      [config_global_attenuation_default="${enableval}"],
926      [config_global_attenuation_default="0.35"]
927    )
928    AC_DEFINE_UNQUOTED(CONFIG_GLOBAL_ATTENUATION_DEFAULT, $config_global_attenuation_default, [Define default global volume attenuation (as floating point factor).])
929    
930  AC_ARG_ENABLE(voice-steal-algo,  AC_ARG_ENABLE(voice-steal-algo,
931    [  --enable-voice-steal-algo    [  --enable-voice-steal-algo
# Line 469  AC_ARG_ENABLE(sysex-buffer-size, Line 960  AC_ARG_ENABLE(sysex-buffer-size,
960  )  )
961  AC_DEFINE_UNQUOTED(CONFIG_SYSEX_BUFFER_SIZE, $config_sysex_buffer_size, [Define SysEx buffer size.])  AC_DEFINE_UNQUOTED(CONFIG_SYSEX_BUFFER_SIZE, $config_sysex_buffer_size, [Define SysEx buffer size.])
962    
 AC_ARG_ENABLE(filter-update-steps,  
   [  --enable-filter-update-steps  
                           Amount of sample points after which filter  
                           parameters (cutoff, resonance) are going to be  
                           updated (default=64). Higher value means less CPU  
                           load, but also worse parameter resolution, this  
                           value will be aligned to a power of two.],  
   [config_filter_update_steps="${enableval}"],  
   [config_filter_update_steps="64"]  
 )  
 AC_DEFINE_UNQUOTED(CONFIG_FILTER_UPDATE_STEPS, $config_filter_update_steps, [Define amount of steps to refresh filter coefficients.])  
   
963  AC_ARG_ENABLE(force-filter,  AC_ARG_ENABLE(force-filter,
964    [  --enable-force-filter    [  --enable-force-filter
965                            If enabled will force filter to be used even if                            If enabled will force filter to be used even if
966                            no usage was define in instrument patch files.                            no usage was define in instrument patch files.
967                            (default=no).],                            (default=no).],
968    [config_force_filter="yes"],    [config_force_filter="$enableval"],
969    [config_force_filter="no"]    [config_force_filter="no"]
970  )  )
971  if test "$config_force_filter" = "yes"; then  if test "$config_force_filter" = "yes"; then
# Line 576  AC_ARG_ENABLE(gs-checksum, Line 1055  AC_ARG_ENABLE(gs-checksum,
1055                            messages which do not provide a correct checksum                            messages which do not provide a correct checksum
1056                            will be ignored. This is disabled by default as                            will be ignored. This is disabled by default as
1057                            not all devices honor GS checksums.],                            not all devices honor GS checksums.],
1058    [config_assert_gs_sysex_checksum="yes"],    [config_assert_gs_sysex_checksum="$enableval"],
1059    [config_assert_gs_sysex_checksum="no"]    [config_assert_gs_sysex_checksum="no"]
1060  )  )
1061  if test "config_assert_gs_sysex_checksum" = "yes"; then  if test "config_assert_gs_sysex_checksum" = "yes"; then
1062    AC_DEFINE_UNQUOTED(CONFIG_ASSERT_GS_SYSEX_CHECKSUM, 1, [Define to 1 if you want to enable GS SysEx check.])    AC_DEFINE_UNQUOTED(CONFIG_ASSERT_GS_SYSEX_CHECKSUM, 1, [Define to 1 if you want to enable GS SysEx check.])
1063  fi  fi
1064    
1065    AC_ARG_ENABLE(portamento-time-min,
1066      [  --enable-portamento-time-min
1067                              Minimum Portamento time in seconds
1068                              (default=0.1).],
1069      [config_portamento_time_min="${enableval}"],
1070      [config_portamento_time_min="0.1"]
1071    )
1072    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MIN, $config_portamento_time_min, [Define min. portamento time.])
1073    
1074    AC_ARG_ENABLE(portamento-time-max,
1075      [  --enable-portamento-time-max
1076                              Maximum Portamento time in seconds
1077                              (default=32).],
1078      [config_portamento_time_max="${enableval}"],
1079      [config_portamento_time_max="32"]
1080    )
1081    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MAX, $config_portamento_time_max, [Define max. portamento time.])
1082    
1083    AC_ARG_ENABLE(portamento-time-default,
1084      [  --enable-portamento-time-default
1085                              Default Portamento time in seconds
1086                              (default=1).],
1087      [config_portamento_time_default="${enableval}"],
1088      [config_portamento_time_default="1"]
1089    )
1090    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_DEFAULT, $config_portamento_time_default, [Define default portamento time.])
1091    
1092  AC_ARG_ENABLE(signed-triang-algo,  AC_ARG_ENABLE(signed-triang-algo,
1093    [  --enable-signed-triang-algo    [  --enable-signed-triang-algo
1094                            Signed triangular wave algorithm to be used (e.g. for LFOs).                            Signed triangular wave algorithm to be used (e.g. for LFOs).
# Line 595  AC_ARG_ENABLE(signed-triang-algo, Line 1101  AC_ARG_ENABLE(signed-triang-algo,
1101                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1102                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1103                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1104                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1105                              diharmonic:                              diharmonic:
1106                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1107                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 630  AC_ARG_ENABLE(unsigned-triang-algo, Line 1135  AC_ARG_ENABLE(unsigned-triang-algo,
1135                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1136                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1137                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1138                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1139                              diharmonic:                              diharmonic:
1140                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1141                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 662  AC_ARG_ENABLE(process-muted-channels, Line 1166  AC_ARG_ENABLE(process-muted-channels,
1166                            will not discard notes, triggered in mute mode,                            will not discard notes, triggered in mute mode,
1167                            when the channel is unmuted. But also will reduce                            when the channel is unmuted. But also will reduce
1168                            the efficiency.],                            the efficiency.],
1169    [config_process_muted_channels="yes"],    [config_process_muted_channels="$enableval"],
1170    [config_process_muted_channels="no"]    [config_process_muted_channels="no"]
1171  )  )
1172  if test "$config_process_muted_channels" = "yes"; then  if test "$config_process_muted_channels" = "yes"; then
1173    AC_DEFINE_UNQUOTED(CONFIG_PROCESS_MUTED_CHANNELS, 1, [Define to 1 if you want to enable processing of muted channels.])    AC_DEFINE_UNQUOTED(CONFIG_PROCESS_MUTED_CHANNELS, 1, [Define to 1 if you want to enable processing of muted channels.])
1174  fi  fi
1175    
1176    AC_ARG_ENABLE(process-all-notes-off,
1177      [  --disable-process-all-notes-off
1178                              Disable interpretation of All-Notes-Off MIDI
1179                              messages (default=on). By default LS will release
1180                              all voices whenever it receives an All-Notes-Off
1181                              MIDI message. You can disable this behavior, so
1182                              that LS simply ignores such messages.],
1183      [config_process_all_notes_off="$enableval"],
1184      [config_process_all_notes_off="yes"]
1185    )
1186    if test "$config_process_all_notes_off" = "yes"; then
1187      AC_DEFINE_UNQUOTED(CONFIG_PROCESS_ALL_NOTES_OFF, 1, [Define to 1 if you want to enable processing of All-Notes-Off MIDI messages.])
1188    fi
1189    
1190    AC_ARG_ENABLE(interpolate-volume,
1191      [  --disable-interpolate-volume
1192                              Disable interpolation of volume modulation
1193                              (default=on). With this enabled, the volume changes
1194                              generated by for example the envelope generator
1195                              will be smoother, minimizing the risk for audio
1196                              clicks. Disable it to reduce CPU usage.],
1197      [config_interpolate_volume="$enableval"],
1198      [config_interpolate_volume="yes"]
1199    )
1200    if test "$config_interpolate_volume" = "yes"; then
1201      AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])
1202    fi
1203    
1204    AC_ARG_ENABLE(master-volume-sysex-by-port,
1205      [  --enable-master-volume-sysex-by-port
1206                              Whether global volume sysex message should be
1207                              applied globally to the whole sampler or only to
1208                              the sampler channels connected to the same MIDI
1209                              input port on which the sysex message arrived on.
1210                              By default global volume sysex messages apply
1211                              globally to the whole sampler, since many MIDI
1212                              devices behave that way.],
1213      [config_master_volume_sysex_by_port="$enableval"],
1214      [config_master_volume_sysex_by_port="no"]
1215    )
1216    if test "$config_master_volume_sysex_by_port" = "yes"; then
1217      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.])
1218    fi
1219    
1220    AC_ARG_ENABLE(plugin-dir,
1221      [  --enable-plugin-dir
1222                              Directory where the sampler shall look for potential plugins,
1223                              that is 3rd party shared libraries that should be loaded by
1224                              the sampler on startup. By default the sampler will search
1225                              for plugins in the subdirectory "plugins" below its own
1226                              library directory.
1227                              (i.e. /usr/local/lib/linuxsampler/plugins)],
1228      [config_plugin_dir="${enableval}"],
1229      [config_plugin_dir="${libdir}/linuxsampler/plugins"]
1230    )
1231    AC_SUBST(config_plugin_dir)
1232    
1233    AC_ARG_ENABLE(default-instruments-db-location,
1234      [  --enable-default-instruments-db-location
1235                              Only when instruments DB feature is enabled: file name
1236                              which shall be taken as default location of the
1237                              instruments DB file. This location can still be
1238                              overridden at runtime with a command line switch.
1239                              (default: /var/lib/linuxsampler/instruments.db)],
1240      [config_default_instruments_db_file="${enableval}"],
1241      [config_default_instruments_db_file="/var/lib/linuxsampler/instruments.db"]
1242    )
1243    AC_DEFINE_UNQUOTED(
1244        CONFIG_DEFAULT_INSTRUMENTS_DB_LOCATION,
1245        "$config_default_instruments_db_file",
1246        [Only when instruments DB feature is enabled: default location of the DB file.]
1247    )
1248    AC_SUBST(config_default_instruments_db_file)
1249    
1250    
1251  ###########################################################################  ###########################################################################
1252  # Automatic Benchmarks (to detect the best algorithms for the system)  # Automatic Benchmarks (to detect the best algorithms for the system)
1253    
 AC_LANG_SAVE  
   
1254  if test "$config_signed_triang_algo" = "benchmark"; then  if test "$config_signed_triang_algo" = "benchmark"; then
1255      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1256      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1257      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1258              #define SIGNED 1              #define SIGNED 1
1259              #define SILENT 1              #define SILENT 1
1260              #include "benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1261          ],          ]])],
1262          triang_signed=0,          triang_signed=0,
1263          triang_signed=$?,          triang_signed=$?,
1264          triang_signed=0          triang_signed=0
1265      )      )
1266        AC_LANG_POP([C++])
1267      if test "$triang_signed" = "2"; then      if test "$triang_signed" = "2"; then
1268          config_signed_triang_algo="intmath"          config_signed_triang_algo="intmath"
1269          echo "integer math"          echo "integer math"
# Line 703  if test "$config_signed_triang_algo" = " Line 1280  if test "$config_signed_triang_algo" = "
1280          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1281          exit -1;          exit -1;
1282      fi      fi
1283    else
1284        case "$config_signed_triang_algo" in
1285            intmath)
1286                triang_signed=2 ;;
1287            diharmonic)
1288                triang_signed=3 ;;
1289            intmathabs)
1290                triang_signed=5 ;;
1291        esac
1292  fi  fi
1293  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ALGO, signed_triang_algo_${config_signed_triang_algo}, [Define signed triangular wave algorithm to be used.])  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ALGO, ${triang_signed}, [Define signed triangular wave algorithm to be used.])
1294    
1295  if test "$config_unsigned_triang_algo" = "benchmark"; then  if test "$config_unsigned_triang_algo" = "benchmark"; then
1296      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1297      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1298      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1299              #define SIGNED 0              #define SIGNED 0
1300              #define SILENT 1              #define SILENT 1
1301              #include "benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1302          ],          ]])],
1303          triang_unsigned=0,          triang_unsigned=0,
1304          triang_unsigned=$?,          triang_unsigned=$?,
1305          triang_unsigned=0          triang_unsigned=0
1306      )      )
1307        AC_LANG_POP([C++])
1308      if test "$triang_unsigned" = "2"; then      if test "$triang_unsigned" = "2"; then
1309          config_unsigned_triang_algo="intmath"          config_unsigned_triang_algo="intmath"
1310          echo "integer math"          echo "integer math"
# Line 734  if test "$config_unsigned_triang_algo" = Line 1321  if test "$config_unsigned_triang_algo" =
1321          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1322          exit -1;          exit -1;
1323      fi      fi
1324    else
1325        case "$config_unsigned_triang_algo" in
1326            intmath)
1327                triang_unsigned=2 ;;
1328            diharmonic)
1329                triang_unsigned=3 ;;
1330            intmathabs)
1331                triang_unsigned=5 ;;
1332        esac
1333  fi  fi
1334  AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, unsigned_triang_algo_${config_unsigned_triang_algo}, [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.])
   
 AC_LANG_RESTORE  
1335    
1336    
1337  ###########################################################################  ###########################################################################
1338  # Create Build Files  # Create Build Files
1339    
1340  AM_CONFIG_HEADER(config.h)  AC_CONFIG_HEADERS([config.h])
 AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")  
   
 AC_LANG_CPLUSPLUS  
 AC_PROG_CXX  
1341    
1342  # some gcc 4.0 versions need -msse for SSE register allocations  AC_LANG([C++])
 if test "$config_asm" = "yes"; then  
   if test "$def_arch_x86" = 1; then  
     CXXFLAGS="$CXXFLAGS -msse"  
   fi  
 fi  
1343    
1344  # 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
1345  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
1346  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
1347    
1348  AC_OUTPUT( \  AC_CONFIG_FILES([\
1349      Makefile \      Makefile \
1350      man/Makefile \      man/Makefile \
1351      man/linuxsampler.1 \      man/linuxsampler.1 \
1352        man/lscp.1 \
1353      src/Makefile \      src/Makefile \
1354        src/db/Makefile \
1355      src/network/Makefile \      src/network/Makefile \
1356      src/engines/Makefile \      src/engines/Makefile \
1357      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1358        src/engines/sf2/Makefile \
1359        src/engines/sfz/Makefile \
1360      src/engines/common/Makefile \      src/engines/common/Makefile \
1361      src/common/Makefile src/lib/Makefile \      src/effects/Makefile \
1362      src/lib/fileloader/Makefile \      src/common/Makefile \
     src/lib/fileloader/libgig/Makefile \  
1363      src/testcases/Makefile \      src/testcases/Makefile \
1364      src/drivers/Makefile \      src/drivers/Makefile \
1365      src/drivers/audio/Makefile \      src/drivers/audio/Makefile \
1366      src/drivers/midi/Makefile \      src/drivers/midi/Makefile \
1367        src/plugins/Makefile \
1368        src/hostplugins/Makefile \
1369        src/hostplugins/dssi/Makefile \
1370        src/hostplugins/lv2/Makefile \
1371        src/hostplugins/lv2/manifest.ttl \
1372        src/hostplugins/vst/Makefile \
1373        src/hostplugins/au/Makefile \
1374        src/scriptvm/Makefile \
1375        src/scriptvm/editor/Makefile \
1376        src/shell/Makefile \
1377      linuxsampler.spec \      linuxsampler.spec \
1378      debian/Makefile \      debian/Makefile \
1379      Artwork/Makefile \      Artwork/Makefile \
1380      scripts/Makefile \      scripts/Makefile \
1381      osx/Makefile \      osx/Makefile \
1382      osx/LinuxSampler.xcode/Makefile \      osx/linuxsampler.xcodeproj/Makefile \
1383      Documentation/Makefile \      Documentation/Makefile \
1384      Documentation/Engines/Makefile \      Documentation/Engines/Makefile \
1385      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
1386      linuxsampler.pc \      linuxsampler.pc \
1387      Doxyfile \      Doxyfile \
1388  )  ])
1389    AC_OUTPUT
1390    
1391    # resolve all nested variables in '${config_plugin_dir}'
1392    # (merely for providing a human readable summary below)
1393    while test $config_plugin_dir != `eval echo ${config_plugin_dir}` ; do
1394            config_plugin_dir=`eval echo ${config_plugin_dir}`
1395    done
1396    
1397    
1398  ###########################################################################  ###########################################################################
# Line 797  echo "" Line 1402  echo ""
1402  echo "#####################################################################"  echo "#####################################################################"
1403  echo "# LinuxSampler Configuration                                        #"  echo "# LinuxSampler Configuration                                        #"
1404  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1405    echo "# Release Version: ${VERSION}"
1406    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1407    echo "#-------------------------------------------------------------------"
1408  echo "# Assembly Optimizations: ${config_asm}"  echo "# Assembly Optimizations: ${config_asm}"
1409  echo "# Development Mode: ${config_dev_mode}"  echo "# Development Mode: ${config_dev_mode}"
1410  echo "# Debug Level: ${config_debug_level}"  echo "# Debug Level: ${config_debug_level}"
# Line 810  echo "# Streams to be refilled per Disk Line 1418  echo "# Streams to be refilled per Disk
1418  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1419  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1420  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
1421  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Default Maximum Disk Streams: ${config_max_streams}"
1422  echo "# Maximum Voices: ${config_max_voices}"  echo "# Default Maximum Voices: ${config_max_voices}"
1423    echo "# Default Subfragment Size: ${config_subfragment_size}"
1424    echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1425  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
1426  echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"  echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"
1427  echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"  echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"
1428  echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"  echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"
1429  echo "# Filter Update Steps: ${config_filter_update_steps}"  echo "# Min. Portamento Time: ${config_portamento_time_min} s"
1430    echo "# Max. Portamento Time: ${config_portamento_time_max} s"
1431    echo "# Default Portamento Time: ${config_portamento_time_default} s"
1432  echo "# Force Filter Usage: ${config_force_filter}"  echo "# Force Filter Usage: ${config_force_filter}"
1433  echo "# Filter Cutoff Minimum: ${config_filter_cutoff_min} Hz"  echo "# Filter Cutoff Minimum: ${config_filter_cutoff_min} Hz"
1434  echo "# Filter Cutoff Maximum: ${config_filter_cutoff_max} Hz"  echo "# Filter Cutoff Maximum: ${config_filter_cutoff_max} Hz"
# Line 825  echo "# Override Filter Resonance Contro Line 1437  echo "# Override Filter Resonance Contro
1437  echo "# Override Filter Type: ${config_override_filter_type}"  echo "# Override Filter Type: ${config_override_filter_type}"
1438  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1439  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
1440    echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1441    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1442    echo "# Interpolate Volume: ${config_interpolate_volume}"
1443    echo "# Instruments database support: ${config_instruments_db}"
1444    if test "$config_instruments_db" = "yes"; then
1445    echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1446    fi
1447    echo "# Plugin Path: ${config_plugin_dir}"
1448    echo "#-------------------------------------------------------------------"
1449    echo "# MIDI Input Drivers:"
1450    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}"
1451    echo "#-------------------------------------------------------------------"
1452    echo "# Audio Output Drivers:"
1453    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}"
1454    echo "#-------------------------------------------------------------------"
1455    echo "# Sampler Engines:"
1456    echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes"
1457    echo "#-------------------------------------------------------------------"
1458    echo "# Effect plugin systems for internal effects:"
1459    echo "# LADSPA: yes"
1460    echo "#-------------------------------------------------------------------"
1461    echo "# Building sampler as plugin for following host standards:"
1462    echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}"
1463  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1464  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
1465  echo "#####################################################################"  echo "#####################################################################"

Legend:
Removed from v.726  
changed lines
  Added in v.3615

  ViewVC Help
Powered by ViewVC