/[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 2594 by schoenebeck, Thu Jun 5 00:16:25 2014 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, 1)
5  LINUXSAMPLER_RELEASE_MINOR=3  m4_define(linuxsampler_release_minor, 0)
6  LINUXSAMPLER_RELEASE_BUILD=3cvs  m4_define(linuxsampler_release_build, 0.svn42)
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=3
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=6
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    AC_SUBST(LV2_CFLAGS)
537    AC_SUBST(LV2_LIBS)
538    AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")
539    
540    # VST
541    AC_ARG_ENABLE(vstsdk-dir,
542      [  --enable-vstsdk-dir
543                              Directory where the VST SDK is located.
544                              This automatically enables the compilation
545                              of the VST plugin.],
546      [VSTSDK_DIR="${enableval}"],
547      [VSTSDK_DIR=]
548    )
549    AC_SUBST(VSTSDK_DIR)
550    AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")
551    config_have_vst="no"
552    if test "x$VSTSDK_DIR" != "x"; then
553        config_have_vst="yes"
554    fi
555    
556    # AU
557    AC_CHECK_HEADERS(AudioUnit/AudioUnit.h,
558            config_have_au="yes",
559            config_have_au="no")
560    AM_CONDITIONAL(HAVE_AU, test $config_have_au = "yes")
561    AM_CONDITIONAL(HAVE_AUFLAGS, test "$AUFLAGS" != "")
562    
563    if test $config_have_au = "yes" ; then
564        if test "x$DEVELOPER_EXTRAS_DIR" = "x" ; then
565            if test -d /Developer/Extras ; then
566                DEVELOPER_EXTRAS_DIR=/Developer/Extras
567            else      
568                DEVELOPER_EXTRAS_DIR=/Developer/Examples
569            fi
570        fi
571        AC_SUBST(DEVELOPER_EXTRAS_DIR)
572    fi
573    
574    if test "x$MAC_PLUGIN_INSTALL_DIR" = "x" ; then
575        MAC_PLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins
576    fi
577    AC_SUBST(MAC_PLUGIN_INSTALL_DIR)
578    
579    # have we found at least one MIDI input and one audio output driver ?
580    if test "$have_midi_input_driver" = "false"; then
581        echo "No supported MIDI input system found!"
582        echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
583        echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
584        echo "If you think you have one of those available on your system, make sure you"
585        echo "also have the respective development (header) files installed."
586        exit -1;
587    fi
588    if test "$have_audio_output_driver" = "false"; then
589        echo "No supported audio output system found!"
590        echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
591        echo "driver at the moment!"
592        exit -1;
593    fi
594    
595    
596    
597    ###########################################################################
598    # Checks for various DLL libraries
599    
600  # Check presence of libgig  # Check presence of libgig
601  libgig_version="2.0.2"  libgig_version="3.3.0"
602  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)
603  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
604      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 231  fi Line 610  fi
610  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
611  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
612    
613  # SQLITE3  # SF2 Engine (requires libgig)
614  PKG_CHECK_MODULES(SQLITE3, sqlite3, HAVE_SQLITE3=true, HAVE_SQLITE3=false)  AC_ARG_ENABLE(sf2-engine,
615  AC_SUBST(SQLITE3_LIBS)    [  --disable-sf2-engine
616  AC_SUBST(SQLITE3_CFLAGS)                            Disable compilation of the SF2 engine.
617  if test $HAVE_SQLITE3 = false; then                            You need to have libgig installed.],
618      HAVE_SQLITE3=0;    [config_sf2_engine="$enableval"],
619      echo "no, support for instrument DB will be disabled!"    [config_sf2_engine="yes"]
620    )
621    HAVE_SF2=0;
622    if test "$config_sf2_engine" = "yes"; then
623        HAVE_SF2=1
624  else  else
625      HAVE_SQLITE3=1      echo "SF2 engine disabled by configure script parameter"
626      echo "yes"  fi
627    AM_CONDITIONAL(HAVE_SF2, test $HAVE_SF2 = 1)
628    AC_DEFINE_UNQUOTED(HAVE_SF2,$HAVE_SF2,[Define to 1 if you want SF2 engine and have libsf2 installed.])
629    config_have_sf2="no"
630    if test $HAVE_SF2 = "1"; then
631        config_have_sf2="yes"
632  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.])  
633    
634  if test "$have_midi_input_driver" = "false"; then  # Check presence of libsndfile
635      echo "No supported MIDI input system found!"  libsndfile_version="1.0"
636      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)
637      echo "ALSA, MIDIShare, CoreMIDI."  if test "$HAVE_SNDFILE" = "false"; then
638      echo "If you think you have one of those available on your system, make sure you"      echo "Required libsndfile version not found!"
639      echo "also have the respective development (header) files installed."      echo "You need to have libsndfile version ${libsndfile_version} installed!"
640      exit -1;      exit -1;
641    else
642        echo "yes, found libsndfile $libsndfile_version"
643  fi  fi
644  if test "$have_audio_output_driver" = "false"; then  AC_SUBST(SNDFILE_CFLAGS)
645      echo "No supported audio output system found!"  AC_SUBST(SNDFILE_LIBS)
646      echo "Sorry, LinuxSampler only supports ALSA and JACK as audio output driver at the moment!"  
647      exit -1;  # Check for Vorbis and FLAC support in libsndfile
648    linuxsampler_save_CFLAGS=$CFLAGS
649    CFLAGS="$SNDFILE_CFLAGS $CFLAGS"
650    AC_CHECK_DECLS([SF_FORMAT_VORBIS, SF_FORMAT_FLAC], [], [], [[#include <sndfile.h>]])
651    
652    # Check for loop functionality in libsndfile
653    AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],,
654                     [AC_MSG_WARN([Your version of libsndfile does not support
655        reading of loop information. LinuxSampler will not be able to
656        extract loop information from sample files.])],
657                     [#include <sndfile.h>])
658    CFLAGS=$linuxsampler_save_CFLAGS
659    
660    # Instruments DB feature (requires SQLite 3.3)
661    AC_ARG_ENABLE(instruments-db,
662      [  --disable-instruments-db
663                              Disable compilation of the sampler's instruments
664                              database feature. You need to have SQLite 3.3
665                              or younger installed for this feature.],
666      [config_instruments_db="$enableval"],
667      [config_instruments_db="yes"]
668    )
669    HAVE_SQLITE3=0;
670    if test "$config_instruments_db" = "yes"; then
671        # Check presence of sqlite3
672        sqlite_version="3.3"
673        PKG_CHECK_MODULES(SQLITE3, sqlite3 >= $sqlite_version, HAVE_SQLITE3=true, HAVE_SQLITE3=false)
674        AC_SUBST(SQLITE3_LIBS)
675        AC_SUBST(SQLITE3_CFLAGS)
676        if test $HAVE_SQLITE3 = false; then
677            HAVE_SQLITE3=0
678            config_instruments_db="no"
679            echo "*** Required sqlite version not found!"
680            echo "*** You need to have sqlite version ${sqlite_version} or higher"
681            echo "*** for instruments database support to be enabled."
682            echo "*** Support for instruments DB will be disabled!"
683        else
684            HAVE_SQLITE3=1
685        fi
686    else
687        echo "Instruments DB feature disabled by configure script parameter"
688  fi  fi
689    AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
690    AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you want the instruments DB feature and have SQLITE3 installed.])
691    
692    
693    
694  ###########################################################################  ###########################################################################
# Line 266  fi Line 697  fi
697  # TODO: should we use AC_ARG_VAR(variable, description) instead?  # TODO: should we use AC_ARG_VAR(variable, description) instead?
698    
699  AC_ARG_ENABLE(asm,  AC_ARG_ENABLE(asm,
700    [  --enable-asm    [  --disable-asm
701                            Enable hand-crafted assembly optimizations                            Enable hand-crafted assembly optimizations
702                            (default=off). LinuxSampler provides CPU specific                            (default=on). LinuxSampler provides CPU specific
703                            assembly optimizations for the most important                            assembly optimizations. This is currently limited
704                            synthesis algorithms. This is currently disabled                            to just enter a fast (denormal) FPU mode on x86
705                            by default since current asm code is broken.],                            platforms. There are currently no synthesis core
706    [config_asm="yes"],                            assembly optimizations anymore since LS 0.4.0],
707    [config_asm="no"]    [config_asm="$enableval"],
708      [config_asm="yes"]
709  )  )
710  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
711    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.])
712  fi  fi
713    
714  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
715    [  --disable-dev-mode    [  --enable-dev-mode
716                            Disable development mode (default=on). In that mode                            Enable development mode (default=off). In that mode
717                            we do some extra sanity checks here and there.                            we do some extra sanity checks here and there.
718                            This helps to spot possible problems, but reduces                            This helps to spot possible problems, but reduces
719                            efficiency a bit],                            efficiency a bit],
720    [config_dev_mode="no"],    [config_dev_mode="$enableval"],
721    [config_dev_mode="yes"]    [config_dev_mode="no"]
722  )  )
723  if test "$config_dev_mode" = "yes"; then  if test "$config_dev_mode" = "yes"; then
724    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 745  AC_ARG_ENABLE(rt-exceptions,
745                            context as well. Otherwise if disabled                            context as well. Otherwise if disabled
746                            segmentation faults will be forced by the                            segmentation faults will be forced by the
747                            application on critical errors.],                            application on critical errors.],
748    [config_rt_exceptions="yes"],    [config_rt_exceptions="$enableval"],
749    [config_rt_exceptions="no"]    [config_rt_exceptions="no"]
750  )  )
751  if test "$config_rt_exceptions" = "yes"; then  if test "$config_rt_exceptions" = "yes"; then
752    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.])
753  fi  fi
754    
755    config_pthread_testcancel="$mac"
756    AC_ARG_ENABLE(pthread-testcancel,
757      [  --enable-pthread-testcancel
758                              Enable pthread_testcancel() calls and avoid
759                              asynchronous cancel of pthreads (default=yes
760                              for Mac targets, no otherwise).],
761      [config_pthread_testcancel="$enableval"],
762      [])
763    if test "$config_pthread_testcancel" = "yes"; then
764      AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])
765    fi
766    
767  AC_ARG_ENABLE(preload-samples,  AC_ARG_ENABLE(preload-samples,
768    [  --enable-preload-samples    [  --enable-preload-samples
769                            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 869  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_
869    
870  AC_ARG_ENABLE(max-streams,  AC_ARG_ENABLE(max-streams,
871    [  --enable-max-streams    [  --enable-max-streams
872                            Maximum amount of disk streams (default=90). This                            Initial maximum amount of disk streams
873                            value should always be higher than the maximum                            (default=90). This value can be changed at
874                            amount of voices.],                            runtime. It should always be higher than the
875                              maximum amount of voices.],
876    [config_max_streams="${enableval}"],    [config_max_streams="${enableval}"],
877    [config_max_streams="90"]    [config_max_streams="90"]
878  )  )
879  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.])
880    
881  AC_ARG_ENABLE(max-voices,  AC_ARG_ENABLE(max-voices,
882    [  --enable-max-voices    [  --enable-max-voices
883                            Maximum amount of voices (default=64). This value                            Initial maximum amount of voices (default=64).
884                            should always be lower than the maximum amount of                            This value can be changed at runtime. It should
885                            disk streams.],                            always be lower than the maximum amount of disk
886                              streams.],
887    [config_max_voices="${enableval}"],    [config_max_voices="${enableval}"],
888    [config_max_voices="64"]    [config_max_voices="64"]
889  )  )
890  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.])
891    
892  AC_ARG_ENABLE(subfragment-size,  AC_ARG_ENABLE(subfragment-size,
893    [  --enable-subfragment-size    [  --enable-subfragment-size
# Line 458  AC_ARG_ENABLE(subfragment-size, Line 904  AC_ARG_ENABLE(subfragment-size,
904  )  )
905  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).])
906    
907  AC_ARG_ENABLE(global-attenuation,  AC_ARG_ENABLE(global-attenuation-default,
908    [  --enable-global-attenuation    [  --enable-global-attenuation-default
909                            To prevent clipping all samples will be lowered                            To prevent clipping all samples will be lowered
910                            in amplitude by this given factor.                            in amplitude by this given default factor (can
911                              be overridden at runtime).
912                            (default=0.35)],                            (default=0.35)],
913    [config_global_attenuation="${enableval}"],    [config_global_attenuation_default="${enableval}"],
914    [config_global_attenuation="0.35"]    [config_global_attenuation_default="0.35"]
915  )  )
916  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).])
917    
918  AC_ARG_ENABLE(voice-steal-algo,  AC_ARG_ENABLE(voice-steal-algo,
919    [  --enable-voice-steal-algo    [  --enable-voice-steal-algo
# Line 506  AC_ARG_ENABLE(force-filter, Line 953  AC_ARG_ENABLE(force-filter,
953                            If enabled will force filter to be used even if                            If enabled will force filter to be used even if
954                            no usage was define in instrument patch files.                            no usage was define in instrument patch files.
955                            (default=no).],                            (default=no).],
956    [config_force_filter="yes"],    [config_force_filter="$enableval"],
957    [config_force_filter="no"]    [config_force_filter="no"]
958  )  )
959  if test "$config_force_filter" = "yes"; then  if test "$config_force_filter" = "yes"; then
# Line 596  AC_ARG_ENABLE(gs-checksum, Line 1043  AC_ARG_ENABLE(gs-checksum,
1043                            messages which do not provide a correct checksum                            messages which do not provide a correct checksum
1044                            will be ignored. This is disabled by default as                            will be ignored. This is disabled by default as
1045                            not all devices honor GS checksums.],                            not all devices honor GS checksums.],
1046    [config_assert_gs_sysex_checksum="yes"],    [config_assert_gs_sysex_checksum="$enableval"],
1047    [config_assert_gs_sysex_checksum="no"]    [config_assert_gs_sysex_checksum="no"]
1048  )  )
1049  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 1089  AC_ARG_ENABLE(signed-triang-algo,
1089                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1090                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1091                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1092                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1093                              diharmonic:                              diharmonic:
1094                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1095                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 677  AC_ARG_ENABLE(unsigned-triang-algo, Line 1123  AC_ARG_ENABLE(unsigned-triang-algo,
1123                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1124                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1125                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1126                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1127                              diharmonic:                              diharmonic:
1128                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1129                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 709  AC_ARG_ENABLE(process-muted-channels, Line 1154  AC_ARG_ENABLE(process-muted-channels,
1154                            will not discard notes, triggered in mute mode,                            will not discard notes, triggered in mute mode,
1155                            when the channel is unmuted. But also will reduce                            when the channel is unmuted. But also will reduce
1156                            the efficiency.],                            the efficiency.],
1157    [config_process_muted_channels="yes"],    [config_process_muted_channels="$enableval"],
1158    [config_process_muted_channels="no"]    [config_process_muted_channels="no"]
1159  )  )
1160  if test "$config_process_muted_channels" = "yes"; then  if test "$config_process_muted_channels" = "yes"; then
1161    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.])
1162  fi  fi
1163    
1164    AC_ARG_ENABLE(process-all-notes-off,
1165      [  --disable-process-all-notes-off
1166                              Disable interpretation of All-Notes-Off MIDI
1167                              messages (default=on). By default LS will release
1168                              all voices whenever it receives an All-Notes-Off
1169                              MIDI message. You can disable this behavior, so
1170                              that LS simply ignores such messages.],
1171      [config_process_all_notes_off="$enableval"],
1172      [config_process_all_notes_off="yes"]
1173    )
1174    if test "$config_process_all_notes_off" = "yes"; then
1175      AC_DEFINE_UNQUOTED(CONFIG_PROCESS_ALL_NOTES_OFF, 1, [Define to 1 if you want to enable processing of All-Notes-Off MIDI messages.])
1176    fi
1177    
1178    AC_ARG_ENABLE(interpolate-volume,
1179      [  --disable-interpolate-volume
1180                              Disable interpolation of volume modulation
1181                              (default=on). With this enabled, the volume changes
1182                              generated by for example the envelope generator
1183                              will be smoother, minimizing the risk for audio
1184                              clicks. Disable it to reduce CPU usage.],
1185      [config_interpolate_volume="$enableval"],
1186      [config_interpolate_volume="yes"]
1187    )
1188    if test "$config_interpolate_volume" = "yes"; then
1189      AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])
1190    fi
1191    
1192    AC_ARG_ENABLE(master-volume-sysex-by-port,
1193      [  --enable-master-volume-sysex-by-port
1194                              Whether global volume sysex message should be
1195                              applied globally to the whole sampler or only to
1196                              the sampler channels connected to the same MIDI
1197                              input port on which the sysex message arrived on.
1198                              By default global volume sysex messages apply
1199                              globally to the whole sampler, since many MIDI
1200                              devices behave that way.],
1201      [config_master_volume_sysex_by_port="$enableval"],
1202      [config_master_volume_sysex_by_port="no"]
1203    )
1204    if test "$config_master_volume_sysex_by_port" = "yes"; then
1205      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.])
1206    fi
1207    
1208    AC_ARG_ENABLE(plugin-dir,
1209      [  --enable-plugin-dir
1210                              Directory where the sampler shall look for potential plugins,
1211                              that is 3rd party shared libraries that should be loaded by
1212                              the sampler on startup. By default the sampler will search
1213                              for plugins in the subdirectory "plugins" below its own
1214                              library directory.
1215                              (i.e. /usr/local/lib/linuxsampler/plugins)],
1216      [config_plugin_dir="${enableval}"],
1217      [config_plugin_dir="${libdir}/linuxsampler/plugins"]
1218    )
1219    AC_SUBST(config_plugin_dir)
1220    
1221    AC_ARG_ENABLE(default-instruments-db-location,
1222      [  --enable-default-instruments-db-location
1223                              Only when instruments DB feature is enabled: file name
1224                              which shall be taken as default location of the
1225                              instruments DB file. This location can still be
1226                              overridden at runtime with a command line switch.
1227                              (default: /var/lib/linuxsampler/instruments.db)],
1228      [config_default_instruments_db_file="${enableval}"],
1229      [config_default_instruments_db_file="/var/lib/linuxsampler/instruments.db"]
1230    )
1231    AC_DEFINE_UNQUOTED(
1232        CONFIG_DEFAULT_INSTRUMENTS_DB_LOCATION,
1233        "$config_default_instruments_db_file",
1234        [Only when instruments DB feature is enabled: default location of the DB file.]
1235    )
1236    AC_SUBST(config_default_instruments_db_file)
1237    
1238    
1239  ###########################################################################  ###########################################################################
1240  # Automatic Benchmarks (to detect the best algorithms for the system)  # Automatic Benchmarks (to detect the best algorithms for the system)
1241    
 AC_LANG_SAVE  
   
1242  if test "$config_signed_triang_algo" = "benchmark"; then  if test "$config_signed_triang_algo" = "benchmark"; then
1243      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1244      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1245      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1246              #define SIGNED 1              #define SIGNED 1
1247              #define SILENT 1              #define SILENT 1
1248              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1249          ],          ]])],
1250          triang_signed=0,          triang_signed=0,
1251          triang_signed=$?,          triang_signed=$?,
1252          triang_signed=0          triang_signed=0
1253      )      )
1254        AC_LANG_POP([C++])
1255      if test "$triang_signed" = "2"; then      if test "$triang_signed" = "2"; then
1256          config_signed_triang_algo="intmath"          config_signed_triang_algo="intmath"
1257          echo "integer math"          echo "integer math"
# Line 750  if test "$config_signed_triang_algo" = " Line 1268  if test "$config_signed_triang_algo" = "
1268          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1269          exit -1;          exit -1;
1270      fi      fi
1271    else
1272        case "$config_signed_triang_algo" in
1273            intmath)
1274                triang_signed=2 ;;
1275            diharmonic)
1276                triang_signed=3 ;;
1277            intmathabs)
1278                triang_signed=5 ;;
1279        esac
1280  fi  fi
1281  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.])
1282    
1283  if test "$config_unsigned_triang_algo" = "benchmark"; then  if test "$config_unsigned_triang_algo" = "benchmark"; then
1284      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1285      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1286      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1287              #define SIGNED 0              #define SIGNED 0
1288              #define SILENT 1              #define SILENT 1
1289              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1290          ],          ]])],
1291          triang_unsigned=0,          triang_unsigned=0,
1292          triang_unsigned=$?,          triang_unsigned=$?,
1293          triang_unsigned=0          triang_unsigned=0
1294      )      )
1295        AC_LANG_POP([C++])
1296      if test "$triang_unsigned" = "2"; then      if test "$triang_unsigned" = "2"; then
1297          config_unsigned_triang_algo="intmath"          config_unsigned_triang_algo="intmath"
1298          echo "integer math"          echo "integer math"
# Line 781  if test "$config_unsigned_triang_algo" = Line 1309  if test "$config_unsigned_triang_algo" =
1309          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1310          exit -1;          exit -1;
1311      fi      fi
1312    else
1313        case "$config_unsigned_triang_algo" in
1314            intmath)
1315                triang_unsigned=2 ;;
1316            diharmonic)
1317                triang_unsigned=3 ;;
1318            intmathabs)
1319                triang_unsigned=5 ;;
1320        esac
1321  fi  fi
1322  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.])
1323    
 AC_LANG_RESTORE  
   
1324    
1325  ###########################################################################  ###########################################################################
1326  # Create Build Files  # Create Build Files
1327    
1328  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  
1329    
1330  # 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  
1331    
1332  # 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
1333  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
1334  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
1335    
1336  AC_OUTPUT( \  AC_CONFIG_FILES([\
1337      Makefile \      Makefile \
1338      man/Makefile \      man/Makefile \
1339      man/linuxsampler.1 \      man/linuxsampler.1 \
1340        man/lscp.1 \
1341      src/Makefile \      src/Makefile \
1342        src/db/Makefile \
1343      src/network/Makefile \      src/network/Makefile \
1344      src/engines/Makefile \      src/engines/Makefile \
1345      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1346        src/engines/sf2/Makefile \
1347        src/engines/sfz/Makefile \
1348      src/engines/common/Makefile \      src/engines/common/Makefile \
1349      src/common/Makefile src/lib/Makefile \      src/effects/Makefile \
1350      src/lib/fileloader/Makefile \      src/common/Makefile \
     src/lib/fileloader/libgig/Makefile \  
1351      src/testcases/Makefile \      src/testcases/Makefile \
1352      src/drivers/Makefile \      src/drivers/Makefile \
1353      src/drivers/audio/Makefile \      src/drivers/audio/Makefile \
1354      src/drivers/midi/Makefile \      src/drivers/midi/Makefile \
1355        src/plugins/Makefile \
1356        src/hostplugins/Makefile \
1357        src/hostplugins/dssi/Makefile \
1358        src/hostplugins/lv2/Makefile \
1359        src/hostplugins/lv2/manifest.ttl \
1360        src/hostplugins/vst/Makefile \
1361        src/hostplugins/au/Makefile \
1362        src/scriptvm/Makefile \
1363        src/shell/Makefile \
1364      linuxsampler.spec \      linuxsampler.spec \
1365      debian/Makefile \      debian/Makefile \
1366      Artwork/Makefile \      Artwork/Makefile \
1367      scripts/Makefile \      scripts/Makefile \
1368      osx/Makefile \      osx/Makefile \
1369      osx/LinuxSampler.xcode/Makefile \      osx/linuxsampler.xcodeproj/Makefile \
1370      Documentation/Makefile \      Documentation/Makefile \
1371      Documentation/Engines/Makefile \      Documentation/Engines/Makefile \
1372      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
1373      linuxsampler.pc \      linuxsampler.pc \
1374      Doxyfile \      Doxyfile \
1375  )  ])
1376    AC_OUTPUT
1377    
1378    # resolve all nested variables in '${config_plugin_dir}'
1379    # (merely for providing a human readable summary below)
1380    while test $config_plugin_dir != `eval echo ${config_plugin_dir}` ; do
1381            config_plugin_dir=`eval echo ${config_plugin_dir}`
1382    done
1383    
1384    
1385  ###########################################################################  ###########################################################################
# Line 844  echo "" Line 1389  echo ""
1389  echo "#####################################################################"  echo "#####################################################################"
1390  echo "# LinuxSampler Configuration                                        #"  echo "# LinuxSampler Configuration                                        #"
1391  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1392    echo "# Release Version: ${VERSION}"
1393    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1394    echo "#-------------------------------------------------------------------"
1395  echo "# Assembly Optimizations: ${config_asm}"  echo "# Assembly Optimizations: ${config_asm}"
1396  echo "# Development Mode: ${config_dev_mode}"  echo "# Development Mode: ${config_dev_mode}"
1397  echo "# Debug Level: ${config_debug_level}"  echo "# Debug Level: ${config_debug_level}"
# Line 857  echo "# Streams to be refilled per Disk Line 1405  echo "# Streams to be refilled per Disk
1405  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1406  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1407  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
1408  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Default Maximum Disk Streams: ${config_max_streams}"
1409  echo "# Maximum Voices: ${config_max_voices}"  echo "# Default Maximum Voices: ${config_max_voices}"
1410  echo "# Default Subfragment Size: ${config_subfragment_size}"  echo "# Default Subfragment Size: ${config_subfragment_size}"
1411  echo "# Global Volume Attenuation: ${config_global_attenuation}"  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1412  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
1413  echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"  echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"
1414  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 1424  echo "# Override Filter Resonance Contro
1424  echo "# Override Filter Type: ${config_override_filter_type}"  echo "# Override Filter Type: ${config_override_filter_type}"
1425  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1426  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
1427    echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1428    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1429    echo "# Interpolate Volume: ${config_interpolate_volume}"
1430    echo "# Instruments database support: ${config_instruments_db}"
1431    if test "$config_instruments_db" = "yes"; then
1432    echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1433    fi
1434    echo "# Plugin Path: ${config_plugin_dir}"
1435    echo "#-------------------------------------------------------------------"
1436    echo "# MIDI Input Drivers:"
1437    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}"
1438    echo "#-------------------------------------------------------------------"
1439    echo "# Audio Output Drivers:"
1440    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}"
1441    echo "#-------------------------------------------------------------------"
1442    echo "# Sampler Engines:"
1443    echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes"
1444    echo "#-------------------------------------------------------------------"
1445    echo "# Effect plugin systems for internal effects:"
1446    echo "# LADSPA: yes"
1447    echo "#-------------------------------------------------------------------"
1448    echo "# Building sampler as plugin for following host standards:"
1449    echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}"
1450  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1451  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
1452  echo "#####################################################################"  echo "#####################################################################"

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

  ViewVC Help
Powered by ViewVC