/[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 1049 by schoenebeck, Wed Feb 28 06:53:42 2007 UTC linuxsampler/trunk/configure.ac revision 2512 by schoenebeck, Sun Jan 26 17:47:43 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=4  m4_define(linuxsampler_release_minor, 0)
6  LINUXSAMPLER_RELEASE_BUILD=0.4cvs  m4_define(linuxsampler_release_build, 0.svn27)
7    
8    
9    AC_INIT([linuxsampler],[linuxsampler_release_major.linuxsampler_release_minor.linuxsampler_release_build])
10    AC_CONFIG_SRCDIR([configure.ac])
11    
12  #------------------------------------------------------------------------------------  #------------------------------------------------------------------------------------
13  # The following is the libtool / shared library version. This doesn't have to  # The following is the libtool / shared library version. This doesn't have to
# Line 24  LINUXSAMPLER_RELEASE_BUILD=0.4cvs Line 26  LINUXSAMPLER_RELEASE_BUILD=0.4cvs
26  #  6. If any interfaces have been removed since the last public release, then set age  #  6. If any interfaces have been removed since the last public release, then set age
27  #     to 0.  #     to 0.
28    
29  LIBLINUXSAMPLER_LT_CURRENT=0  LIBLINUXSAMPLER_LT_CURRENT=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"
# Line 33  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT Line 35  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT
35  # the LSCP specification version this LinuSampler release complies with:  # the LSCP specification version this LinuSampler release complies with:
36    
37  LSCP_RELEASE_MAJOR=1  LSCP_RELEASE_MAJOR=1
38  LSCP_RELEASE_MINOR=2  LSCP_RELEASE_MINOR=6
39    
40  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MAJOR, ${LSCP_RELEASE_MAJOR}, [LSCP spec major version this release complies with.])  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MAJOR, ${LSCP_RELEASE_MAJOR}, [LSCP spec major version this release complies with.])
41  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MINOR, ${LSCP_RELEASE_MINOR}, [LSCP spec minor version this release complies with.])  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MINOR, ${LSCP_RELEASE_MINOR}, [LSCP spec minor version this release complies with.])
42    
43  AM_PROG_LIBTOOL  AC_PROG_CXX
44    AC_LIBTOOL_WIN32_DLL
45    AC_PROG_LIBTOOL
46    
47  AC_SUBST(SHLIB_VERSION_ARG)  AC_SUBST(SHLIB_VERSION_ARG)
48  AC_SUBST(SHARED_VERSION_INFO)  AC_SUBST(SHARED_VERSION_INFO)
49    
50  AC_C_BIGENDIAN  module=yes eval LIB_EXT=$shrext_cmds
51  AC_CANONICAL_SYSTEM  AC_SUBST(LIB_EXT)
52    
53  AC_SUBST(target)  AC_C_BIGENDIAN
54  AC_SUBST(target_alias)  AC_CANONICAL_HOST
 AC_SUBST(target_cpu)  
 AC_SUBST(target_os)  
 AC_SUBST(target_vendor)  
55    
56    PKG_PROG_PKG_CONFIG
57    
58  ###########################################################################  ###########################################################################
59  # General Checks  # General Checks
60    
61    AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
62    
63  AC_MSG_CHECKING([whether x86 architecture])  AC_MSG_CHECKING([whether x86 architecture])
64  def_arch_x86=0  def_arch_x86=0
65  case $target_cpu in  case $host_cpu in
66    "i386" | "i486" | "i586" | "i686" | "i786")    "i386" | "i486" | "i586" | "i686" | "i786" | "x86_64")
67      echo "yes"      echo "yes"
68      def_arch_x86=1;;      def_arch_x86=1;;
69    *)    *)
# Line 71  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x8 Line 75  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x8
75  # (only if the user did not provide one)  # (only if the user did not provide one)
76  CXX_CPU_SWITCH=  CXX_CPU_SWITCH=
77  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then
78    if test "$def_arch_x86" = 1; then    if test "$def_arch_x86" = 1 -a "$host_cpu" != "x86_64"; then
79      CXX_CPU_SWITCH="-march=$target_cpu"      CXX_CPU_SWITCH="-march=$host_cpu"
80    elif test "$target_cpu" = "ppc"; then    elif test "$target_cpu" = "ppc"; then
81      CXX_CPU_SWITCH="-arch=$target_cpu"      CXX_CPU_SWITCH="-arch=$host_cpu"
82    fi    fi
83  fi  fi
84  AC_SUBST([CXX_CPU_SWITCH])  AC_SUBST([CXX_CPU_SWITCH])
85    
86    mac=no
87    linux=no
88    case "$host" in
89        *-*-darwin*)
90            mac=yes
91            ;;
92        *-*-linux*)
93            linux=yes
94            ;;
95    esac
96    AM_CONDITIONAL(LINUX, test "$linux" = yes)
97    AM_CONDITIONAL(MAC, test "$mac" = yes)
98    
99    # check if we're on MS Windows
100    AC_CHECK_HEADERS(
101        mmsystem.h,
102        have_windows=1,
103        have_windows=0,
104        [#include <windef.h>]
105    )
106    AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")
107    
108  AC_MSG_CHECKING([whether UNIX98 compatible])  AC_MSG_CHECKING([whether UNIX98 compatible])
109  AC_LANG_SAVE  AC_LANG_PUSH([C])
110  AC_LANG_C  AC_RUN_IFELSE([AC_LANG_SOURCE([[
 AC_TRY_RUN([  
111  #ifndef _GNU_SOURCE  #ifndef _GNU_SOURCE
112  #define _GNU_SOURCE 1  #define _GNU_SOURCE 1
113  #endif  #endif
# Line 94  exit(0); /* UNIX98 compatible */ Line 119  exit(0); /* UNIX98 compatible */
119  exit(-1); /* not UNIX98 compatible */  exit(-1); /* not UNIX98 compatible */
120  #endif  #endif
121  }  }
122  ],  ]])],
123  have_unix98="yes",  have_unix98="yes",
124  have_unix98="no",  have_unix98="no",
125  have_unix98="no"  have_unix98="no"
126  )  )
127  AC_LANG_RESTORE  AC_LANG_POP([C])
128  AC_MSG_RESULT([$have_unix98])  AC_MSG_RESULT([$have_unix98])
129  if test "$have_unix98" = "no"; then  if test "$have_unix98" = "no" -a "$have_windows" = "0" -a "$mac" = "no" ; then
130      if test "x$HAVE_UNIX98" = "x"; then      if test "x$HAVE_UNIX98" = "x"; then
131          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"
132          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"
133          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"
134          echo "have a UNIX98 compatible system."          echo "have a UNIX98 compatible system."
135          exit -1;          exit -1;
136      fi      fi
# Line 114  fi Line 139  fi
139  # check for <features.h>  # check for <features.h>
140  AC_CHECK_HEADERS(features.h)  AC_CHECK_HEADERS(features.h)
141    
142    # test for POSIX thread library
143    m4_ifdef([m4_include(m4/pthread.m4)],,
144                 [sinclude([m4/pthread.m4])])
145    ACX_PTHREAD
146    LIBS="$PTHREAD_LIBS $LIBS"
147    CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
148    CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
149    CC="$PTHREAD_CC"
150    
151    # check for a bug in NPTL-enabled glibc
152    # (see Gentoo bug report #194076)
153    AC_ARG_ENABLE(nptl-bug-check,
154      [  --disable-nptl-bug-check
155                              Disable check for a bug in certain NPTL-enabled
156                              glibc versions that caused crashs.],
157      [config_check_nptl_bug="$enableval"],
158      [config_check_nptl_bug="yes"]
159    )
160    if test "$config_check_nptl_bug" = "yes"; then
161        m4_ifdef([m4_include(m4/nptl_bug.m4)],,
162                 [sinclude([m4/nptl_bug.m4])])
163        ACX_NPTL_GLIBC_BUG([
164            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
165            echo "You seem to have a buggy PTHREAD library! LinuxSampler would"
166            echo "probably crash due to this. Please report us the system you are"
167            echo "using and/or file a bug report to the bug tracking system of"
168            echo "your distribution."
169            echo "If you have a NPTL-enabled glibc AND it was compiled for TLS as"
170            echo "well, you can try to circumvent this problem for now by setting"
171            echo "the environment variable LD_ASSUME_KERNEL=\"2.4.1\" , which"
172            echo "should cause this test to pass."
173            echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
174            AC_MSG_ERROR([possibly NPTL glibc bug detected])
175        ])
176    else
177        echo "NPTL glibc bug check disabled"
178    fi
179    
180    # FIXME: this is actually a dependency of libgig, not of LS directly, why
181    # isn't it hidden by libgig?
182    AC_CHECK_HEADERS(uuid/uuid.h)
183    AC_SEARCH_LIBS(uuid_generate, uuid)
184    
185    
186    
187  ###########################################################################  ###########################################################################
188  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
# Line 127  AC_ARG_ENABLE(alsa-driver, Line 196  AC_ARG_ENABLE(alsa-driver,
196    [  --disable-alsa-driver    [  --disable-alsa-driver
197                            Disable support for the Advanced Linux Sound                            Disable support for the Advanced Linux Sound
198                            Architecture (ALSA).],                            Architecture (ALSA).],
199    [config_alsa_driver="no"],    [config_alsa_driver="$enableval"],
200    [config_alsa_driver="yes"]    [config_alsa_driver="yes"]
201  )  )
202  have_alsa=0  have_alsa=0
# Line 147  if test "$config_alsa_driver" = "yes"; t Line 216  if test "$config_alsa_driver" = "yes"; t
216      fi      fi
217    
218      echo -n "checking Alsa version... "      echo -n "checking Alsa version... "
219      AC_LANG_SAVE      AC_LANG_PUSH([C])
220      AC_LANG_C      AC_RUN_IFELSE([AC_LANG_SOURCE([[
     AC_TRY_RUN([  
221          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
222          void main(void) {          void main(void) {
223              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 158  if test "$config_alsa_driver" = "yes"; t Line 226  if test "$config_alsa_driver" = "yes"; t
226              #endif              #endif
227              exit(SND_LIB_MAJOR);              exit(SND_LIB_MAJOR);
228          }          }
229      ],      ]])],
230      alsa_major=0,      alsa_major=0,
231      alsa_major=$?,      alsa_major=$?,
232      alsa_major=0      alsa_major=0
233      )      )
234      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
235          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
236          void main(void) {          void main(void) {
237              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 172  if test "$config_alsa_driver" = "yes"; t Line 240  if test "$config_alsa_driver" = "yes"; t
240              #endif              #endif
241              exit(SND_LIB_MINOR);              exit(SND_LIB_MINOR);
242          }          }
243      ],      ]])],
244      alsa_minor=0,      alsa_minor=0,
245      alsa_minor=$?,      alsa_minor=$?,
246      alsa_minor=0      alsa_minor=0
247      )      )
248      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
249          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
250          void main(void) {          void main(void) {
251              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 186  if test "$config_alsa_driver" = "yes"; t Line 254  if test "$config_alsa_driver" = "yes"; t
254              #endif              #endif
255              exit(SND_LIB_SUBMINOR);              exit(SND_LIB_SUBMINOR);
256          }          }
257      ],      ]])],
258      alsa_subminor=0,      alsa_subminor=0,
259      alsa_subminor=$?,      alsa_subminor=$?,
260      alsa_subminor=0      alsa_subminor=0
261      )      )
262      AC_LANG_RESTORE      AC_LANG_POP([C])
263      echo "$alsa_major.$alsa_minor.$alsa_subminor";      echo "$alsa_major.$alsa_minor.$alsa_subminor";
264      AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])      AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])
265      AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])      AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])
# Line 201  else Line 269  else
269  fi  fi
270  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
271  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.])
272    config_have_alsa="no"
273    if test $have_alsa = "1"; then
274        config_have_alsa="yes"
275    fi
276    
277  # JACK  # JACK
278  AC_ARG_ENABLE(jack-driver,  AC_ARG_ENABLE(jack-driver,
279    [  --disable-jack-driver    [  --disable-jack-driver
280                            Disable support for the Jack Audio Connection Kit                            Disable support for the Jack Audio Connection Kit
281                            (JACK).],                            (JACK).],
282    [config_jack_driver="no"],    [config_jack_driver="$enableval"],
283    [config_jack_driver="yes"]    [config_jack_driver="yes"]
284  )  )
285  have_jack=0  have_jack=0
# Line 216  if test "$config_jack_driver" = "yes"; t Line 288  if test "$config_jack_driver" = "yes"; t
288      if test $have_jack = "1"; then      if test $have_jack = "1"; then
289          AC_SUBST(JACK_LIBS)          AC_SUBST(JACK_LIBS)
290          AC_SUBST(JACK_CFLAGS)          AC_SUBST(JACK_CFLAGS)
291          AC_CHECK_LIB(jack, jack_client_name_size, [AC_DEFINE(HAVE_JACK_CLIENT_NAME_SIZE, 1, [Define to 1 if you have the `jack_client_name_size' function.])], , $JACK_LIBS)          linuxsampler_save_LIBS=$LIBS
292            LIBS="$JACK_LIBS $LIBS"
293            AC_CHECK_FUNCS(jack_client_name_size jack_client_open \
294                           jack_on_info_shutdown)
295            LIBS=$linuxsampler_save_LIBS
296          have_audio_output_driver="true";          have_audio_output_driver="true";
297      fi      fi
298  else  else
# Line 224  else Line 300  else
300  fi  fi
301  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
302  AC_DEFINE_UNQUOTED(HAVE_JACK,$have_jack,[Define to 1 if you have JACK installed.])  AC_DEFINE_UNQUOTED(HAVE_JACK,$have_jack,[Define to 1 if you have JACK installed.])
303    config_have_jack="no"
304    if test $have_jack = "1"; then
305        config_have_jack="yes"
306    fi
307    
308    # JACK MIDI
309    have_jack_midi=0
310    if test $have_jack = "1"; then
311        linuxsampler_save_CFLAGS=$CFLAGS
312        linuxsampler_save_LIBS=$LIBS
313        CFLAGS="$JACK_CFLAGS $CFLAGS"
314        LIBS="$JACK_LIBS $LIBS"
315        AC_CHECK_HEADER(jack/midiport.h, have_jack_midi=1, have_jack_midi=0)
316        if test $have_jack_midi = "1"; then
317            AC_CHECK_FUNCS(jack_midi_get_event_count)
318            AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jack/midiport.h>]], [[
319                jack_midi_clear_buffer(0, 0);
320            ]])], [AC_DEFINE(JACK_MIDI_FUNCS_NEED_NFRAMES, 1,
321                      [Define to 1 if you have the old jack midi functions that need an nframes argument.])])
322            have_midi_input_driver="true"
323        fi
324        CFLAGS=$linuxsampler_save_CFLAGS
325        LIBS=$linuxsampler_save_LIBS
326    fi
327    AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")
328    AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,
329                       [Define to 1 if you have JACK with MIDI support installed.])
330    config_have_jack_midi="no"
331    if test $have_jack_midi = "1"; then
332        config_have_jack_midi="yes"
333    fi
334    
335  # ARTS  # ARTS
336  AC_ARG_ENABLE(arts-driver,  AC_ARG_ENABLE(arts-driver,
337    [  --disable-arts-driver    [  --disable-arts-driver
338                            Disable support for the Analogue Realtime System                            Disable support for the Analogue Realtime System
339                            (aRts).],                            (aRts).],
340    [config_arts_driver="no"],    [config_arts_driver="$enableval"],
341    [config_arts_driver="yes"]    [config_arts_driver="yes"]
342  )  )
343  have_arts=0  have_arts=0
# Line 246  else Line 353  else
353  fi  fi
354  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
355  AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])  AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])
356    config_have_arts="no"
357    if test $have_arts = "1"; then
358        config_have_arts="yes"
359    fi
360    
361    # ASIO AUDIO (Win32)
362    AC_ARG_ENABLE(asiosdk-dir,
363      [  --enable-asiosdk-dir
364                              Directory where the ASIO SDK is located, this automatically
365                              enables the compilation of the ASIO audio output driver.],
366      [config_asiosdk_dir="${enableval}"],
367      [config_asiosdk_dir="."]
368    )
369    AC_SUBST(config_asiosdk_dir)
370    
371    AC_ARG_ENABLE(asio-driver,
372      [  --disable-asio-driver
373                              Disable support for the Windows ASIO driver.],
374      [config_asio_driver="$enableval"],
375      [config_asio_driver="yes"]
376    )
377    have_asio=0
378    ASIOSDK_BASEDIR=
379    if test "$config_asio_driver" = "yes"; then
380        asiosdk_headerfile=$config_asiosdk_dir/ASIOSDK2/common/asio.h
381        echo -n "checking for ASIO headerfile: $asiosdk_headerfile ...."
382        if test -e $asiosdk_headerfile ; then
383            echo yes
384            have_asio=1
385            ASIOSDK_BASEDIR="$config_asiosdk_dir"
386        else
387            echo no
388            have_asio=0
389        fi
390        if test "$have_asio" = "1"; then
391            have_audio_output_driver="true"
392        fi
393    else
394        echo "Windows ASIO support disabled by configure script parameter"
395    fi
396    AC_SUBST(ASIOSDK_BASEDIR)
397    AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
398    AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.])
399    config_have_asio="no"
400    if test $have_asio = "1"; then
401        config_have_asio="yes"
402    fi
403    
404  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
405  AC_ARG_ENABLE(midishare-driver,  AC_ARG_ENABLE(midishare-driver,
406    [  --disable-midishare-driver    [  --disable-midishare-driver
407                            Disable support for the MidiShare system.],                            Disable support for the MidiShare system.],
408    [config_midishare_driver="no"],    [config_midishare_driver="$enableval"],
409    [config_midishare_driver="yes"]    [config_midishare_driver="yes"]
410  )  )
411  have_midishare=0  have_midishare=0
# Line 272  else Line 426  else
426  fi  fi
427  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
428  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.])
429    config_have_midishare="no"
430    if test $have_midishare = "1"; then
431        config_have_midishare="yes"
432    fi
433    
434  # CoreMIDI (OS X)  # CoreMIDI (OS X)
435  AC_ARG_ENABLE(coremidi-driver,  AC_ARG_ENABLE(coremidi-driver,
436    [  --disable-coremidi-driver    [  --disable-coremidi-driver
437                            Disable support for the Apple CoreMIDI system.],                            Disable support for the Apple CoreMIDI system.],
438    [config_coremidi_driver="no"],    [config_coremidi_driver="$enableval"],
439    [config_coremidi_driver="yes"]    [config_coremidi_driver="yes"]
440  )  )
441  have_coremidi=0  have_coremidi=0
# Line 294  else Line 452  else
452  fi  fi
453  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
454  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.])
455    config_have_coremidi="no"
456    if test $have_coremidi = "1"; then
457        config_have_coremidi="yes"
458    fi
459    
460    # CoreAudio (OS X)
461    AC_ARG_ENABLE(coreaudio-driver,
462      [  --disable-coreaudio-driver
463                              Disable support for the Apple CoreAudio system.],
464      [config_coreaudio_driver="$enableval"],
465      [config_coreaudio_driver="yes"]
466    )
467    have_coreaudio=0
468    if test "$config_coreaudio_driver" = "yes"; then
469        AC_CHECK_HEADER(CoreAudio/CoreAudio.h,
470            have_coreaudio=1,
471            have_coreaudio=0
472        )
473        if test "$have_coreaudio" = "1"; then
474            have_audio_output_driver="true"
475        fi
476    else
477        echo "CoreAudio support disabled by configure script parameter"
478    fi
479    AM_CONDITIONAL(HAVE_COREAUDIO, test $have_coreaudio = "1")
480    AC_DEFINE_UNQUOTED(HAVE_COREAUDIO,$have_coreaudio,[Define to 1 if you have CoreAudio installed.])
481    config_have_coreaudio="no"
482    if test $have_coreaudio = "1"; then
483        config_have_coreaudio="yes"
484    fi
485    
486    # MME MIDI (Win32)
487    AC_ARG_ENABLE(mmemidi-driver,
488      [  --disable-mmemidi-driver
489                              Disable support for the Windows MME MIDI system.],
490      [config_mmemidi_driver="$enableval"],
491      [config_mmemidi_driver="yes"]
492    )
493    have_mmemidi=0
494    if test "$config_mmemidi_driver" = "yes"; then
495        AC_CHECK_HEADERS(mmsystem.h,
496            have_mmemidi=1,
497            have_mmemidi=0
498        )
499        if test "$have_mmemidi" = "1"; then
500            have_midi_input_driver="true"
501        fi
502    else
503        echo "MME MIDI support disabled by configure script parameter"
504    fi
505    AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")
506    AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.])
507    config_have_mme="no"
508    if test $have_mmemidi = "1"; then
509        config_have_mme="yes"
510    fi
511    
512    # DSSI
513    AC_CHECK_HEADERS(dssi.h,
514            config_have_dssi="yes",
515            config_have_dssi="no")
516    AM_CONDITIONAL(HAVE_DSSI, test $config_have_dssi = "yes")
517    
518    # LV2
519    PKG_CHECK_MODULES(LV2, lv2 >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
520    AC_SUBST(LV2_CFLAGS)
521    AC_SUBST(LV2_LIBS)
522    AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")
523    
524    # VST
525    AC_ARG_ENABLE(vstsdk-dir,
526      [  --enable-vstsdk-dir
527                              Directory where the VST SDK is located.
528                              This automatically enables the compilation
529                              of the VST plugin.],
530      [VSTSDK_DIR="${enableval}"],
531      [VSTSDK_DIR=]
532    )
533    AC_SUBST(VSTSDK_DIR)
534    AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")
535    config_have_vst="no"
536    if test "x$VSTSDK_DIR" != "x"; then
537        config_have_vst="yes"
538    fi
539    
540    # AU
541    AC_CHECK_HEADERS(AudioUnit/AudioUnit.h,
542            config_have_au="yes",
543            config_have_au="no")
544    AM_CONDITIONAL(HAVE_AU, test $config_have_au = "yes")
545    AM_CONDITIONAL(HAVE_AUFLAGS, test "$AUFLAGS" != "")
546    
547    if test $config_have_au = "yes" ; then
548        if test "x$DEVELOPER_EXTRAS_DIR" = "x" ; then
549            if test -d /Developer/Extras ; then
550                DEVELOPER_EXTRAS_DIR=/Developer/Extras
551            else      
552                DEVELOPER_EXTRAS_DIR=/Developer/Examples
553            fi
554        fi
555        AC_SUBST(DEVELOPER_EXTRAS_DIR)
556    fi
557    
558    if test "x$MAC_PLUGIN_INSTALL_DIR" = "x" ; then
559        MAC_PLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins
560    fi
561    AC_SUBST(MAC_PLUGIN_INSTALL_DIR)
562    
563    # have we found at least one MIDI input and one audio output driver ?
564    if test "$have_midi_input_driver" = "false"; then
565        echo "No supported MIDI input system found!"
566        echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
567        echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
568        echo "If you think you have one of those available on your system, make sure you"
569        echo "also have the respective development (header) files installed."
570        exit -1;
571    fi
572    if test "$have_audio_output_driver" = "false"; then
573        echo "No supported audio output system found!"
574        echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
575        echo "driver at the moment!"
576        exit -1;
577    fi
578    
579    
580    
581    ###########################################################################
582    # Checks for various DLL libraries
583    
584  # Check presence of libgig  # Check presence of libgig
585  libgig_version="3.1.0"  libgig_version="3.3.0"
586  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)
587  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
588      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 308  fi Line 594  fi
594  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
595  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
596    
597  # SQLITE3  # SF2 Engine (requires libgig)
598  PKG_CHECK_MODULES(SQLITE3, sqlite3, HAVE_SQLITE3=true, HAVE_SQLITE3=false)  AC_ARG_ENABLE(sf2-engine,
599  AC_SUBST(SQLITE3_LIBS)    [  --disable-sf2-engine
600  AC_SUBST(SQLITE3_CFLAGS)                            Disable compilation of the SF2 engine.
601  if test $HAVE_SQLITE3 = false; then                            You need to have libgig installed.],
602      HAVE_SQLITE3=0;    [config_sf2_engine="$enableval"],
603      echo "no, support for instrument DB will be disabled!"    [config_sf2_engine="yes"]
604    )
605    HAVE_SF2=0;
606    if test "$config_sf2_engine" = "yes"; then
607        HAVE_SF2=1
608  else  else
609      HAVE_SQLITE3=1      echo "SF2 engine disabled by configure script parameter"
610      echo "yes"  fi
611    AM_CONDITIONAL(HAVE_SF2, test $HAVE_SF2 = 1)
612    AC_DEFINE_UNQUOTED(HAVE_SF2,$HAVE_SF2,[Define to 1 if you want SF2 engine and have libsf2 installed.])
613    config_have_sf2="no"
614    if test $HAVE_SF2 = "1"; then
615        config_have_sf2="yes"
616  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.])  
617    
618  if test "$have_midi_input_driver" = "false"; then  # Check presence of libsndfile
619      echo "No supported MIDI input system found!"  libsndfile_version="1.0"
620      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)
621      echo "ALSA, MIDIShare, CoreMIDI."  if test "$HAVE_SNDFILE" = "false"; then
622      echo "If you think you have one of those available on your system, make sure you"      echo "Required libsndfile version not found!"
623      echo "also have the respective development (header) files installed."      echo "You need to have libsndfile version ${libsndfile_version} installed!"
624      exit -1;      exit -1;
625    else
626        echo "yes, found libsndfile $libsndfile_version"
627  fi  fi
628  if test "$have_audio_output_driver" = "false"; then  AC_SUBST(SNDFILE_CFLAGS)
629      echo "No supported audio output system found!"  AC_SUBST(SNDFILE_LIBS)
630      echo "Sorry, LinuxSampler only supports ALSA and JACK as audio output driver at the moment!"  
631      exit -1;  # Check for Vorbis and FLAC support in libsndfile
632    linuxsampler_save_CFLAGS=$CFLAGS
633    CFLAGS="$SNDFILE_CFLAGS $CFLAGS"
634    AC_CHECK_DECLS([SF_FORMAT_VORBIS, SF_FORMAT_FLAC], [], [], [[#include <sndfile.h>]])
635    
636    # Check for loop functionality in libsndfile
637    AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],,
638                     [AC_MSG_WARN([Your version of libsndfile does not support
639        reading of loop information. LinuxSampler will not be able to
640        extract loop information from sample files.])],
641                     [#include <sndfile.h>])
642    CFLAGS=$linuxsampler_save_CFLAGS
643    
644    # Instruments DB feature (requires SQLite 3.3)
645    AC_ARG_ENABLE(instruments-db,
646      [  --disable-instruments-db
647                              Disable compilation of the sampler's instruments
648                              database feature. You need to have SQLite 3.3
649                              or younger installed for this feature.],
650      [config_instruments_db="$enableval"],
651      [config_instruments_db="yes"]
652    )
653    HAVE_SQLITE3=0;
654    if test "$config_instruments_db" = "yes"; then
655        # Check presence of sqlite3
656        sqlite_version="3.3"
657        PKG_CHECK_MODULES(SQLITE3, sqlite3 >= $sqlite_version, HAVE_SQLITE3=true, HAVE_SQLITE3=false)
658        AC_SUBST(SQLITE3_LIBS)
659        AC_SUBST(SQLITE3_CFLAGS)
660        if test $HAVE_SQLITE3 = false; then
661            HAVE_SQLITE3=0
662            config_instruments_db="no"
663            echo "*** Required sqlite version not found!"
664            echo "*** You need to have sqlite version ${sqlite_version} or higher"
665            echo "*** for instruments database support to be enabled."
666            echo "*** Support for instruments DB will be disabled!"
667        else
668            HAVE_SQLITE3=1
669        fi
670    else
671        echo "Instruments DB feature disabled by configure script parameter"
672  fi  fi
673    AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
674    AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you want the instruments DB feature and have SQLITE3 installed.])
675    
676    
677    
678  ###########################################################################  ###########################################################################
# Line 343  fi Line 681  fi
681  # TODO: should we use AC_ARG_VAR(variable, description) instead?  # TODO: should we use AC_ARG_VAR(variable, description) instead?
682    
683  AC_ARG_ENABLE(asm,  AC_ARG_ENABLE(asm,
684    [  --enable-asm    [  --disable-asm
685                            Enable hand-crafted assembly optimizations                            Enable hand-crafted assembly optimizations
686                            (default=off). LinuxSampler provides CPU specific                            (default=on). LinuxSampler provides CPU specific
687                            assembly optimizations for the most important                            assembly optimizations. This is currently limited
688                            synthesis algorithms. This is currently disabled                            to just enter a fast (denormal) FPU mode on x86
689                            by default since current asm code is broken.],                            platforms. There are currently no synthesis core
690    [config_asm="yes"],                            assembly optimizations anymore since LS 0.4.0],
691    [config_asm="no"]    [config_asm="$enableval"],
692      [config_asm="yes"]
693  )  )
694  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
695    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.])
696  fi  fi
697    
698  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
699    [  --disable-dev-mode    [  --enable-dev-mode
700                            Disable development mode (default=on). In that mode                            Enable development mode (default=off). In that mode
701                            we do some extra sanity checks here and there.                            we do some extra sanity checks here and there.
702                            This helps to spot possible problems, but reduces                            This helps to spot possible problems, but reduces
703                            efficiency a bit],                            efficiency a bit],
704    [config_dev_mode="no"],    [config_dev_mode="$enableval"],
705    [config_dev_mode="yes"]    [config_dev_mode="no"]
706  )  )
707  if test "$config_dev_mode" = "yes"; then  if test "$config_dev_mode" = "yes"; then
708    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 390  AC_ARG_ENABLE(rt-exceptions, Line 729  AC_ARG_ENABLE(rt-exceptions,
729                            context as well. Otherwise if disabled                            context as well. Otherwise if disabled
730                            segmentation faults will be forced by the                            segmentation faults will be forced by the
731                            application on critical errors.],                            application on critical errors.],
732    [config_rt_exceptions="yes"],    [config_rt_exceptions="$enableval"],
733    [config_rt_exceptions="no"]    [config_rt_exceptions="no"]
734  )  )
735  if test "$config_rt_exceptions" = "yes"; then  if test "$config_rt_exceptions" = "yes"; then
736    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.])
737  fi  fi
738    
739    config_pthread_testcancel="$mac"
740    AC_ARG_ENABLE(pthread-testcancel,
741      [  --enable-pthread-testcancel
742                              Enable pthread_testcancel() calls and avoid
743                              asynchronous cancel of pthreads (default=yes
744                              for Mac targets, no otherwise).],
745      [config_pthread_testcancel="$enableval"],
746      [])
747    if test "$config_pthread_testcancel" = "yes"; then
748      AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])
749    fi
750    
751  AC_ARG_ENABLE(preload-samples,  AC_ARG_ENABLE(preload-samples,
752    [  --enable-preload-samples    [  --enable-preload-samples
753                            Due to seeking and latency issues with hard drives                            Due to seeking and latency issues with hard drives
# Line 502  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_ Line 853  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_
853    
854  AC_ARG_ENABLE(max-streams,  AC_ARG_ENABLE(max-streams,
855    [  --enable-max-streams    [  --enable-max-streams
856                            Maximum amount of disk streams (default=90). This                            Initial maximum amount of disk streams
857                            value should always be higher than the maximum                            (default=90). This value can be changed at
858                            amount of voices.],                            runtime. It should always be higher than the
859                              maximum amount of voices.],
860    [config_max_streams="${enableval}"],    [config_max_streams="${enableval}"],
861    [config_max_streams="90"]    [config_max_streams="90"]
862  )  )
863  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.])
864    
865  AC_ARG_ENABLE(max-voices,  AC_ARG_ENABLE(max-voices,
866    [  --enable-max-voices    [  --enable-max-voices
867                            Maximum amount of voices (default=64). This value                            Initial maximum amount of voices (default=64).
868                            should always be lower than the maximum amount of                            This value can be changed at runtime. It should
869                            disk streams.],                            always be lower than the maximum amount of disk
870                              streams.],
871    [config_max_voices="${enableval}"],    [config_max_voices="${enableval}"],
872    [config_max_voices="64"]    [config_max_voices="64"]
873  )  )
874  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.])
875    
876  AC_ARG_ENABLE(subfragment-size,  AC_ARG_ENABLE(subfragment-size,
877    [  --enable-subfragment-size    [  --enable-subfragment-size
# Line 584  AC_ARG_ENABLE(force-filter, Line 937  AC_ARG_ENABLE(force-filter,
937                            If enabled will force filter to be used even if                            If enabled will force filter to be used even if
938                            no usage was define in instrument patch files.                            no usage was define in instrument patch files.
939                            (default=no).],                            (default=no).],
940    [config_force_filter="yes"],    [config_force_filter="$enableval"],
941    [config_force_filter="no"]    [config_force_filter="no"]
942  )  )
943  if test "$config_force_filter" = "yes"; then  if test "$config_force_filter" = "yes"; then
# Line 674  AC_ARG_ENABLE(gs-checksum, Line 1027  AC_ARG_ENABLE(gs-checksum,
1027                            messages which do not provide a correct checksum                            messages which do not provide a correct checksum
1028                            will be ignored. This is disabled by default as                            will be ignored. This is disabled by default as
1029                            not all devices honor GS checksums.],                            not all devices honor GS checksums.],
1030    [config_assert_gs_sysex_checksum="yes"],    [config_assert_gs_sysex_checksum="$enableval"],
1031    [config_assert_gs_sysex_checksum="no"]    [config_assert_gs_sysex_checksum="no"]
1032  )  )
1033  if test "config_assert_gs_sysex_checksum" = "yes"; then  if test "config_assert_gs_sysex_checksum" = "yes"; then
# Line 720  AC_ARG_ENABLE(signed-triang-algo, Line 1073  AC_ARG_ENABLE(signed-triang-algo,
1073                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1074                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1075                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1076                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1077                              diharmonic:                              diharmonic:
1078                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1079                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 755  AC_ARG_ENABLE(unsigned-triang-algo, Line 1107  AC_ARG_ENABLE(unsigned-triang-algo,
1107                                Similar to intmath but uses abs() function.                                Similar to intmath but uses abs() function.
1108                                Depending on compiler and platrofm this could                                Depending on compiler and platrofm this could
1109                                perform better than integer math as it avoids                                perform better than integer math as it avoids
1110                                an extra integer multiply instruction.                                an extra integer multiply instruction.
   
1111                              diharmonic:                              diharmonic:
1112                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
1113                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 787  AC_ARG_ENABLE(process-muted-channels, Line 1138  AC_ARG_ENABLE(process-muted-channels,
1138                            will not discard notes, triggered in mute mode,                            will not discard notes, triggered in mute mode,
1139                            when the channel is unmuted. But also will reduce                            when the channel is unmuted. But also will reduce
1140                            the efficiency.],                            the efficiency.],
1141    [config_process_muted_channels="yes"],    [config_process_muted_channels="$enableval"],
1142    [config_process_muted_channels="no"]    [config_process_muted_channels="no"]
1143  )  )
1144  if test "$config_process_muted_channels" = "yes"; then  if test "$config_process_muted_channels" = "yes"; then
# Line 801  AC_ARG_ENABLE(process-all-notes-off, Line 1152  AC_ARG_ENABLE(process-all-notes-off,
1152                            all voices whenever it receives an All-Notes-Off                            all voices whenever it receives an All-Notes-Off
1153                            MIDI message. You can disable this behavior, so                            MIDI message. You can disable this behavior, so
1154                            that LS simply ignores such messages.],                            that LS simply ignores such messages.],
1155    [config_process_all_notes_off="no"],    [config_process_all_notes_off="$enableval"],
1156    [config_process_all_notes_off="yes"]    [config_process_all_notes_off="yes"]
1157  )  )
1158  if test "$config_process_all_notes_off" = "yes"; then  if test "$config_process_all_notes_off" = "yes"; then
# Line 815  AC_ARG_ENABLE(interpolate-volume, Line 1166  AC_ARG_ENABLE(interpolate-volume,
1166                            generated by for example the envelope generator                            generated by for example the envelope generator
1167                            will be smoother, minimizing the risk for audio                            will be smoother, minimizing the risk for audio
1168                            clicks. Disable it to reduce CPU usage.],                            clicks. Disable it to reduce CPU usage.],
1169    [config_interpolate_volume="no"],    [config_interpolate_volume="$enableval"],
1170    [config_interpolate_volume="yes"]    [config_interpolate_volume="yes"]
1171  )  )
1172  if test "$config_interpolate_volume" = "yes"; then  if test "$config_interpolate_volume" = "yes"; then
1173    AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])    AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])
1174  fi  fi
1175    
1176    AC_ARG_ENABLE(master-volume-sysex-by-port,
1177      [  --enable-master-volume-sysex-by-port
1178                              Whether global volume sysex message should be
1179                              applied globally to the whole sampler or only to
1180                              the sampler channels connected to the same MIDI
1181                              input port on which the sysex message arrived on.
1182                              By default global volume sysex messages apply
1183                              globally to the whole sampler, since many MIDI
1184                              devices behave that way.],
1185      [config_master_volume_sysex_by_port="$enableval"],
1186      [config_master_volume_sysex_by_port="no"]
1187    )
1188    if test "$config_master_volume_sysex_by_port" = "yes"; then
1189      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.])
1190    fi
1191    
1192    AC_ARG_ENABLE(plugin-dir,
1193      [  --enable-plugin-dir
1194                              Directory where the sampler shall look for potential plugins,
1195                              that is 3rd party shared libraries that should be loaded by
1196                              the sampler on startup. By default the sampler will search
1197                              for plugins in the subdirectory "plugins" below its own
1198                              library directory.
1199                              (i.e. /usr/local/lib/linuxsampler/plugins)],
1200      [config_plugin_dir="${enableval}"],
1201      [config_plugin_dir="${libdir}/linuxsampler/plugins"]
1202    )
1203    AC_SUBST(config_plugin_dir)
1204    
1205    AC_ARG_ENABLE(default-instruments-db-location,
1206      [  --enable-default-instruments-db-location
1207                              Only when instruments DB feature is enabled: file name
1208                              which shall be taken as default location of the
1209                              instruments DB file. This location can still be
1210                              overridden at runtime with a command line switch.
1211                              (default: /var/lib/linuxsampler/instruments.db)],
1212      [config_default_instruments_db_file="${enableval}"],
1213      [config_default_instruments_db_file="/var/lib/linuxsampler/instruments.db"]
1214    )
1215    AC_DEFINE_UNQUOTED(
1216        CONFIG_DEFAULT_INSTRUMENTS_DB_LOCATION,
1217        "$config_default_instruments_db_file",
1218        [Only when instruments DB feature is enabled: default location of the DB file.]
1219    )
1220    AC_SUBST(config_default_instruments_db_file)
1221    
1222    
1223  ###########################################################################  ###########################################################################
1224  # Automatic Benchmarks (to detect the best algorithms for the system)  # Automatic Benchmarks (to detect the best algorithms for the system)
1225    
 AC_LANG_SAVE  
   
1226  if test "$config_signed_triang_algo" = "benchmark"; then  if test "$config_signed_triang_algo" = "benchmark"; then
1227      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1228      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1229      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1230              #define SIGNED 1              #define SIGNED 1
1231              #define SILENT 1              #define SILENT 1
1232              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1233          ],          ]])],
1234          triang_signed=0,          triang_signed=0,
1235          triang_signed=$?,          triang_signed=$?,
1236          triang_signed=0          triang_signed=0
1237      )      )
1238        AC_LANG_POP([C++])
1239      if test "$triang_signed" = "2"; then      if test "$triang_signed" = "2"; then
1240          config_signed_triang_algo="intmath"          config_signed_triang_algo="intmath"
1241          echo "integer math"          echo "integer math"
# Line 856  if test "$config_signed_triang_algo" = " Line 1252  if test "$config_signed_triang_algo" = "
1252          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1253          exit -1;          exit -1;
1254      fi      fi
1255    else
1256        case "$config_signed_triang_algo" in
1257            intmath)
1258                triang_signed=2 ;;
1259            diharmonic)
1260                triang_signed=3 ;;
1261            intmathabs)
1262                triang_signed=5 ;;
1263        esac
1264  fi  fi
1265  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.])
1266    
1267  if test "$config_unsigned_triang_algo" = "benchmark"; then  if test "$config_unsigned_triang_algo" = "benchmark"; then
1268      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1269      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1270      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1271              #define SIGNED 0              #define SIGNED 0
1272              #define SILENT 1              #define SILENT 1
1273              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1274          ],          ]])],
1275          triang_unsigned=0,          triang_unsigned=0,
1276          triang_unsigned=$?,          triang_unsigned=$?,
1277          triang_unsigned=0          triang_unsigned=0
1278      )      )
1279        AC_LANG_POP([C++])
1280      if test "$triang_unsigned" = "2"; then      if test "$triang_unsigned" = "2"; then
1281          config_unsigned_triang_algo="intmath"          config_unsigned_triang_algo="intmath"
1282          echo "integer math"          echo "integer math"
# Line 887  if test "$config_unsigned_triang_algo" = Line 1293  if test "$config_unsigned_triang_algo" =
1293          echo "Call './configure --help' for further information or read configure.in."          echo "Call './configure --help' for further information or read configure.in."
1294          exit -1;          exit -1;
1295      fi      fi
1296    else
1297        case "$config_unsigned_triang_algo" in
1298            intmath)
1299                triang_unsigned=2 ;;
1300            diharmonic)
1301                triang_unsigned=3 ;;
1302            intmathabs)
1303                triang_unsigned=5 ;;
1304        esac
1305  fi  fi
1306  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.])
1307    
 AC_LANG_RESTORE  
   
1308    
1309  ###########################################################################  ###########################################################################
1310  # Create Build Files  # Create Build Files
1311    
1312  AM_CONFIG_HEADER(config.h)  AC_CONFIG_HEADERS([config.h])
1313  AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")  AM_INIT_AUTOMAKE
1314    
1315  AC_LANG_CPLUSPLUS  AC_LANG([C++])
 AC_PROG_CXX  
   
 # some gcc 4.0 versions need -msse for SSE register allocations  
 if test "$config_asm" = "yes"; then  
   if test "$def_arch_x86" = 1; then  
     CXXFLAGS="$CXXFLAGS -msse"  
   fi  
 fi  
1316    
1317  # 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
1318  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
1319  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
1320    
1321  AC_OUTPUT( \  AC_CONFIG_FILES([\
1322      Makefile \      Makefile \
1323      man/Makefile \      man/Makefile \
1324      man/linuxsampler.1 \      man/linuxsampler.1 \
1325      src/Makefile \      src/Makefile \
1326        src/db/Makefile \
1327      src/network/Makefile \      src/network/Makefile \
1328      src/engines/Makefile \      src/engines/Makefile \
1329      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1330        src/engines/sf2/Makefile \
1331        src/engines/sfz/Makefile \
1332      src/engines/common/Makefile \      src/engines/common/Makefile \
1333      src/common/Makefile src/lib/Makefile \      src/effects/Makefile \
1334      src/lib/fileloader/Makefile \      src/common/Makefile \
     src/lib/fileloader/libgig/Makefile \  
1335      src/testcases/Makefile \      src/testcases/Makefile \
1336      src/drivers/Makefile \      src/drivers/Makefile \
1337      src/drivers/audio/Makefile \      src/drivers/audio/Makefile \
1338      src/drivers/midi/Makefile \      src/drivers/midi/Makefile \
1339        src/plugins/Makefile \
1340        src/hostplugins/Makefile \
1341        src/hostplugins/dssi/Makefile \
1342        src/hostplugins/lv2/Makefile \
1343        src/hostplugins/lv2/manifest.ttl \
1344        src/hostplugins/vst/Makefile \
1345        src/hostplugins/au/Makefile \
1346      linuxsampler.spec \      linuxsampler.spec \
1347      debian/Makefile \      debian/Makefile \
1348      Artwork/Makefile \      Artwork/Makefile \
1349      scripts/Makefile \      scripts/Makefile \
1350      osx/Makefile \      osx/Makefile \
1351      osx/LinuxSampler.xcode/Makefile \      osx/linuxsampler.xcodeproj/Makefile \
1352      Documentation/Makefile \      Documentation/Makefile \
1353      Documentation/Engines/Makefile \      Documentation/Engines/Makefile \
1354      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
1355      linuxsampler.pc \      linuxsampler.pc \
1356      Doxyfile \      Doxyfile \
1357  )  ])
1358    AC_OUTPUT
1359    
1360    # resolve all nested variables in '${config_plugin_dir}'
1361    # (merely for providing a human readable summary below)
1362    while test $config_plugin_dir != `eval echo ${config_plugin_dir}` ; do
1363            config_plugin_dir=`eval echo ${config_plugin_dir}`
1364    done
1365    
1366    
1367  ###########################################################################  ###########################################################################
# Line 950  echo "" Line 1371  echo ""
1371  echo "#####################################################################"  echo "#####################################################################"
1372  echo "# LinuxSampler Configuration                                        #"  echo "# LinuxSampler Configuration                                        #"
1373  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1374    echo "# Release Version: ${VERSION}"
1375    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1376    echo "#-------------------------------------------------------------------"
1377  echo "# Assembly Optimizations: ${config_asm}"  echo "# Assembly Optimizations: ${config_asm}"
1378  echo "# Development Mode: ${config_dev_mode}"  echo "# Development Mode: ${config_dev_mode}"
1379  echo "# Debug Level: ${config_debug_level}"  echo "# Debug Level: ${config_debug_level}"
# Line 963  echo "# Streams to be refilled per Disk Line 1387  echo "# Streams to be refilled per Disk
1387  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1388  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1389  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
1390  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Default Maximum Disk Streams: ${config_max_streams}"
1391  echo "# Maximum Voices: ${config_max_voices}"  echo "# Default Maximum Voices: ${config_max_voices}"
1392  echo "# Default Subfragment Size: ${config_subfragment_size}"  echo "# Default Subfragment Size: ${config_subfragment_size}"
1393  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1394  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
# Line 983  echo "# Override Filter Type: ${config_o Line 1407  echo "# Override Filter Type: ${config_o
1407  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1408  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
1409  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1410    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1411  echo "# Interpolate Volume: ${config_interpolate_volume}"  echo "# Interpolate Volume: ${config_interpolate_volume}"
1412    echo "# Instruments database support: ${config_instruments_db}"
1413    if test "$config_instruments_db" = "yes"; then
1414    echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1415    fi
1416    echo "# Plugin Path: ${config_plugin_dir}"
1417    echo "#-------------------------------------------------------------------"
1418    echo "# MIDI Input Drivers:"
1419    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}"
1420    echo "#-------------------------------------------------------------------"
1421    echo "# Audio Output Drivers:"
1422    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}"
1423    echo "#-------------------------------------------------------------------"
1424    echo "# Sampler Engines:"
1425    echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes"
1426    echo "#-------------------------------------------------------------------"
1427    echo "# Effect plugin systems for internal effects:"
1428    echo "# LADSPA: yes"
1429    echo "#-------------------------------------------------------------------"
1430    echo "# Building sampler as plugin for following host standards:"
1431    echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}"
1432  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1433  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
1434  echo "#####################################################################"  echo "#####################################################################"

Legend:
Removed from v.1049  
changed lines
  Added in v.2512

  ViewVC Help
Powered by ViewVC