/[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 829 by schoenebeck, Sat Jan 14 14:07:47 2006 UTC linuxsampler/trunk/configure.ac revision 2787 by schoenebeck, Wed Jul 15 18:47:15 2015 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, 0)
6  LINUXSAMPLER_RELEASE_BUILD=3cvs  m4_define(linuxsampler_release_build, 0)
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=3cvs Line 26  LINUXSAMPLER_RELEASE_BUILD=3cvs
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=4
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  AC_MSG_CHECKING([whether x86 architecture])  AC_MSG_CHECKING([whether x86 architecture])
68  def_arch_x86=0  def_arch_x86=0
69  case $target_cpu in  case $host_cpu in
70    "i386" | "i486" | "i586" | "i686" | "i786")    "i386" | "i486" | "i586" | "i686" | "i786" | "x86_64")
71      echo "yes"      echo "yes"
72      def_arch_x86=1;;      def_arch_x86=1;;
73    *)    *)
# Line 61  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x8 Line 78  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x8
78  # determine the right gcc switch for CPU specific optimizations  # determine the right gcc switch for CPU specific optimizations
79  # (only if the user did not provide one)  # (only if the user did not provide one)
80  CXX_CPU_SWITCH=  CXX_CPU_SWITCH=
 echo "X $CXXFLAGS "  
81  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then
82    if test "$def_arch_x86" = 1; then    if test "$def_arch_x86" = 1 -a "$host_cpu" != "x86_64"; then
83      CXX_CPU_SWITCH="-march=$target_cpu"      CXX_CPU_SWITCH="-march=$host_cpu"
84    elif test "$target_cpu" = "powerpc"; then    elif test "$target_cpu" = "ppc"; then
85      CXX_CPU_SWITCH="-arch=$target_cpu"      CXX_CPU_SWITCH="-arch=$host_cpu"
86    fi    fi
87  fi  fi
88  AC_SUBST([CXX_CPU_SWITCH])  AC_SUBST([CXX_CPU_SWITCH])
89    
90    mac=no
91    linux=no
92    case "$host" in
93        *-*-darwin*)
94            mac=yes
95            ;;
96        *-*-linux*)
97            linux=yes
98            ;;
99    esac
100    AM_CONDITIONAL(LINUX, test "$linux" = yes)
101    AM_CONDITIONAL(MAC, test "$mac" = yes)
102    
103    # check if we're on MS Windows
104    AC_CHECK_HEADERS(
105        mmsystem.h,
106        have_windows=1,
107        have_windows=0,
108        [#include <windef.h>]
109    )
110    AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")
111    
112  AC_MSG_CHECKING([whether UNIX98 compatible])  AC_MSG_CHECKING([whether UNIX98 compatible])
113  AC_LANG_SAVE  AC_LANG_PUSH([C])
114  AC_LANG_C  AC_RUN_IFELSE([AC_LANG_SOURCE([[
 AC_TRY_RUN([  
115  #ifndef _GNU_SOURCE  #ifndef _GNU_SOURCE
116  #define _GNU_SOURCE 1  #define _GNU_SOURCE 1
117  #endif  #endif
# Line 86  exit(0); /* UNIX98 compatible */ Line 123  exit(0); /* UNIX98 compatible */
123  exit(-1); /* not UNIX98 compatible */  exit(-1); /* not UNIX98 compatible */
124  #endif  #endif
125  }  }
126  ],  ]])],
127  have_unix98="yes",  have_unix98="yes",
128  have_unix98="no",  have_unix98="no",
129  have_unix98="no"  have_unix98="no"
130  )  )
131  AC_LANG_RESTORE  AC_LANG_POP([C])
132  AC_MSG_RESULT([$have_unix98])  AC_MSG_RESULT([$have_unix98])
133  if test "$have_unix98" = "no"; then  if test "$have_unix98" = "no" -a "$have_windows" = "0" -a "$mac" = "no" ; then
134      if test "x$HAVE_UNIX98" = "x"; then      if test "x$HAVE_UNIX98" = "x"; then
135          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"
136          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"
137          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"
138          echo "have a UNIX98 compatible system."          echo "have a UNIX98 compatible system."
139          exit -1;          exit -1;
140      fi      fi
# Line 106  fi Line 143  fi
143  # check for <features.h>  # check for <features.h>
144  AC_CHECK_HEADERS(features.h)  AC_CHECK_HEADERS(features.h)
145    
146    # test for POSIX thread library
147    m4_ifdef([m4_include(m4/pthread.m4)],,
148                 [sinclude([m4/pthread.m4])])
149    ACX_PTHREAD
150    LIBS="$PTHREAD_LIBS $LIBS"
151    CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
152    CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
153    CC="$PTHREAD_CC"
154    
155    # check for a bug in NPTL-enabled glibc
156    # (see Gentoo bug report #194076)
157    AC_ARG_ENABLE(nptl-bug-check,
158      [  --disable-nptl-bug-check
159                              Disable check for a bug in certain NPTL-enabled
160                              glibc versions that caused crashs.],
161      [config_check_nptl_bug="$enableval"],
162      [config_check_nptl_bug="yes"]
163    )
164    if test "$config_check_nptl_bug" = "yes"; then
165        m4_ifdef([m4_include(m4/nptl_bug.m4)],,
166                 [sinclude([m4/nptl_bug.m4])])
167        ACX_NPTL_GLIBC_BUG([
168            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
169            echo "You seem to have a buggy PTHREAD library! LinuxSampler would"
170            echo "probably crash due to this. Please report us the system you are"
171            echo "using and/or file a bug report to the bug tracking system of"
172            echo "your distribution."
173            echo "If you have a NPTL-enabled glibc AND it was compiled for TLS as"
174            echo "well, you can try to circumvent this problem for now by setting"
175            echo "the environment variable LD_ASSUME_KERNEL=\"2.4.1\" , which"
176            echo "should cause this test to pass."
177            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
178            AC_MSG_ERROR([possibly NPTL glibc bug detected])
179        ])
180    else
181        echo "NPTL glibc bug check disabled"
182    fi
183    
184    # FIXME: this is actually a dependency of libgig, not of LS directly, why
185    # isn't it hidden by libgig?
186    AC_CHECK_HEADERS(uuid/uuid.h)
187    AC_SEARCH_LIBS(uuid_generate, uuid)
188    
189    # In case Bison is available, determine the exact version, since we need to
190    # use different custom parser code for Bison 2.x vs. Bison 3.x generated
191    # parser yacc tables.
192    if echo "$YACC" | grep -q bison; then
193        # NOTE: m4 removes [], that's why it needs to be escaped
194        bison_version=[`$YACC --version | head -n 1 | sed -e 's/[^0-9.]*\([-0-9.]\+\)$/\1/'`]
195        bison_version_major=`echo $bison_version | cut -d. -f1`
196        bison_version_minor=`echo $bison_version | cut -d. -f2`
197        AC_DEFINE_UNQUOTED(HAVE_BISON_MAJ,$bison_version_major,[Define to the major version of the GNU Bison program installed.])
198        AC_DEFINE_UNQUOTED(HAVE_BISON_MIN,$bison_version_minor,[Define to the minor version of the GNU Bison program installed.])
199    fi
200    
201    
202    
203    ###########################################################################
204  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
205  # (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)
206    
207  have_midi_input_driver="false"  have_midi_input_driver="false"
208  have_audio_output_driver="false"  have_audio_output_driver="false"
209    
210  AC_CHECK_HEADER(alsa/asoundlib.h,  # ALSA
211      AC_CHECK_LIB(asound, main,  AC_ARG_ENABLE(alsa-driver,
212                               have_alsa=1    [  --disable-alsa-driver
213                               ,                            Disable support for the Advanced Linux Sound
214                               have_alsa=0                            Architecture (ALSA).],
215                  )    [config_alsa_driver="$enableval"],
216                  ,    [config_alsa_driver="yes"]
217                  have_alsa=0  )
218  )  have_alsa=0
219  if test "$have_alsa" = "1"; then  if test "$config_alsa_driver" = "yes"; then
220      have_midi_input_driver="true"      AC_CHECK_HEADER(alsa/asoundlib.h,
221      have_audio_output_driver="true";          AC_CHECK_LIB(asound, main,
222                                     have_alsa=1
223                                     ,
224                                     have_alsa=0
225                        )
226                        ,
227                        have_alsa=0
228        )
229        if test "$have_alsa" = "1"; then
230            have_midi_input_driver="true"
231            have_audio_output_driver="true";
232        fi
233    
234        echo -n "checking Alsa version... "
235        AC_LANG_PUSH([C])
236        AC_RUN_IFELSE([AC_LANG_SOURCE([[
237            #include <alsa/asoundlib.h>
238            void main(void) {
239                /* ensure backward compatibility */
240                #if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR)
241                #define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR
242                #endif
243                exit(SND_LIB_MAJOR);
244            }
245        ]])],
246        alsa_major=0,
247        alsa_major=$?,
248        alsa_major=0
249        )
250        AC_RUN_IFELSE([AC_LANG_SOURCE([[
251            #include <alsa/asoundlib.h>
252            void main(void) {
253                /* ensure backward compatibility */
254                #if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)
255                #define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR
256                #endif
257                exit(SND_LIB_MINOR);
258            }
259        ]])],
260        alsa_minor=0,
261        alsa_minor=$?,
262        alsa_minor=0
263        )
264        AC_RUN_IFELSE([AC_LANG_SOURCE([[
265            #include <alsa/asoundlib.h>
266            void main(void) {
267                /* ensure backward compatibility */
268                #if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR)
269                #define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR
270                #endif
271                exit(SND_LIB_SUBMINOR);
272            }
273        ]])],
274        alsa_subminor=0,
275        alsa_subminor=$?,
276        alsa_subminor=0
277        )
278        AC_LANG_POP([C])
279        echo "$alsa_major.$alsa_minor.$alsa_subminor";
280        AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])
281        AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])
282        AC_DEFINE_UNQUOTED(ALSA_SUBMINOR,$alsa_subminor,[Define to the subminor version number of your Alsa installation.])
283    else
284        echo "ALSA support disabled by configure script parameter"
285  fi  fi
286  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
287  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.])
288    config_have_alsa="no"
289  echo -n "checking Alsa version... "  if test $have_alsa = "1"; then
290  AC_LANG_SAVE      config_have_alsa="yes"
291  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.])  
292    
293  # JACK  # JACK
294  PKG_CHECK_MODULES(JACK, jack, HAVE_JACK=true, HAVE_JACK=false)  AC_ARG_ENABLE(jack-driver,
295  AC_SUBST(JACK_LIBS)    [  --disable-jack-driver
296  AC_SUBST(JACK_CFLAGS)                            Disable support for the Jack Audio Connection Kit
297  if test $HAVE_JACK = false; then                            (JACK).],
298      HAVE_JACK=0;    [config_jack_driver="$enableval"],
299  else    [config_jack_driver="yes"]
300      HAVE_JACK=1  )
301      have_audio_output_driver="true";  have_jack=0
302      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
303        PKG_CHECK_MODULES(JACK, jack, have_jack=1, have_jack=0)
304        if test $have_jack = "1"; then
305            AC_SUBST(JACK_LIBS)
306            AC_SUBST(JACK_CFLAGS)
307            linuxsampler_save_LIBS=$LIBS
308            LIBS="$JACK_LIBS $LIBS"
309            AC_CHECK_FUNCS(jack_client_name_size jack_client_open \
310                           jack_on_info_shutdown)
311            LIBS=$linuxsampler_save_LIBS
312            have_audio_output_driver="true";
313        fi
314    else
315        echo "JACK support disabled by configure script parameter"
316    fi
317    AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
318    AC_DEFINE_UNQUOTED(HAVE_JACK,$have_jack,[Define to 1 if you have JACK installed.])
319    config_have_jack="no"
320    if test $have_jack = "1"; then
321        config_have_jack="yes"
322    fi
323    
324    # JACK MIDI
325    have_jack_midi=0
326    if test $have_jack = "1"; then
327        linuxsampler_save_CFLAGS=$CFLAGS
328        linuxsampler_save_LIBS=$LIBS
329        CFLAGS="$JACK_CFLAGS $CFLAGS"
330        LIBS="$JACK_LIBS $LIBS"
331        AC_CHECK_HEADER(jack/midiport.h, have_jack_midi=1, have_jack_midi=0)
332        if test $have_jack_midi = "1"; then
333            AC_CHECK_FUNCS(jack_midi_get_event_count)
334            AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jack/midiport.h>]], [[
335                jack_midi_clear_buffer(0, 0);
336            ]])], [AC_DEFINE(JACK_MIDI_FUNCS_NEED_NFRAMES, 1,
337                      [Define to 1 if you have the old jack midi functions that need an nframes argument.])])
338            have_midi_input_driver="true"
339        fi
340        CFLAGS=$linuxsampler_save_CFLAGS
341        LIBS=$linuxsampler_save_LIBS
342    fi
343    AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")
344    AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,
345                       [Define to 1 if you have JACK with MIDI support installed.])
346    config_have_jack_midi="no"
347    if test $have_jack_midi = "1"; then
348        config_have_jack_midi="yes"
349    fi
350    
351    # ARTS
352    AC_ARG_ENABLE(arts-driver,
353      [  --disable-arts-driver
354                              Disable support for the Analogue Realtime System
355                              (aRts).],
356      [config_arts_driver="$enableval"],
357      [config_arts_driver="yes"]
358    )
359    have_arts=0
360    if test "$config_arts_driver" = "yes"; then
361        m4_ifdef([m4_include(m4/arts.m4)],,
362                 [sinclude([m4/arts.m4])])
363        AM_PATH_ARTS(0.9.5, have_arts=1, have_arts=0)
364        if test "$have_arts" = "1"; then
365            have_audio_output_driver="true"
366        fi
367    else
368        echo "ARTS support disabled by configure script parameter"
369    fi
370    AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
371    AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])
372    config_have_arts="no"
373    if test $have_arts = "1"; then
374        config_have_arts="yes"
375    fi
376    
377    # ASIO AUDIO (Win32)
378    AC_ARG_ENABLE(asiosdk-dir,
379      [  --enable-asiosdk-dir
380                              Directory where the ASIO SDK is located, this automatically
381                              enables the compilation of the ASIO audio output driver.],
382      [config_asiosdk_dir="${enableval}"],
383      [config_asiosdk_dir="."]
384    )
385    AC_SUBST(config_asiosdk_dir)
386    
387    AC_ARG_ENABLE(asio-driver,
388      [  --disable-asio-driver
389                              Disable support for the Windows ASIO driver.],
390      [config_asio_driver="$enableval"],
391      [config_asio_driver="yes"]
392    )
393    have_asio=0
394    ASIOSDK_BASEDIR=
395    if test "$config_asio_driver" = "yes"; then
396        asiosdk_headerfile=$config_asiosdk_dir/ASIOSDK2/common/asio.h
397        echo -n "checking for ASIO headerfile: $asiosdk_headerfile ...."
398        if test -e $asiosdk_headerfile ; then
399            echo yes
400            have_asio=1
401            ASIOSDK_BASEDIR="$config_asiosdk_dir"
402        else
403            echo no
404            have_asio=0
405        fi
406        if test "$have_asio" = "1"; then
407            have_audio_output_driver="true"
408        fi
409    else
410        echo "Windows ASIO support disabled by configure script parameter"
411    fi
412    AC_SUBST(ASIOSDK_BASEDIR)
413    AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
414    AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.])
415    config_have_asio="no"
416    if test $have_asio = "1"; then
417        config_have_asio="yes"
418  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.])  
419    
420  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
421  AC_CHECK_HEADER(MidiShare.h,  AC_ARG_ENABLE(midishare-driver,
422      AC_CHECK_LIB(MidiShare, MidiCountEvs,    [  --disable-midishare-driver
423                              have_midishare=1,                            Disable support for the MidiShare system.],
424                              have_midishare=0    [config_midishare_driver="$enableval"],
425                  )    [config_midishare_driver="yes"]
426                  ,  )
427                  have_midishare=0  have_midishare=0
428  )  if test "$config_midishare_driver" = "yes"; then
429  if test "$have_midishare" = "1"; then      AC_CHECK_HEADER(MidiShare.h,
430      have_midi_input_driver="true"          AC_CHECK_LIB(MidiShare, MidiCountEvs,
431                                    have_midishare=1,
432                                    have_midishare=0
433                        )
434                        ,
435                        have_midishare=0
436        )
437        if test "$have_midishare" = "1"; then
438            have_midi_input_driver="true"
439        fi
440    else
441        echo "MidiShare support disabled by configure script parameter"
442  fi  fi
443  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
444  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.])
445    config_have_midishare="no"
446    if test $have_midishare = "1"; then
447        config_have_midishare="yes"
448    fi
449    
450  # CoreMIDI (OS X)  # CoreMIDI (OS X)
451  AC_CHECK_HEADER(CoreMIDI/CoreMIDI.h,  AC_ARG_ENABLE(coremidi-driver,
452                  have_coremidi=1,    [  --disable-coremidi-driver
453                  have_coremidi=0                            Disable support for the Apple CoreMIDI system.],
454  )    [config_coremidi_driver="$enableval"],
455  if test "$have_coremidi" = "1"; then    [config_coremidi_driver="yes"]
456      have_midi_input_driver="true"  )
457    have_coremidi=0
458    if test "$config_coremidi_driver" = "yes"; then
459        AC_CHECK_HEADER(CoreMIDI/CoreMIDI.h,
460            have_coremidi=1,
461            have_coremidi=0
462        )
463        if test "$have_coremidi" = "1"; then
464            have_midi_input_driver="true"
465        fi
466    else
467        echo "CoreMIDI support disabled by configure script parameter"
468  fi  fi
469  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
470  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.])
471    config_have_coremidi="no"
472    if test $have_coremidi = "1"; then
473        config_have_coremidi="yes"
474    fi
475    
476    # CoreAudio (OS X)
477    AC_ARG_ENABLE(coreaudio-driver,
478      [  --disable-coreaudio-driver
479                              Disable support for the Apple CoreAudio system.],
480      [config_coreaudio_driver="$enableval"],
481      [config_coreaudio_driver="yes"]
482    )
483    have_coreaudio=0
484    if test "$config_coreaudio_driver" = "yes"; then
485        AC_CHECK_HEADER(CoreAudio/CoreAudio.h,
486            have_coreaudio=1,
487            have_coreaudio=0
488        )
489        if test "$have_coreaudio" = "1"; then
490            have_audio_output_driver="true"
491        fi
492    else
493        echo "CoreAudio support disabled by configure script parameter"
494    fi
495    AM_CONDITIONAL(HAVE_COREAUDIO, test $have_coreaudio = "1")
496    AC_DEFINE_UNQUOTED(HAVE_COREAUDIO,$have_coreaudio,[Define to 1 if you have CoreAudio installed.])
497    config_have_coreaudio="no"
498    if test $have_coreaudio = "1"; then
499        config_have_coreaudio="yes"
500    fi
501    
502    # MME MIDI (Win32)
503    AC_ARG_ENABLE(mmemidi-driver,
504      [  --disable-mmemidi-driver
505                              Disable support for the Windows MME MIDI system.],
506      [config_mmemidi_driver="$enableval"],
507      [config_mmemidi_driver="yes"]
508    )
509    have_mmemidi=0
510    if test "$config_mmemidi_driver" = "yes"; then
511        AC_CHECK_HEADERS(mmsystem.h,
512            have_mmemidi=1,
513            have_mmemidi=0
514        )
515        if test "$have_mmemidi" = "1"; then
516            have_midi_input_driver="true"
517        fi
518    else
519        echo "MME MIDI support disabled by configure script parameter"
520    fi
521    AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")
522    AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.])
523    config_have_mme="no"
524    if test $have_mmemidi = "1"; then
525        config_have_mme="yes"
526    fi
527    
528    # DSSI
529    AC_CHECK_HEADERS(dssi.h,
530            config_have_dssi="yes",
531            config_have_dssi="no")
532    AM_CONDITIONAL(HAVE_DSSI, test $config_have_dssi = "yes")
533    
534    # LV2
535    PKG_CHECK_MODULES(LV2, lv2 >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
536    if test "$config_have_lv2" != "yes"; then
537        PKG_CHECK_MODULES(LV2, lv2core >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
538    fi
539    AC_SUBST(LV2_CFLAGS)
540    AC_SUBST(LV2_LIBS)
541    AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")
542    
543    # VST
544    AC_ARG_ENABLE(vstsdk-dir,
545      [  --enable-vstsdk-dir
546                              Directory where the VST SDK is located.
547                              This automatically enables the compilation
548                              of the VST plugin.],
549      [VSTSDK_DIR="${enableval}"],
550      [VSTSDK_DIR=]
551    )
552    AC_SUBST(VSTSDK_DIR)
553    AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")
554    config_have_vst="no"
555    if test "x$VSTSDK_DIR" != "x"; then
556        config_have_vst="yes"
557    fi
558    
559    # AU
560    AC_CHECK_HEADERS(AudioUnit/AudioUnit.h,
561            config_have_au="yes",
562            config_have_au="no")
563    AM_CONDITIONAL(HAVE_AU, test $config_have_au = "yes")
564    AM_CONDITIONAL(HAVE_AUFLAGS, test "$AUFLAGS" != "")
565    
566    if test $config_have_au = "yes" ; then
567        if test "x$DEVELOPER_EXTRAS_DIR" = "x" ; then
568            if test -d /Developer/Extras ; then
569                DEVELOPER_EXTRAS_DIR=/Developer/Extras
570            else      
571                DEVELOPER_EXTRAS_DIR=/Developer/Examples
572            fi
573        fi
574        AC_SUBST(DEVELOPER_EXTRAS_DIR)
575    fi
576    
577    if test "x$MAC_PLUGIN_INSTALL_DIR" = "x" ; then
578        MAC_PLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins
579    fi
580    AC_SUBST(MAC_PLUGIN_INSTALL_DIR)
581    
582    # have we found at least one MIDI input and one audio output driver ?
583    if test "$have_midi_input_driver" = "false"; then
584        echo "No supported MIDI input system found!"
585        echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
586        echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
587        echo "If you think you have one of those available on your system, make sure you"
588        echo "also have the respective development (header) files installed."
589        exit -1;
590    fi
591    if test "$have_audio_output_driver" = "false"; then
592        echo "No supported audio output system found!"
593        echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
594        echo "driver at the moment!"
595        exit -1;
596    fi
597    
598    
599    
600    ###########################################################################
601    # Checks for various DLL libraries
602    
603  # Check presence of libgig  # Check presence of libgig
604  libgig_version="2.0.2"  libgig_version="4.0.0"
605  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)
606  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
607      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 231  fi Line 613  fi
613  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
614  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
615    
616  # SQLITE3  # SF2 Engine (requires libgig)
617  PKG_CHECK_MODULES(SQLITE3, sqlite3, HAVE_SQLITE3=true, HAVE_SQLITE3=false)  AC_ARG_ENABLE(sf2-engine,
618  AC_SUBST(SQLITE3_LIBS)    [  --disable-sf2-engine
619  AC_SUBST(SQLITE3_CFLAGS)                            Disable compilation of the SF2 engine.
620  if test $HAVE_SQLITE3 = false; then                            You need to have libgig installed.],
621      HAVE_SQLITE3=0;    [config_sf2_engine="$enableval"],
622      echo "no, support for instrument DB will be disabled!"    [config_sf2_engine="yes"]
623    )
624    HAVE_SF2=0;
625    if test "$config_sf2_engine" = "yes"; then
626        HAVE_SF2=1
627  else  else
628      HAVE_SQLITE3=1      echo "SF2 engine disabled by configure script parameter"
629      echo "yes"  fi
630    AM_CONDITIONAL(HAVE_SF2, test $HAVE_SF2 = 1)
631    AC_DEFINE_UNQUOTED(HAVE_SF2,$HAVE_SF2,[Define to 1 if you want SF2 engine and have libsf2 installed.])
632    config_have_sf2="no"
633    if test $HAVE_SF2 = "1"; then
634        config_have_sf2="yes"
635  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.])  
636    
637  if test "$have_midi_input_driver" = "false"; then  # Check presence of libsndfile
638      echo "No supported MIDI input system found!"  libsndfile_version="1.0"
639      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)
640      echo "ALSA, MIDIShare, CoreMIDI."  if test "$HAVE_SNDFILE" = "false"; then
641      echo "If you think you have one of those available on your system, make sure you"      echo "Required libsndfile version not found!"
642      echo "also have the respective development (header) files installed."      echo "You need to have libsndfile version ${libsndfile_version} installed!"
643      exit -1;      exit -1;
644    else
645        echo "yes, found libsndfile $libsndfile_version"
646  fi  fi
647  if test "$have_audio_output_driver" = "false"; then  AC_SUBST(SNDFILE_CFLAGS)
648      echo "No supported audio output system found!"  AC_SUBST(SNDFILE_LIBS)
649      echo "Sorry, LinuxSampler only supports ALSA and JACK as audio output driver at the moment!"  
650      exit -1;  # Check for Vorbis and FLAC support in libsndfile
651    linuxsampler_save_CFLAGS=$CFLAGS
652    CFLAGS="$SNDFILE_CFLAGS $CFLAGS"
653    AC_CHECK_DECLS([SF_FORMAT_VORBIS, SF_FORMAT_FLAC], [], [], [[#include <sndfile.h>]])
654    
655    # Check for loop functionality in libsndfile
656    AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],,
657                     [AC_MSG_WARN([Your version of libsndfile does not support
658        reading of loop information. LinuxSampler will not be able to
659        extract loop information from sample files.])],
660                     [#include <sndfile.h>])
661    CFLAGS=$linuxsampler_save_CFLAGS
662    
663    # Instruments DB feature (requires SQLite 3.3)
664    AC_ARG_ENABLE(instruments-db,
665      [  --disable-instruments-db
666                              Disable compilation of the sampler's instruments
667                              database feature. You need to have SQLite 3.3
668                              or younger installed for this feature.],
669      [config_instruments_db="$enableval"],
670      [config_instruments_db="yes"]
671    )
672    HAVE_SQLITE3=0;
673    if test "$config_instruments_db" = "yes"; then
674        # Check presence of sqlite3
675        sqlite_version="3.3"
676        PKG_CHECK_MODULES(SQLITE3, sqlite3 >= $sqlite_version, HAVE_SQLITE3=true, HAVE_SQLITE3=false)
677        AC_SUBST(SQLITE3_LIBS)
678        AC_SUBST(SQLITE3_CFLAGS)
679        if test $HAVE_SQLITE3 = false; then
680            HAVE_SQLITE3=0
681            config_instruments_db="no"
682            echo "*** Required sqlite version not found!"
683            echo "*** You need to have sqlite version ${sqlite_version} or higher"
684            echo "*** for instruments database support to be enabled."
685            echo "*** Support for instruments DB will be disabled!"
686        else
687            HAVE_SQLITE3=1
688        fi
689    else
690        echo "Instruments DB feature disabled by configure script parameter"
691  fi  fi
692    AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
693    AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you want the instruments DB feature and have SQLITE3 installed.])
694    
695    
696    
697  ###########################################################################  ###########################################################################
# Line 266  fi Line 700  fi
700  # TODO: should we use AC_ARG_VAR(variable, description) instead?  # TODO: should we use AC_ARG_VAR(variable, description) instead?
701    
702  AC_ARG_ENABLE(asm,  AC_ARG_ENABLE(asm,
703    [  --enable-asm    [  --disable-asm
704                            Enable hand-crafted assembly optimizations                            Enable hand-crafted assembly optimizations
705                            (default=off). LinuxSampler provides CPU specific                            (default=on). LinuxSampler provides CPU specific
706                            assembly optimizations for the most important                            assembly optimizations. This is currently limited
707                            synthesis algorithms. This is currently disabled                            to just enter a fast (denormal) FPU mode on x86
708                            by default since current asm code is broken.],                            platforms. There are currently no synthesis core
709    [config_asm="yes"],                            assembly optimizations anymore since LS 0.4.0],
710    [config_asm="no"]    [config_asm="$enableval"],
711      [config_asm="yes"]
712  )  )
713  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
714    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.])
715  fi  fi
716    
717  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
718    [  --disable-dev-mode    [  --enable-dev-mode
719                            Disable development mode (default=on). In that mode                            Enable development mode (default=off). In that mode
720                            we do some extra sanity checks here and there.                            we do some extra sanity checks here and there.
721                            This helps to spot possible problems, but reduces                            This helps to spot possible problems, but reduces
722                            efficiency a bit],                            efficiency a bit],
723    [config_dev_mode="no"],    [config_dev_mode="$enableval"],
724    [config_dev_mode="yes"]    [config_dev_mode="no"]
725  )  )
726  if test "$config_dev_mode" = "yes"; then  if test "$config_dev_mode" = "yes"; then
727    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 313  AC_ARG_ENABLE(rt-exceptions, Line 748  AC_ARG_ENABLE(rt-exceptions,
748                            context as well. Otherwise if disabled                            context as well. Otherwise if disabled
749                            segmentation faults will be forced by the                            segmentation faults will be forced by the
750                            application on critical errors.],                            application on critical errors.],
751    [config_rt_exceptions="yes"],    [config_rt_exceptions="$enableval"],
752    [config_rt_exceptions="no"]    [config_rt_exceptions="no"]
753  )  )
754  if test "$config_rt_exceptions" = "yes"; then  if test "$config_rt_exceptions" = "yes"; then
755    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.])
756  fi  fi
757    
758    config_pthread_testcancel="$mac"
759    AC_ARG_ENABLE(pthread-testcancel,
760      [  --enable-pthread-testcancel
761                              Enable pthread_testcancel() calls and avoid
762                              asynchronous cancel of pthreads (default=yes
763                              for Mac targets, no otherwise).],
764      [config_pthread_testcancel="$enableval"],
765      [])
766    if test "$config_pthread_testcancel" = "yes"; then
767      AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])
768    fi
769    
770  AC_ARG_ENABLE(preload-samples,  AC_ARG_ENABLE(preload-samples,
771    [  --enable-preload-samples    [  --enable-preload-samples
772                            Due to seeking and latency issues with hard drives                            Due to seeking and latency issues with hard drives
# Line 425  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_ Line 872  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_
872    
873  AC_ARG_ENABLE(max-streams,  AC_ARG_ENABLE(max-streams,
874    [  --enable-max-streams    [  --enable-max-streams
875                            Maximum amount of disk streams (default=90). This                            Initial maximum amount of disk streams
876                            value should always be higher than the maximum                            (default=90). This value can be changed at
877                            amount of voices.],                            runtime. It should always be higher than the
878                              maximum amount of voices.],
879    [config_max_streams="${enableval}"],    [config_max_streams="${enableval}"],
880    [config_max_streams="90"]    [config_max_streams="90"]
881  )  )
882  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.])
883    
884  AC_ARG_ENABLE(max-voices,  AC_ARG_ENABLE(max-voices,
885    [  --enable-max-voices    [  --enable-max-voices
886                            Maximum amount of voices (default=64). This value                            Initial maximum amount of voices (default=64).
887                            should always be lower than the maximum amount of                            This value can be changed at runtime. It should
888                            disk streams.],                            always be lower than the maximum amount of disk
889                              streams.],
890    [config_max_voices="${enableval}"],    [config_max_voices="${enableval}"],
891    [config_max_voices="64"]    [config_max_voices="64"]
892  )  )
893  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.])
894    
895  AC_ARG_ENABLE(subfragment-size,  AC_ARG_ENABLE(subfragment-size,
896    [  --enable-subfragment-size    [  --enable-subfragment-size
# Line 458  AC_ARG_ENABLE(subfragment-size, Line 907  AC_ARG_ENABLE(subfragment-size,
907  )  )
908  AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_SUBFRAGMENT_SIZE, $config_subfragment_size, [Define default subfragment size (in sample points).])  AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_SUBFRAGMENT_SIZE, $config_subfragment_size, [Define default subfragment size (in sample points).])
909    
910  AC_ARG_ENABLE(global-attenuation,  AC_ARG_ENABLE(global-attenuation-default,
911    [  --enable-global-attenuation    [  --enable-global-attenuation-default
912                            To prevent clipping all samples will be lowered                            To prevent clipping all samples will be lowered
913                            in amplitude by this given factor.                            in amplitude by this given default factor (can
914                              be overridden at runtime).
915                            (default=0.35)],                            (default=0.35)],
916    [config_global_attenuation="${enableval}"],    [config_global_attenuation_default="${enableval}"],
917    [config_global_attenuation="0.35"]    [config_global_attenuation_default="0.35"]
918  )  )
919  AC_DEFINE_UNQUOTED(CONFIG_GLOBAL_ATTENUATION, $config_global_attenuation, [Define global volume attenuation (as floating point factor).])  AC_DEFINE_UNQUOTED(CONFIG_GLOBAL_ATTENUATION_DEFAULT, $config_global_attenuation_default, [Define default global volume attenuation (as floating point factor).])
920    
921  AC_ARG_ENABLE(voice-steal-algo,  AC_ARG_ENABLE(voice-steal-algo,
922    [  --enable-voice-steal-algo    [  --enable-voice-steal-algo
# Line 506  AC_ARG_ENABLE(force-filter, Line 956  AC_ARG_ENABLE(force-filter,
956                            If enabled will force filter to be used even if                            If enabled will force filter to be used even if
957                            no usage was define in instrument patch files.                            no usage was define in instrument patch files.
958                            (default=no).],                            (default=no).],
959    [config_force_filter="yes"],    [config_force_filter="$enableval"],
960    [config_force_filter="no"]    [config_force_filter="no"]
961  )  )
962  if test "$config_force_filter" = "yes"; then  if test "$config_force_filter" = "yes"; then
# Line 596  AC_ARG_ENABLE(gs-checksum, Line 1046  AC_ARG_ENABLE(gs-checksum,
1046                            messages which do not provide a correct checksum                            messages which do not provide a correct checksum
1047                            will be ignored. This is disabled by default as                            will be ignored. This is disabled by default as
1048                            not all devices honor GS checksums.],                            not all devices honor GS checksums.],
1049    [config_assert_gs_sysex_checksum="yes"],    [config_assert_gs_sysex_checksum="$enableval"],
1050    [config_assert_gs_sysex_checksum="no"]    [config_assert_gs_sysex_checksum="no"]
1051  )  )
1052  if test "config_assert_gs_sysex_checksum" = "yes"; then  if test "config_assert_gs_sysex_checksum" = "yes"; then
# Line 642  AC_ARG_ENABLE(signed-triang-algo, Line 1092  AC_ARG_ENABLE(signed-triang-algo,
1092                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1093                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1094                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1095                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1096                              diharmonic:                              diharmonic:
1097                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1098                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 677  AC_ARG_ENABLE(unsigned-triang-algo, Line 1126  AC_ARG_ENABLE(unsigned-triang-algo,
1126                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1127                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1128                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1129                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1130                              diharmonic:                              diharmonic:
1131                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1132                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 709  AC_ARG_ENABLE(process-muted-channels, Line 1157  AC_ARG_ENABLE(process-muted-channels,
1157                            will not discard notes, triggered in mute mode,                            will not discard notes, triggered in mute mode,
1158                            when the channel is unmuted. But also will reduce                            when the channel is unmuted. But also will reduce
1159                            the efficiency.],                            the efficiency.],
1160    [config_process_muted_channels="yes"],    [config_process_muted_channels="$enableval"],
1161    [config_process_muted_channels="no"]    [config_process_muted_channels="no"]
1162  )  )
1163  if test "$config_process_muted_channels" = "yes"; then  if test "$config_process_muted_channels" = "yes"; then
1164    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.])
1165  fi  fi
1166    
1167    AC_ARG_ENABLE(process-all-notes-off,
1168      [  --disable-process-all-notes-off
1169                              Disable interpretation of All-Notes-Off MIDI
1170                              messages (default=on). By default LS will release
1171                              all voices whenever it receives an All-Notes-Off
1172                              MIDI message. You can disable this behavior, so
1173                              that LS simply ignores such messages.],
1174      [config_process_all_notes_off="$enableval"],
1175      [config_process_all_notes_off="yes"]
1176    )
1177    if test "$config_process_all_notes_off" = "yes"; then
1178      AC_DEFINE_UNQUOTED(CONFIG_PROCESS_ALL_NOTES_OFF, 1, [Define to 1 if you want to enable processing of All-Notes-Off MIDI messages.])
1179    fi
1180    
1181    AC_ARG_ENABLE(interpolate-volume,
1182      [  --disable-interpolate-volume
1183                              Disable interpolation of volume modulation
1184                              (default=on). With this enabled, the volume changes
1185                              generated by for example the envelope generator
1186                              will be smoother, minimizing the risk for audio
1187                              clicks. Disable it to reduce CPU usage.],
1188      [config_interpolate_volume="$enableval"],
1189      [config_interpolate_volume="yes"]
1190    )
1191    if test "$config_interpolate_volume" = "yes"; then
1192      AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])
1193    fi
1194    
1195    AC_ARG_ENABLE(master-volume-sysex-by-port,
1196      [  --enable-master-volume-sysex-by-port
1197                              Whether global volume sysex message should be
1198                              applied globally to the whole sampler or only to
1199                              the sampler channels connected to the same MIDI
1200                              input port on which the sysex message arrived on.
1201                              By default global volume sysex messages apply
1202                              globally to the whole sampler, since many MIDI
1203                              devices behave that way.],
1204      [config_master_volume_sysex_by_port="$enableval"],
1205      [config_master_volume_sysex_by_port="no"]
1206    )
1207    if test "$config_master_volume_sysex_by_port" = "yes"; then
1208      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.])
1209    fi
1210    
1211    AC_ARG_ENABLE(plugin-dir,
1212      [  --enable-plugin-dir
1213                              Directory where the sampler shall look for potential plugins,
1214                              that is 3rd party shared libraries that should be loaded by
1215                              the sampler on startup. By default the sampler will search
1216                              for plugins in the subdirectory "plugins" below its own
1217                              library directory.
1218                              (i.e. /usr/local/lib/linuxsampler/plugins)],
1219      [config_plugin_dir="${enableval}"],
1220      [config_plugin_dir="${libdir}/linuxsampler/plugins"]
1221    )
1222    AC_SUBST(config_plugin_dir)
1223    
1224    AC_ARG_ENABLE(default-instruments-db-location,
1225      [  --enable-default-instruments-db-location
1226                              Only when instruments DB feature is enabled: file name
1227                              which shall be taken as default location of the
1228                              instruments DB file. This location can still be
1229                              overridden at runtime with a command line switch.
1230                              (default: /var/lib/linuxsampler/instruments.db)],
1231      [config_default_instruments_db_file="${enableval}"],
1232      [config_default_instruments_db_file="/var/lib/linuxsampler/instruments.db"]
1233    )
1234    AC_DEFINE_UNQUOTED(
1235        CONFIG_DEFAULT_INSTRUMENTS_DB_LOCATION,
1236        "$config_default_instruments_db_file",
1237        [Only when instruments DB feature is enabled: default location of the DB file.]
1238    )
1239    AC_SUBST(config_default_instruments_db_file)
1240    
1241    
1242  ###########################################################################  ###########################################################################
1243  # Automatic Benchmarks (to detect the best algorithms for the system)  # Automatic Benchmarks (to detect the best algorithms for the system)
1244    
 AC_LANG_SAVE  
   
1245  if test "$config_signed_triang_algo" = "benchmark"; then  if test "$config_signed_triang_algo" = "benchmark"; then
1246      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1247      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1248      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1249              #define SIGNED 1              #define SIGNED 1
1250              #define SILENT 1              #define SILENT 1
1251              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1252          ],          ]])],
1253          triang_signed=0,          triang_signed=0,
1254          triang_signed=$?,          triang_signed=$?,
1255          triang_signed=0          triang_signed=0
1256      )      )
1257        AC_LANG_POP([C++])
1258      if test "$triang_signed" = "2"; then      if test "$triang_signed" = "2"; then
1259          config_signed_triang_algo="intmath"          config_signed_triang_algo="intmath"
1260          echo "integer math"          echo "integer math"
# Line 750  if test "$config_signed_triang_algo" = " Line 1271  if test "$config_signed_triang_algo" = "
1271          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1272          exit -1;          exit -1;
1273      fi      fi
1274    else
1275        case "$config_signed_triang_algo" in
1276            intmath)
1277                triang_signed=2 ;;
1278            diharmonic)
1279                triang_signed=3 ;;
1280            intmathabs)
1281                triang_signed=5 ;;
1282        esac
1283  fi  fi
1284  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ALGO, ${triang_signed}, [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.])
1285    
1286  if test "$config_unsigned_triang_algo" = "benchmark"; then  if test "$config_unsigned_triang_algo" = "benchmark"; then
1287      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1288      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1289      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1290              #define SIGNED 0              #define SIGNED 0
1291              #define SILENT 1              #define SILENT 1
1292              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1293          ],          ]])],
1294          triang_unsigned=0,          triang_unsigned=0,
1295          triang_unsigned=$?,          triang_unsigned=$?,
1296          triang_unsigned=0          triang_unsigned=0
1297      )      )
1298        AC_LANG_POP([C++])
1299      if test "$triang_unsigned" = "2"; then      if test "$triang_unsigned" = "2"; then
1300          config_unsigned_triang_algo="intmath"          config_unsigned_triang_algo="intmath"
1301          echo "integer math"          echo "integer math"
# Line 781  if test "$config_unsigned_triang_algo" = Line 1312  if test "$config_unsigned_triang_algo" =
1312          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1313          exit -1;          exit -1;
1314      fi      fi
1315    else
1316        case "$config_unsigned_triang_algo" in
1317            intmath)
1318                triang_unsigned=2 ;;
1319            diharmonic)
1320                triang_unsigned=3 ;;
1321            intmathabs)
1322                triang_unsigned=5 ;;
1323        esac
1324  fi  fi
1325  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.])
1326    
 AC_LANG_RESTORE  
   
1327    
1328  ###########################################################################  ###########################################################################
1329  # Create Build Files  # Create Build Files
1330    
1331  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  
1332    
1333  # 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  
1334    
1335  # 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
1336  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
1337  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
1338    
1339  AC_OUTPUT( \  AC_CONFIG_FILES([\
1340      Makefile \      Makefile \
1341      man/Makefile \      man/Makefile \
1342      man/linuxsampler.1 \      man/linuxsampler.1 \
1343        man/lscp.1 \
1344      src/Makefile \      src/Makefile \
1345        src/db/Makefile \
1346      src/network/Makefile \      src/network/Makefile \
1347      src/engines/Makefile \      src/engines/Makefile \
1348      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1349        src/engines/sf2/Makefile \
1350        src/engines/sfz/Makefile \
1351      src/engines/common/Makefile \      src/engines/common/Makefile \
1352      src/common/Makefile src/lib/Makefile \      src/effects/Makefile \
1353      src/lib/fileloader/Makefile \      src/common/Makefile \
     src/lib/fileloader/libgig/Makefile \  
1354      src/testcases/Makefile \      src/testcases/Makefile \
1355      src/drivers/Makefile \      src/drivers/Makefile \
1356      src/drivers/audio/Makefile \      src/drivers/audio/Makefile \
1357      src/drivers/midi/Makefile \      src/drivers/midi/Makefile \
1358        src/plugins/Makefile \
1359        src/hostplugins/Makefile \
1360        src/hostplugins/dssi/Makefile \
1361        src/hostplugins/lv2/Makefile \
1362        src/hostplugins/lv2/manifest.ttl \
1363        src/hostplugins/vst/Makefile \
1364        src/hostplugins/au/Makefile \
1365        src/scriptvm/Makefile \
1366        src/shell/Makefile \
1367      linuxsampler.spec \      linuxsampler.spec \
1368      debian/Makefile \      debian/Makefile \
1369      Artwork/Makefile \      Artwork/Makefile \
1370      scripts/Makefile \      scripts/Makefile \
1371      osx/Makefile \      osx/Makefile \
1372      osx/LinuxSampler.xcode/Makefile \      osx/linuxsampler.xcodeproj/Makefile \
1373      Documentation/Makefile \      Documentation/Makefile \
1374      Documentation/Engines/Makefile \      Documentation/Engines/Makefile \
1375      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
1376      linuxsampler.pc \      linuxsampler.pc \
1377      Doxyfile \      Doxyfile \
1378  )  ])
1379    AC_OUTPUT
1380    
1381    # resolve all nested variables in '${config_plugin_dir}'
1382    # (merely for providing a human readable summary below)
1383    while test $config_plugin_dir != `eval echo ${config_plugin_dir}` ; do
1384            config_plugin_dir=`eval echo ${config_plugin_dir}`
1385    done
1386    
1387    
1388  ###########################################################################  ###########################################################################
# Line 844  echo "" Line 1392  echo ""
1392  echo "#####################################################################"  echo "#####################################################################"
1393  echo "# LinuxSampler Configuration                                        #"  echo "# LinuxSampler Configuration                                        #"
1394  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1395    echo "# Release Version: ${VERSION}"
1396    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1397    echo "#-------------------------------------------------------------------"
1398  echo "# Assembly Optimizations: ${config_asm}"  echo "# Assembly Optimizations: ${config_asm}"
1399  echo "# Development Mode: ${config_dev_mode}"  echo "# Development Mode: ${config_dev_mode}"
1400  echo "# Debug Level: ${config_debug_level}"  echo "# Debug Level: ${config_debug_level}"
# Line 857  echo "# Streams to be refilled per Disk Line 1408  echo "# Streams to be refilled per Disk
1408  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1409  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1410  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
1411  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Default Maximum Disk Streams: ${config_max_streams}"
1412  echo "# Maximum Voices: ${config_max_voices}"  echo "# Default Maximum Voices: ${config_max_voices}"
1413  echo "# Default Subfragment Size: ${config_subfragment_size}"  echo "# Default Subfragment Size: ${config_subfragment_size}"
1414  echo "# Global Volume Attenuation: ${config_global_attenuation}"  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1415  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
1416  echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"  echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"
1417  echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"  echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"
# Line 876  echo "# Override Filter Resonance Contro Line 1427  echo "# Override Filter Resonance Contro
1427  echo "# Override Filter Type: ${config_override_filter_type}"  echo "# Override Filter Type: ${config_override_filter_type}"
1428  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1429  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
1430    echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1431    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1432    echo "# Interpolate Volume: ${config_interpolate_volume}"
1433    echo "# Instruments database support: ${config_instruments_db}"
1434    if test "$config_instruments_db" = "yes"; then
1435    echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1436    fi
1437    echo "# Plugin Path: ${config_plugin_dir}"
1438    echo "#-------------------------------------------------------------------"
1439    echo "# MIDI Input Drivers:"
1440    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}"
1441    echo "#-------------------------------------------------------------------"
1442    echo "# Audio Output Drivers:"
1443    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}"
1444    echo "#-------------------------------------------------------------------"
1445    echo "# Sampler Engines:"
1446    echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes"
1447    echo "#-------------------------------------------------------------------"
1448    echo "# Effect plugin systems for internal effects:"
1449    echo "# LADSPA: yes"
1450    echo "#-------------------------------------------------------------------"
1451    echo "# Building sampler as plugin for following host standards:"
1452    echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}"
1453  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1454  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
1455  echo "#####################################################################"  echo "#####################################################################"

Legend:
Removed from v.829  
changed lines
  Added in v.2787

  ViewVC Help
Powered by ViewVC