/[svn]/linuxsampler/trunk/configure.ac
ViewVC logotype

Annotation of /linuxsampler/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1652 - (hide annotations) (download)
Sun Jan 27 16:14:56 2008 UTC (16 years, 1 month ago) by persson
Original Path: linuxsampler/trunk/configure.in
File size: 50000 byte(s)
- minor configure and README changes for the JACK MIDI driver

1 schoenebeck 9 AC_INIT(configure.in)
2 schoenebeck 697
3     #------------------------------------------------------------------------------------
4     # LinuxSampler's / liblinuxsampler's "official" release version:
5    
6     LINUXSAMPLER_RELEASE_MAJOR=0
7 schoenebeck 1424 LINUXSAMPLER_RELEASE_MINOR=5
8 schoenebeck 1560 LINUXSAMPLER_RELEASE_BUILD=1
9 schoenebeck 697
10     #------------------------------------------------------------------------------------
11     # The following is the libtool / shared library version. This doesn't have to
12     # do anything with the release version. It MUST conform to the following rules:
13     #
14     # 1. Start with version information of `0:0:0' for each libtool library.
15     # 2. Update the version information only immediately before a public release of
16     # your software. More frequent updates are unnecessary, and only guarantee
17     # that the current interface number gets larger faster.
18     # 3. If the library source code has changed at all since the last update, then
19     # increment revision (`c:r:a' becomes `c:r+1:a').
20     # 4. If any interfaces have been added, removed, or changed since the last update,
21     # increment current, and set revision to 0.
22     # 5. If any interfaces have been added since the last public release, then increment
23     # age.
24     # 6. If any interfaces have been removed since the last public release, then set age
25     # to 0.
26    
27 schoenebeck 1560 LIBLINUXSAMPLER_LT_CURRENT=2
28 schoenebeck 697 LIBLINUXSAMPLER_LT_REVISION=0
29 schoenebeck 1560 LIBLINUXSAMPLER_LT_AGE=1
30 schoenebeck 697 SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT_CURRENT:$LIBLINUXSAMPLER_LT_REVISION:$LIBLINUXSAMPLER_LT_AGE"
31    
32 schoenebeck 947 #------------------------------------------------------------------------------------
33     # the LSCP specification version this LinuSampler release complies with:
34    
35     LSCP_RELEASE_MAJOR=1
36 schoenebeck 1525 LSCP_RELEASE_MINOR=3
37 schoenebeck 947
38     AC_DEFINE_UNQUOTED(LSCP_RELEASE_MAJOR, ${LSCP_RELEASE_MAJOR}, [LSCP spec major version this release complies with.])
39     AC_DEFINE_UNQUOTED(LSCP_RELEASE_MINOR, ${LSCP_RELEASE_MINOR}, [LSCP spec minor version this release complies with.])
40    
41 schoenebeck 697 AM_PROG_LIBTOOL
42    
43     AC_SUBST(SHLIB_VERSION_ARG)
44     AC_SUBST(SHARED_VERSION_INFO)
45    
46 schoenebeck 12 AC_C_BIGENDIAN
47 schoenebeck 9 AC_CANONICAL_SYSTEM
48    
49 schoenebeck 80 AC_SUBST(target)
50     AC_SUBST(target_alias)
51     AC_SUBST(target_cpu)
52     AC_SUBST(target_os)
53     AC_SUBST(target_vendor)
54 schoenebeck 18
55 schoenebeck 1639 PKG_PROG_PKG_CONFIG
56 schoenebeck 275
57 schoenebeck 554 ###########################################################################
58     # General Checks
59 schoenebeck 275
60 schoenebeck 510 AC_MSG_CHECKING([whether x86 architecture])
61 schoenebeck 9 def_arch_x86=0
62     case $target_cpu in
63     "i386" | "i486" | "i586" | "i686" | "i786")
64     echo "yes"
65     def_arch_x86=1;;
66     *)
67     echo "no";;
68     esac
69     AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x86,[Define to 1 if you build for x86 architecture.])
70    
71 schoenebeck 510 # determine the right gcc switch for CPU specific optimizations
72 schoenebeck 829 # (only if the user did not provide one)
73 schoenebeck 510 CXX_CPU_SWITCH=
74 schoenebeck 829 if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then
75     if test "$def_arch_x86" = 1; then
76     CXX_CPU_SWITCH="-march=$target_cpu"
77 schoenebeck 909 elif test "$target_cpu" = "ppc"; then
78 schoenebeck 829 CXX_CPU_SWITCH="-arch=$target_cpu"
79     fi
80 schoenebeck 510 fi
81     AC_SUBST([CXX_CPU_SWITCH])
82    
83 senoner 1502 # check if we're on MS Windows
84     AC_CHECK_HEADERS(
85     mmsystem.h,
86     have_windows=1,
87     have_windows=0
88     )
89     AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")
90    
91 schoenebeck 288 AC_MSG_CHECKING([whether UNIX98 compatible])
92     AC_LANG_SAVE
93     AC_LANG_C
94     AC_TRY_RUN([
95     #ifndef _GNU_SOURCE
96     #define _GNU_SOURCE 1
97     #endif
98     #include <features.h>
99     void main(void) {
100     #if _XOPEN_SOURCE >= 500
101     exit(0); /* UNIX98 compatible */
102     #else
103     exit(-1); /* not UNIX98 compatible */
104     #endif
105     }
106     ],
107     have_unix98="yes",
108     have_unix98="no",
109     have_unix98="no"
110     )
111     AC_LANG_RESTORE
112     AC_MSG_RESULT([$have_unix98])
113 senoner 1502 if test "$have_unix98" = "no" -a "have_windows" = "0"; then
114 schoenebeck 288 if test "x$HAVE_UNIX98" = "x"; then
115     echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"
116     echo "pthread_mutexattr_settype() call in Mutex.cpp. You may want to run
117     echo "./configure with environment variable HAVE_UNIX98=1 in case you think you
118     echo "have a UNIX98 compatible system."
119     exit -1;
120     fi
121     fi
122    
123 wylder 822 # check for <features.h>
124     AC_CHECK_HEADERS(features.h)
125 wylder 821
126 schoenebeck 1454 # test for POSIX thread library
127     m4_ifdef([m4_include(m4/pthread.m4)],,
128     [sinclude([m4/pthread.m4])])
129     ACX_PTHREAD
130     LIBS="$PTHREAD_LIBS $LIBS"
131     CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
132     CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
133     CC="$PTHREAD_CC"
134 schoenebeck 852
135 schoenebeck 1454 # check for a bug in NPTL-enabled glibc
136     # (see Gentoo bug report #194076)
137     AC_ARG_ENABLE(nptl-bug-check,
138     [ --disable-nptl-bug-check
139     Disable check for a bug in certain NPTL-enabled
140     glibc versions that caused crashs.],
141     [config_check_nptl_bug="$enableval"],
142     [config_check_nptl_bug="yes"]
143     )
144     if test "$config_check_nptl_bug" = "yes"; then
145     m4_ifdef([m4_include(m4/nptl_bug.m4)],,
146     [sinclude([m4/nptl_bug.m4])])
147     ACX_NPTL_GLIBC_BUG([
148     echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
149     echo "You seem to have a buggy PTHREAD library! LinuxSampler would"
150     echo "probably crash due to this. Please report us the system you are"
151     echo "using and/or file a bug report to the bug tracking system of"
152     echo "your distribution."
153     echo "If you have a NPTL-enabled glibc AND it was compiled for TLS as"
154     echo "well, you can try to circumvent this problem for now by setting"
155     echo "the environment variable LD_ASSUME_KERNEL=\"2.4.1\" , which"
156     echo "should cause this test to pass."
157     echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
158     AC_MSG_ERROR([possibly NPTL glibc bug detected])
159     ])
160     else
161     echo "NPTL glibc bug check disabled"
162     fi
163    
164    
165    
166 schoenebeck 852 ###########################################################################
167 schoenebeck 288 # Checks for available audio and MIDI systems / drivers
168     # (we throw an error if there's not at least one system for audio output and MIDI input available)
169 schoenebeck 852
170 schoenebeck 288 have_midi_input_driver="false"
171     have_audio_output_driver="false"
172    
173 schoenebeck 852 # ALSA
174     AC_ARG_ENABLE(alsa-driver,
175     [ --disable-alsa-driver
176     Disable support for the Advanced Linux Sound
177     Architecture (ALSA).],
178 schoenebeck 1360 [config_alsa_driver="$enableval"],
179 schoenebeck 852 [config_alsa_driver="yes"]
180 schoenebeck 18 )
181 schoenebeck 852 have_alsa=0
182     if test "$config_alsa_driver" = "yes"; then
183     AC_CHECK_HEADER(alsa/asoundlib.h,
184     AC_CHECK_LIB(asound, main,
185     have_alsa=1
186     ,
187     have_alsa=0
188     )
189     ,
190     have_alsa=0
191     )
192     if test "$have_alsa" = "1"; then
193     have_midi_input_driver="true"
194     have_audio_output_driver="true";
195     fi
196    
197     echo -n "checking Alsa version... "
198     AC_LANG_SAVE
199     AC_LANG_C
200     AC_TRY_RUN([
201     #include <alsa/asoundlib.h>
202     void main(void) {
203     /* ensure backward compatibility */
204     #if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR)
205     #define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR
206     #endif
207     exit(SND_LIB_MAJOR);
208     }
209     ],
210     alsa_major=0,
211     alsa_major=$?,
212     alsa_major=0
213     )
214     AC_TRY_RUN([
215     #include <alsa/asoundlib.h>
216     void main(void) {
217     /* ensure backward compatibility */
218     #if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)
219     #define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR
220     #endif
221     exit(SND_LIB_MINOR);
222     }
223     ],
224     alsa_minor=0,
225     alsa_minor=$?,
226     alsa_minor=0
227     )
228     AC_TRY_RUN([
229     #include <alsa/asoundlib.h>
230     void main(void) {
231     /* ensure backward compatibility */
232     #if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR)
233     #define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR
234     #endif
235     exit(SND_LIB_SUBMINOR);
236     }
237     ],
238     alsa_subminor=0,
239     alsa_subminor=$?,
240     alsa_subminor=0
241     )
242     AC_LANG_RESTORE
243     echo "$alsa_major.$alsa_minor.$alsa_subminor";
244     AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])
245     AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])
246     AC_DEFINE_UNQUOTED(ALSA_SUBMINOR,$alsa_subminor,[Define to the subminor version number of your Alsa installation.])
247     else
248     echo "ALSA support disabled by configure script parameter"
249 schoenebeck 18 fi
250 schoenebeck 291 AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
251 schoenebeck 288 AC_DEFINE_UNQUOTED(HAVE_ALSA,$have_alsa,[Define to 1 if you have ALSA installed.])
252 schoenebeck 18
253 schoenebeck 852 # JACK
254     AC_ARG_ENABLE(jack-driver,
255     [ --disable-jack-driver
256     Disable support for the Jack Audio Connection Kit
257     (JACK).],
258 schoenebeck 1360 [config_jack_driver="$enableval"],
259 schoenebeck 852 [config_jack_driver="yes"]
260 schoenebeck 18 )
261 schoenebeck 852 have_jack=0
262     if test "$config_jack_driver" = "yes"; then
263     PKG_CHECK_MODULES(JACK, jack, have_jack=1, have_jack=0)
264     if test $have_jack = "1"; then
265     AC_SUBST(JACK_LIBS)
266     AC_SUBST(JACK_CFLAGS)
267     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)
268     have_audio_output_driver="true";
269     fi
270 schoenebeck 33 else
271 schoenebeck 852 echo "JACK support disabled by configure script parameter"
272 schoenebeck 33 fi
273 schoenebeck 852 AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
274     AC_DEFINE_UNQUOTED(HAVE_JACK,$have_jack,[Define to 1 if you have JACK installed.])
275 schoenebeck 31
276 persson 1651 # JACK MIDI
277     have_jack_midi=0
278     if test $have_jack = "1"; then
279 persson 1652 linuxsampler_save_CFLAGS=$CFLAGS
280     linuxsampler_save_LIBS=$LIBS
281     CFLAGS="$JACK_CFLAGS $CFLAGS"
282     LIBS="$JACK_LIBS $LIBS"
283     AC_CHECK_HEADER(jack/midiport.h, have_jack_midi=1, have_jack_midi=0)
284     if test $have_jack_midi = "1"; then
285     AC_CHECK_FUNCS(jack_midi_get_event_count)
286     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jack/midiport.h>]], [[
287     jack_midi_clear_buffer(0, 0);
288     ]])], [AC_DEFINE(JACK_MIDI_FUNCS_NEED_NFRAMES, 1,
289     [Define to 1 if you have the old jack midi functions that need an nframes argument.])])
290     have_midi_input_driver="true"
291     fi
292     CFLAGS=$linuxsampler_save_CFLAGS
293     LIBS=$linuxsampler_save_LIBS
294 persson 1651 fi
295     AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")
296     AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,
297     [Define to 1 if you have JACK with MIDI support installed.])
298    
299 schoenebeck 838 # ARTS
300 schoenebeck 852 AC_ARG_ENABLE(arts-driver,
301     [ --disable-arts-driver
302     Disable support for the Analogue Realtime System
303     (aRts).],
304 schoenebeck 1360 [config_arts_driver="$enableval"],
305 schoenebeck 852 [config_arts_driver="yes"]
306     )
307     have_arts=0
308     if test "$config_arts_driver" = "yes"; then
309     m4_ifdef([m4_include(m4/arts.m4)],,
310     [sinclude([m4/arts.m4])])
311     AM_PATH_ARTS(0.9.5, have_arts=1, have_arts=0)
312     if test "$have_arts" = "1"; then
313     have_audio_output_driver="true"
314     fi
315     else
316     echo "ARTS support disabled by configure script parameter"
317 schoenebeck 838 fi
318     AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
319     AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])
320    
321 senoner 1502 # ASIO AUDIO (Win32)
322     AC_ARG_ENABLE(asiosdk-dir,
323     [ --enable-asiosdk-dir
324     Directory where the ASIO SDK is located, this automatically
325     enables the compilation of the ASIO audio output driver.],
326     [config_asiosdk_dir="${enableval}"],
327     [config_asiosdk_dir="."]
328     )
329     AC_SUBST(config_asiosdk_dir)
330    
331     AC_ARG_ENABLE(asio-driver,
332     [ --disable-asio-driver
333     Disable support for the Windows ASIO driver.],
334     [config_asio_driver="$enableval"],
335     [config_asio_driver="yes"]
336     )
337     have_asio=0
338     ASIOSDK_BASEDIR=
339     if test "$config_asio_driver" = "yes"; then
340     asiosdk_headerfile=$config_asiosdk_dir/ASIOSDK2/common/asio.h
341     echo -n "checking for ASIO headerfile: $asiosdk_headerfile ...."
342     if test -e $asiosdk_headerfile ; then
343     echo yes
344     have_asio=1
345     ASIOSDK_BASEDIR="$config_asiosdk_dir"
346     else
347     echo no
348     have_asio=0
349     fi
350     if test "$have_asio" = "1"; then
351     have_audio_output_driver="true"
352     fi
353     else
354     echo "Windows ASIO support disabled by configure script parameter"
355     fi
356     AC_SUBST(ASIOSDK_BASEDIR)
357     AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
358     AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.])
359    
360 schoenebeck 609 # MidiShare (Linux, OS X, Windows)
361 schoenebeck 852 AC_ARG_ENABLE(midishare-driver,
362     [ --disable-midishare-driver
363     Disable support for the MidiShare system.],
364 schoenebeck 1360 [config_midishare_driver="$enableval"],
365 schoenebeck 852 [config_midishare_driver="yes"]
366 schoenebeck 609 )
367 schoenebeck 852 have_midishare=0
368     if test "$config_midishare_driver" = "yes"; then
369     AC_CHECK_HEADER(MidiShare.h,
370     AC_CHECK_LIB(MidiShare, MidiCountEvs,
371     have_midishare=1,
372     have_midishare=0
373     )
374     ,
375     have_midishare=0
376     )
377     if test "$have_midishare" = "1"; then
378     have_midi_input_driver="true"
379     fi
380     else
381     echo "MidiShare support disabled by configure script parameter"
382 schoenebeck 609 fi
383     AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
384     AC_DEFINE_UNQUOTED(HAVE_MIDISHARE,$have_midishare,[Define to 1 if you have MidiShare installed.])
385    
386     # CoreMIDI (OS X)
387 schoenebeck 852 AC_ARG_ENABLE(coremidi-driver,
388     [ --disable-coremidi-driver
389     Disable support for the Apple CoreMIDI system.],
390 schoenebeck 1360 [config_coremidi_driver="$enableval"],
391 schoenebeck 852 [config_coremidi_driver="yes"]
392 schoenebeck 609 )
393 schoenebeck 852 have_coremidi=0
394     if test "$config_coremidi_driver" = "yes"; then
395     AC_CHECK_HEADER(CoreMIDI/CoreMIDI.h,
396     have_coremidi=1,
397     have_coremidi=0
398     )
399     if test "$have_coremidi" = "1"; then
400     have_midi_input_driver="true"
401     fi
402     else
403     echo "CoreMIDI support disabled by configure script parameter"
404 schoenebeck 609 fi
405     AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
406     AC_DEFINE_UNQUOTED(HAVE_COREMIDI,$have_coremidi,[Define to 1 if you have CoreMIDI installed.])
407    
408 senoner 1502 # MME MIDI (Win32)
409     AC_ARG_ENABLE(mmemidi-driver,
410     [ --disable-mmemidi-driver
411     Disable support for the Windows MME MIDI system.],
412     [config_mmemidi_driver="$enableval"],
413     [config_mmemidi_driver="yes"]
414     )
415     have_mmemidi=0
416     if test "$config_mmemidi_driver" = "yes"; then
417     AC_CHECK_HEADERS(mmsystem.h,
418     have_mmemidi=1,
419     have_mmemidi=0
420     )
421     if test "$have_mmemidi" = "1"; then
422     have_midi_input_driver="true"
423     fi
424     else
425     echo "MME MIDI support disabled by configure script parameter"
426     fi
427     AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")
428     AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.])
429    
430 schoenebeck 1364 # have we found at least one MIDI input and one audio output driver ?
431     if test "$have_midi_input_driver" = "false"; then
432     echo "No supported MIDI input system found!"
433     echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
434 persson 1652 echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
435 schoenebeck 1364 echo "If you think you have one of those available on your system, make sure you"
436     echo "also have the respective development (header) files installed."
437     exit -1;
438     fi
439     if test "$have_audio_output_driver" = "false"; then
440     echo "No supported audio output system found!"
441 persson 1652 echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
442 schoenebeck 1364 echo "driver at the moment!"
443     exit -1;
444     fi
445    
446    
447    
448     ###########################################################################
449     # Checks for various DLL libraries
450    
451 schoenebeck 504 # Check presence of libgig
452 schoenebeck 1560 libgig_version="3.2.1"
453 schoenebeck 504 PKG_CHECK_MODULES(GIG, gig >= $libgig_version, HAVE_GIG=true, HAVE_GIG=false)
454     if test "$HAVE_GIG" = "false"; then
455     echo "Required libgig version not found!"
456     echo "You need to have libgig version ${libgig_version} installed!"
457     exit -1;
458 schoenebeck 714 else
459     echo "yes, found libgig $libgig_version"
460 schoenebeck 504 fi
461     AC_SUBST(GIG_CFLAGS)
462     AC_SUBST(GIG_LIBS)
463    
464 schoenebeck 1364 # Instruments DB feature (requires SQLite 3.3)
465     AC_ARG_ENABLE(instruments-db,
466     [ --disable-instruments-db
467     Disable compilation of the sampler's instruments
468     database feature. You need to have SQLite 3.3
469     or younger installed for this feature.],
470     [config_instruments_db="$enableval"],
471     [config_instruments_db="yes"]
472     )
473     HAVE_SQLITE3=0;
474     if test "$config_instruments_db" = "yes"; then
475     # Check presence of sqlite3
476     sqlite_version="3.3"
477     PKG_CHECK_MODULES(SQLITE3, sqlite3 >= $sqlite_version, HAVE_SQLITE3=true, HAVE_SQLITE3=false)
478     AC_SUBST(SQLITE3_LIBS)
479     AC_SUBST(SQLITE3_CFLAGS)
480     if test $HAVE_SQLITE3 = false; then
481     HAVE_SQLITE3=0
482     config_instruments_db="no"
483     echo "*** Required sqlite version not found!"
484     echo "*** You need to have sqlite version ${sqlite_version} or higher"
485     echo "*** for instruments database support to be enabled."
486     echo "*** Support for instruments DB will be disabled!"
487     else
488     HAVE_SQLITE3=1
489     fi
490 senkov 397 else
491 schoenebeck 1364 echo "Instruments DB feature disabled by configure script parameter"
492 senkov 397 fi
493     AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
494 schoenebeck 1364 AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you want the instruments DB feature and have SQLITE3 installed.])
495 schoenebeck 31
496 schoenebeck 288
497    
498 schoenebeck 554 ###########################################################################
499     # Handle Configuration Options
500    
501     # TODO: should we use AC_ARG_VAR(variable, description) instead?
502    
503 schoenebeck 617 AC_ARG_ENABLE(asm,
504 schoenebeck 1259 [ --disable-asm
505 schoenebeck 738 Enable hand-crafted assembly optimizations
506 schoenebeck 1259 (default=on). LinuxSampler provides CPU specific
507     assembly optimizations. This is currently limited
508     to just enter a fast (denormal) FPU mode on x86
509     platforms. There are currently no synthesis core
510     assembly optimizations anymore since LS 0.4.0],
511 schoenebeck 1360 [config_asm="$enableval"],
512 schoenebeck 1259 [config_asm="yes"]
513 schoenebeck 617 )
514     if test "$config_asm" = "yes"; then
515 schoenebeck 1259 AC_DEFINE_UNQUOTED(CONFIG_ASM, 1, [Define to 1 if you want to enable asm optimizations.])
516 schoenebeck 617 fi
517    
518 schoenebeck 554 AC_ARG_ENABLE(dev-mode,
519 schoenebeck 1424 [ --enable-dev-mode
520     Enable development mode (default=off). In that mode
521 schoenebeck 554 we do some extra sanity checks here and there.
522     This helps to spot possible problems, but reduces
523     efficiency a bit],
524 schoenebeck 1360 [config_dev_mode="$enableval"],
525 schoenebeck 1424 [config_dev_mode="no"]
526 schoenebeck 554 )
527     if test "$config_dev_mode" = "yes"; then
528     AC_DEFINE_UNQUOTED(CONFIG_DEVMODE, 1, [Define to 1 if you want to enable development mode.])
529     fi
530    
531     AC_ARG_ENABLE(debug-level,
532     [ --enable-debug-level
533     Specify verbosity of console messages (default=1).
534     The higher the value, the higher will be verbosity.
535     A value of 0 means no console output at all.
536     There's not really an upper limit but the usual
537     level of all messages is currently somewhere less
538     than 10.],
539     [config_debug_level="${enableval}"],
540     [config_debug_level="1"]
541     )
542     AC_DEFINE_UNQUOTED(CONFIG_DEBUG_LEVEL, $config_debug_level, [Define console verbosity.])
543    
544     AC_ARG_ENABLE(rt-exceptions,
545     [ --enable-rt-exceptions
546     Enable exceptions in the realtime thread
547     (default=no). If this is enabled, exceptions will
548     be thrown on critical errors in the realtime
549     context as well. Otherwise if disabled
550     segmentation faults will be forced by the
551     application on critical errors.],
552 schoenebeck 1360 [config_rt_exceptions="$enableval"],
553 schoenebeck 554 [config_rt_exceptions="no"]
554     )
555     if test "$config_rt_exceptions" = "yes"; then
556     AC_DEFINE_UNQUOTED(CONFIG_RT_EXCEPTIONS, 1, [Define to 1 to allow exceptions in the realtime context.])
557     fi
558    
559 nagata 1649 AC_ARG_ENABLE(pthread-testcancel,
560     [ --enable-pthread-testcancel
561     Enable pthread_testcancel() calls and avoid asynchronous
562     cancel of pthreads (default=no).],
563     [config_pthread_testcancel="$enableval"],
564     [config_pthread_testcancel="no"]
565     )
566     if test "$config_pthread_testcancel" = "yes"; then
567     AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])
568     fi
569    
570 schoenebeck 554 AC_ARG_ENABLE(preload-samples,
571     [ --enable-preload-samples
572     Due to seeking and latency issues with hard drives
573     we have to cache a small part of samples' head in
574     RAM (default=32768). The higher this value the
575     more memory will be occupied for each sample, but
576     the safer this will be in regards of possible
577     droputs. A 'good' value depends on the running
578     system and usage dependant factors.],
579     [config_preload_samples="${enableval}"],
580     [config_preload_samples="32768"]
581     )
582     AC_DEFINE_UNQUOTED(CONFIG_PRELOAD_SAMPLES, $config_preload_samples, [Define amount of sample points to be cached in RAM.])
583    
584     AC_ARG_ENABLE(max-pitch,
585     [ --enable-max-pitch
586     Specify the maximum allowed pitch value in octaves
587     (default=4). To lower memory usage you might want
588     set a smaller value.],
589     [config_max_pitch="${enableval}"],
590     [config_max_pitch="4"]
591     )
592     AC_DEFINE_UNQUOTED(CONFIG_MAX_PITCH, $config_max_pitch, [Define max. allowed pitch.])
593    
594     AC_ARG_ENABLE(max-events,
595     [ --enable-max-events
596     Specify the maximum allowed amount of events to be
597     processed per fragment (default=1024).],
598     [config_max_events="${enableval}"],
599     [config_max_events="1024"]
600     )
601     AC_DEFINE_UNQUOTED(CONFIG_MAX_EVENTS_PER_FRAGMENT, $config_max_events, [Define max. allowed events per fragment.])
602    
603     AC_ARG_ENABLE(eg-bottom,
604     [ --enable-eg-bottom
605     Bottom limit of envelope generators
606     (default=0.001). Certain kinds of curve types like
607     exponential curves converge against 0 but never
608     reach 0. So we have to define a certain low value
609     after which we should consider all smaller values
610     to be 'almost zero'. The smaller this value, the
611     longer will voices survive in EG's release stage
612     and thus waste voices. If this value is too high
613     will cause click sounds though.],
614     [config_eg_bottom="${enableval}"],
615     [config_eg_bottom="0.001"]
616     )
617     AC_DEFINE_UNQUOTED(CONFIG_EG_BOTTOM, $config_eg_bottom, [Define bottom limit of envelopes.])
618    
619     AC_ARG_ENABLE(eg-min-release-time,
620     [ --enable-eg-min-release-time
621     Specify the lowest allowed release time in seconds
622     (default=0.0025). This value will also be used to
623     ramp down voices on voice stealing. This value
624     should always be less than the period time of the
625     used audio driver, as in case of voice stealing
626     the killed voice needs to be completely ramped
627     down in the same fragment.],
628     [config_eg_min_release_time="${enableval}"],
629     [config_eg_min_release_time="0.0025"]
630     )
631     AC_DEFINE_UNQUOTED(CONFIG_EG_MIN_RELEASE_TIME, $config_eg_min_release_time, [Define min. release time.])
632    
633     AC_ARG_ENABLE(refill-streams,
634     [ --enable-refill-streams
635     Number of streams that should be refilled in each
636     disk thread cycle (default=4).],
637     [config_refill_streams="${enableval}"],
638     [config_refill_streams="4"]
639     )
640     AC_DEFINE_UNQUOTED(CONFIG_REFILL_STREAMS_PER_RUN, $config_refill_streams, [Define amount of streams to be refilled per cycle.])
641    
642     AC_ARG_ENABLE(stream-min-refill,
643     [ --enable-stream-min-refill
644     Minimum refill size for disk streams (default=1024).
645     The disk thread will go to sleep for a while if no
646     stream had to be refilled more than this value in
647     a disk thread cycle.],
648     [config_stream_min_refill="${enableval}"],
649     [config_stream_min_refill="1024"]
650     )
651     AC_DEFINE_UNQUOTED(CONFIG_STREAM_MIN_REFILL_SIZE, $config_stream_min_refill, [Define min. stream refill size.])
652    
653     AC_ARG_ENABLE(stream-max-refill,
654     [ --enable-stream-max-refill
655     Maximum refill size for disk streams
656     (default=65536). The disk thread will refill
657     each stream only by a size of this value per
658     disk thread cycle.],
659     [config_stream_max_refill="${enableval}"],
660     [config_stream_max_refill="65536"]
661     )
662     AC_DEFINE_UNQUOTED(CONFIG_STREAM_MAX_REFILL_SIZE, $config_stream_max_refill, [Define max. stream refill size.])
663    
664     AC_ARG_ENABLE(stream-size,
665     [ --enable-stream-size
666     Size of each stream's ring buffer in sample points
667     (default=262144).],
668     [config_stream_size="${enableval}"],
669     [config_stream_size="262144"]
670     )
671     AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_SIZE, $config_stream_size, [Define each stream's ring buffer size.])
672    
673     AC_ARG_ENABLE(max-streams,
674     [ --enable-max-streams
675     Maximum amount of disk streams (default=90). This
676     value should always be higher than the maximum
677     amount of voices.],
678     [config_max_streams="${enableval}"],
679     [config_max_streams="90"]
680     )
681     AC_DEFINE_UNQUOTED(CONFIG_MAX_STREAMS, $config_max_streams, [Define max. streams.])
682    
683     AC_ARG_ENABLE(max-voices,
684     [ --enable-max-voices
685     Maximum amount of voices (default=64). This value
686     should always be lower than the maximum amount of
687     disk streams.],
688     [config_max_voices="${enableval}"],
689     [config_max_voices="64"]
690     )
691     AC_DEFINE_UNQUOTED(CONFIG_MAX_VOICES, $config_max_voices, [Define max. voices.])
692    
693 schoenebeck 738 AC_ARG_ENABLE(subfragment-size,
694     [ --enable-subfragment-size
695     Every audio fragment will be splitted into
696     subfragments. Where each subfragment renders
697     audio with constant synthesis parameters. This is
698     done for efficiency reasons. This parameter
699     defines the default size of a subfragment in
700     sample points. A large value means less CPU time
701     whereas a low value means better audio quality
702     (default=32).],
703     [config_subfragment_size="${enableval}"],
704     [config_subfragment_size="32"]
705     )
706     AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_SUBFRAGMENT_SIZE, $config_subfragment_size, [Define default subfragment size (in sample points).])
707    
708 schoenebeck 1005 AC_ARG_ENABLE(global-attenuation-default,
709     [ --enable-global-attenuation-default
710 schoenebeck 781 To prevent clipping all samples will be lowered
711 schoenebeck 1005 in amplitude by this given default factor (can
712     be overridden at runtime).
713 schoenebeck 781 (default=0.35)],
714 schoenebeck 1005 [config_global_attenuation_default="${enableval}"],
715     [config_global_attenuation_default="0.35"]
716 schoenebeck 781 )
717 schoenebeck 1005 AC_DEFINE_UNQUOTED(CONFIG_GLOBAL_ATTENUATION_DEFAULT, $config_global_attenuation_default, [Define default global volume attenuation (as floating point factor).])
718 schoenebeck 781
719 schoenebeck 554 AC_ARG_ENABLE(voice-steal-algo,
720     [ --enable-voice-steal-algo
721     Voice stealing algorithm to be used. Currently
722     available options:
723     none:
724     Disable voice stealing completely.
725 schoenebeck 563 oldestvoiceonkey (default):
726 schoenebeck 554 Try to kill a voice on the same key first,
727     if no success, proceed with the oldest key.
728 schoenebeck 563 oldestkey:
729 schoenebeck 554 Try to kill a voice from the oldest active
730     key.],
731     [ if test ! "(" "${enableval}" = "none" \
732     -o "${enableval}" = "oldestvoiceonkey" \
733     -o "${enableval}" = "oldestkey" ")" ; then
734     AC_MSG_ERROR([Unknown voice stealing algorithm for parameter --enable-voice-steal-algo])
735     else
736     config_voice_steal_algo="${enableval}"
737 schoenebeck 579 fi
738 schoenebeck 554 ],
739 schoenebeck 563 [config_voice_steal_algo="oldestvoiceonkey"]
740 schoenebeck 554 )
741     AC_DEFINE_UNQUOTED(CONFIG_VOICE_STEAL_ALGO, voice_steal_algo_${config_voice_steal_algo}, [Define voice stealing algorithm to be used.])
742    
743     AC_ARG_ENABLE(sysex-buffer-size,
744     [ --enable-sysex-buffer-size
745     System Exclusive Message buffer size in kB
746     (default=2048).],
747     [config_sysex_buffer_size="${enableval}"],
748     [config_sysex_buffer_size="2048"]
749     )
750     AC_DEFINE_UNQUOTED(CONFIG_SYSEX_BUFFER_SIZE, $config_sysex_buffer_size, [Define SysEx buffer size.])
751    
752     AC_ARG_ENABLE(force-filter,
753     [ --enable-force-filter
754     If enabled will force filter to be used even if
755     no usage was define in instrument patch files.
756     (default=no).],
757 schoenebeck 1360 [config_force_filter="$enableval"],
758 schoenebeck 554 [config_force_filter="no"]
759     )
760     if test "$config_force_filter" = "yes"; then
761     AC_DEFINE_UNQUOTED(CONFIG_FORCE_FILTER, 1, [Define to 1 to force filter usage.])
762     fi
763    
764     AC_ARG_ENABLE(filter-cutoff-min,
765     [ --enable-filter-cutoff-min
766     Minimum filter cutoff frequency in Hz
767     (default=100.0).],
768     [config_filter_cutoff_min="${enableval}"],
769     [config_filter_cutoff_min="100.0"]
770     )
771     AC_DEFINE_UNQUOTED(CONFIG_FILTER_CUTOFF_MIN, ${config_filter_cutoff_min}f, [Define min. filter cutoff frequency.])
772    
773     AC_ARG_ENABLE(filter-cutoff-max,
774     [ --enable-filter-cutoff-max
775     Maximum filter cutoff frequency in Hz
776     (default=10000.0).],
777     [config_filter_cutoff_max="${enableval}"],
778     [config_filter_cutoff_max="10000.0"]
779     )
780     AC_DEFINE_UNQUOTED(CONFIG_FILTER_CUTOFF_MAX, ${config_filter_cutoff_max}f, [Define max. filter cutoff frequency.])
781    
782     AC_ARG_ENABLE(override-cutoff-ctrl,
783     [ --enable-override-cutoff-ctrl
784     Override filter cutoff MIDI controller (default=no).
785     Note: you have to define the MIDI controller number
786     here, it's not a boolean parameter type! If this
787     option is used, controller number given by
788     instrument patch will be ignored and instead this
789     supplied value will be used.],
790     [config_override_cutoff_ctrl="${enableval}"],
791     [config_override_cutoff_ctrl="no"]
792     )
793     if test ! "$config_override_cutoff_ctrl" = "no"; then
794     AC_DEFINE_UNQUOTED(CONFIG_OVERRIDE_CUTOFF_CTRL, $config_override_cutoff_ctrl, [Define to a MIDI controller number to override cutoff control.])
795     fi
796    
797     AC_ARG_ENABLE(override-resonance-ctrl,
798     [ --enable-override-resonance-ctrl
799     Override filter resonance MIDI controller
800     (default=no). Note: you have to define the MIDI
801     controller number here, it's not a boolean
802     parameter type! If this option is used, controller
803     number given by instrument patch will be ignored
804     and instead this supplied value will be used.],
805     [config_override_resonance_ctrl="${enableval}"],
806     [config_override_resonance_ctrl="no"]
807     )
808     if test ! "$config_override_resonance_ctrl" = "no"; then
809     AC_DEFINE_UNQUOTED(CONFIG_OVERRIDE_RESONANCE_CTRL, $config_override_resonance_ctrl, [Define to a MIDI controller number to override resonance control.])
810     fi
811    
812     AC_ARG_ENABLE(override-filter-type,
813     [ --enable-override-filter-type
814     Override filter type (default=no). Options:
815     hp: for highpass
816     bp: for bandpass
817     br: for bandreject
818     lp: for lowpass
819     lpt: for lowpass turbo],
820     [ if test "${enableval}" = "hp" ; then
821     config_override_filter_type="::gig::vcf_type_highpass"
822     elif test "${enableval}" = "bp" ; then
823     config_override_filter_type="::gig::vcf_type_bandpass"
824     elif test "${enableval}" = "br" ; then
825     config_override_filter_type="::gig::vcf_type_bandreject"
826     elif test "${enableval}" = "lp" ; then
827     config_override_filter_type="::gig::vcf_type_lowpass"
828     elif test "${enableval}" = "lpt" ; then
829     config_override_filter_type="::gig::vcf_type_lowpassturbo"
830     elif test ! "${enableval}" = "no"; then
831     AC_MSG_ERROR([Unknown filter type for parameter --enable-override-filter-type])
832 schoenebeck 579 fi
833 schoenebeck 554 ],
834     [config_override_filter_type="no"]
835     )
836     if test ! "$config_override_filter_type" = "no"; then
837     AC_DEFINE_UNQUOTED(CONFIG_OVERRIDE_FILTER_TYPE, $config_override_filter_type, [Define to a filter type to always force that filter type.])
838     fi
839    
840 schoenebeck 563 AC_ARG_ENABLE(gs-checksum,
841     [ --enable-gs-checksum
842     Enable Roland General Synth SysEx checksum check
843     (default=no). If this is enabled, all GS SysEx
844     messages which do not provide a correct checksum
845     will be ignored. This is disabled by default as
846     not all devices honor GS checksums.],
847 schoenebeck 1360 [config_assert_gs_sysex_checksum="$enableval"],
848 schoenebeck 563 [config_assert_gs_sysex_checksum="no"]
849     )
850     if test "config_assert_gs_sysex_checksum" = "yes"; then
851     AC_DEFINE_UNQUOTED(CONFIG_ASSERT_GS_SYSEX_CHECKSUM, 1, [Define to 1 if you want to enable GS SysEx check.])
852     fi
853    
854 schoenebeck 829 AC_ARG_ENABLE(portamento-time-min,
855     [ --enable-portamento-time-min
856     Minimum Portamento time in seconds
857     (default=0.1).],
858     [config_portamento_time_min="${enableval}"],
859     [config_portamento_time_min="0.1"]
860     )
861     AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MIN, $config_portamento_time_min, [Define min. portamento time.])
862    
863     AC_ARG_ENABLE(portamento-time-max,
864     [ --enable-portamento-time-max
865     Maximum Portamento time in seconds
866     (default=32).],
867     [config_portamento_time_max="${enableval}"],
868     [config_portamento_time_max="32"]
869     )
870     AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MAX, $config_portamento_time_max, [Define max. portamento time.])
871    
872     AC_ARG_ENABLE(portamento-time-default,
873     [ --enable-portamento-time-default
874     Default Portamento time in seconds
875     (default=1).],
876     [config_portamento_time_default="${enableval}"],
877     [config_portamento_time_default="1"]
878     )
879     AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_DEFAULT, $config_portamento_time_default, [Define default portamento time.])
880    
881 schoenebeck 714 AC_ARG_ENABLE(signed-triang-algo,
882     [ --enable-signed-triang-algo
883     Signed triangular wave algorithm to be used (e.g. for LFOs).
884     Currently available options:
885     intmath:
886     Uses integer math without any branch will then be
887     converted to floating point value for each sample point.
888     This int->float conversion might hurt on some systems.
889 senkov 720 intmathabs:
890     Similar to intmath but uses abs() function.
891     Depending on compiler and platrofm this could
892     perform better than integer math as it avoids
893 schoenebeck 1360 an extra integer multiply instruction.
894 schoenebeck 714 diharmonic:
895     The triangular wave will be approximated by adding two
896     sinusoidials. This solution might especially hurt on
897     systems with weak floating point unit.
898     benchmark (default):
899     This is not an algorithm. Use this option if the
900     appropriate algorithm should be automatically
901     chosen by the configure script by performing a
902     benchmark between the algorithms mentioned above.
903     This will NOT work for cross compilation!],
904     [ if test ! "(" "${enableval}" = "intmath" \
905 senkov 720 -o "${enableval}" = "intmathabs" \
906 schoenebeck 714 -o "${enableval}" = "diharmonic" ")" ; then
907     AC_MSG_ERROR([Unknown triangular wave algorithm for parameter --enable-signed-triang-algo])
908     else
909     config_signed_triang_algo="${enableval}"
910     fi
911     ],
912     [config_signed_triang_algo="benchmark"]
913     )
914 schoenebeck 563
915 schoenebeck 714 AC_ARG_ENABLE(unsigned-triang-algo,
916     [ --enable-unsigned-triang-algo
917     Unsigned triangular wave algorithm to be used (e.g. for LFOs).
918     Currently available options:
919     intmath:
920     Uses integer math without any branch will then be
921     converted to floating point value for each sample point.
922     This int->float conversion might hurt on some systems.
923 senkov 720 intmathabs:
924     Similar to intmath but uses abs() function.
925     Depending on compiler and platrofm this could
926     perform better than integer math as it avoids
927 schoenebeck 1360 an extra integer multiply instruction.
928 schoenebeck 714 diharmonic:
929     The triangular wave will be approximated by adding two
930     sinusoidials. This solution might especially hurt on
931     systems with weak floating point unit.
932     benchmark (default):
933     This is not an algorithm. Use this option if the
934     appropriate algorithm should be automatically
935     chosen by the configure script by performing a
936     benchmark between the algorithms mentioned above.
937     This will NOT work for cross compilation!],
938     [ if test ! "(" "${enableval}" = "intmath" \
939 senkov 720 -o "${enableval}" = "intmathabs" \
940 schoenebeck 714 -o "${enableval}" = "diharmonic" ")" ; then
941     AC_MSG_ERROR([Unknown triangular wave algorithm for parameter --enable-unsigned-triang-algo])
942     else
943     config_unsigned_triang_algo="${enableval}"
944     fi
945     ],
946     [config_unsigned_triang_algo="benchmark"]
947     )
948    
949 iliev 716 AC_ARG_ENABLE(process-muted-channels,
950     [ --enable-process-muted-channels
951     Enable processing of muted channels (default=no).
952     In that mode all MIDI events in the muted channels
953     will be processed. This will provide information
954     about the active voices in the muted channels and
955     will not discard notes, triggered in mute mode,
956     when the channel is unmuted. But also will reduce
957     the efficiency.],
958 schoenebeck 1360 [config_process_muted_channels="$enableval"],
959 iliev 716 [config_process_muted_channels="no"]
960     )
961     if test "$config_process_muted_channels" = "yes"; then
962     AC_DEFINE_UNQUOTED(CONFIG_PROCESS_MUTED_CHANNELS, 1, [Define to 1 if you want to enable processing of muted channels.])
963     fi
964 schoenebeck 714
965 schoenebeck 849 AC_ARG_ENABLE(process-all-notes-off,
966     [ --disable-process-all-notes-off
967     Disable interpretation of All-Notes-Off MIDI
968     messages (default=on). By default LS will release
969     all voices whenever it receives an All-Notes-Off
970     MIDI message. You can disable this behavior, so
971     that LS simply ignores such messages.],
972 schoenebeck 1360 [config_process_all_notes_off="$enableval"],
973 schoenebeck 849 [config_process_all_notes_off="yes"]
974     )
975     if test "$config_process_all_notes_off" = "yes"; then
976     AC_DEFINE_UNQUOTED(CONFIG_PROCESS_ALL_NOTES_OFF, 1, [Define to 1 if you want to enable processing of All-Notes-Off MIDI messages.])
977     fi
978    
979 persson 830 AC_ARG_ENABLE(interpolate-volume,
980     [ --disable-interpolate-volume
981     Disable interpolation of volume modulation
982     (default=on). With this enabled, the volume changes
983     generated by for example the envelope generator
984     will be smoother, minimizing the risk for audio
985     clicks. Disable it to reduce CPU usage.],
986 schoenebeck 1360 [config_interpolate_volume="$enableval"],
987 persson 830 [config_interpolate_volume="yes"]
988     )
989     if test "$config_interpolate_volume" = "yes"; then
990     AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])
991     fi
992 iliev 716
993 schoenebeck 1212 AC_ARG_ENABLE(plugin-dir,
994     [ --enable-plugin-dir
995     Directory where the sampler shall look for potential plugins,
996     that is 3rd party shared libraries that should be loaded by
997     the sampler on startup. By default the sampler will search
998     for plugins in the subdirectory "plugins" below its own
999     library directory.
1000     (i.e. /usr/local/lib/linuxsampler/plugins)],
1001     [config_plugin_dir="${enableval}"],
1002     [config_plugin_dir="${libdir}/linuxsampler/plugins"]
1003     )
1004     AC_SUBST(config_plugin_dir)
1005 persson 830
1006 schoenebeck 1364 AC_ARG_ENABLE(default-instruments-db-location,
1007     [ --enable-default-instruments-db-location
1008     Only when instruments DB feature is enabled: file name
1009     which shall be taken as default location of the
1010     instruments DB file. This location can still be
1011     overridden at runtime with a command line switch.
1012     (default: /var/lib/linuxsampler/instruments.db)],
1013     [config_default_instruments_db_file="${enableval}"],
1014     [config_default_instruments_db_file="/var/lib/linuxsampler/instruments.db"]
1015     )
1016     AC_DEFINE_UNQUOTED(
1017     CONFIG_DEFAULT_INSTRUMENTS_DB_LOCATION,
1018     "$config_default_instruments_db_file",
1019     [Only when instruments DB feature is enabled: default location of the DB file.]
1020     )
1021 schoenebeck 1432 AC_SUBST(config_default_instruments_db_file)
1022 schoenebeck 1212
1023 schoenebeck 1364
1024 schoenebeck 554 ###########################################################################
1025 schoenebeck 714 # Automatic Benchmarks (to detect the best algorithms for the system)
1026    
1027     AC_LANG_SAVE
1028    
1029     if test "$config_signed_triang_algo" = "benchmark"; then
1030     echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1031     AC_LANG_CPLUSPLUS
1032     AC_TRY_RUN([
1033     #define SIGNED 1
1034     #define SILENT 1
1035 schoenebeck 738 #include "${srcdir}/benchmarks/triang.cpp"
1036 schoenebeck 714 ],
1037     triang_signed=0,
1038     triang_signed=$?,
1039     triang_signed=0
1040     )
1041     if test "$triang_signed" = "2"; then
1042     config_signed_triang_algo="intmath"
1043     echo "integer math"
1044     elif test "$triang_signed" = "3"; then
1045     config_signed_triang_algo="diharmonic"
1046     echo "di harmonics"
1047 senkov 720 elif test "$triang_signed" = "5"; then
1048     config_signed_triang_algo="intmathabs"
1049     echo "integer math using abs()"
1050 schoenebeck 714 else
1051     echo "Benchmark of signed triangular wave algorithms failed!"
1052     echo "Maybe you are doing cross compilation? In that case you have to select"
1053     echo "an algorithm manually with './configure --enable-signed-triang-algo=...'"
1054     echo "Call './configure --help' for further information or read configure.in."
1055     exit -1;
1056     fi
1057 schoenebeck 1165 else
1058     case "$config_signed_triang_algo" in
1059     intmath)
1060     triang_signed=2 ;;
1061     diharmonic)
1062     triang_signed=3 ;;
1063     intmathabs)
1064     triang_signed=5 ;;
1065     esac
1066 schoenebeck 714 fi
1067 schoenebeck 738 AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ALGO, ${triang_signed}, [Define signed triangular wave algorithm to be used.])
1068 schoenebeck 714
1069     if test "$config_unsigned_triang_algo" = "benchmark"; then
1070     echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1071     AC_LANG_CPLUSPLUS
1072     AC_TRY_RUN([
1073     #define SIGNED 0
1074     #define SILENT 1
1075 schoenebeck 738 #include "${srcdir}/benchmarks/triang.cpp"
1076 schoenebeck 714 ],
1077     triang_unsigned=0,
1078     triang_unsigned=$?,
1079     triang_unsigned=0
1080     )
1081     if test "$triang_unsigned" = "2"; then
1082     config_unsigned_triang_algo="intmath"
1083     echo "integer math"
1084     elif test "$triang_unsigned" = "3"; then
1085     config_unsigned_triang_algo="diharmonic"
1086     echo "di harmonics"
1087 senkov 720 elif test "$triang_unsigned" = "5"; then
1088 schoenebeck 726 config_unsigned_triang_algo="intmathabs"
1089 senkov 720 echo "integer math using abs()"
1090 schoenebeck 714 else
1091     echo "Benchmark of unsigned triangular wave algorithms failed!"
1092     echo "Maybe you are doing cross compilation? In that case you have to select"
1093     echo "an algorithm manually with './configure --enable-unsigned-triang-algo=...'"
1094     echo "Call './configure --help' for further information or read configure.in."
1095     exit -1;
1096     fi
1097 schoenebeck 1165 else
1098     case "$config_unsigned_triang_algo" in
1099     intmath)
1100     triang_unsigned=2 ;;
1101     diharmonic)
1102     triang_unsigned=3 ;;
1103     intmathabs)
1104     triang_unsigned=5 ;;
1105     esac
1106 schoenebeck 714 fi
1107 schoenebeck 738 AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, ${triang_unsigned}, [Define unsigned triangular wave algorithm to be used.])
1108 schoenebeck 714
1109     AC_LANG_RESTORE
1110    
1111    
1112     ###########################################################################
1113 schoenebeck 554 # Create Build Files
1114    
1115 schoenebeck 9 AM_CONFIG_HEADER(config.h)
1116 schoenebeck 697 AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")
1117 schoenebeck 9
1118     AC_LANG_CPLUSPLUS
1119     AC_PROG_CXX
1120 persson 497
1121 persson 685 # some gcc 4.0 versions need -msse for SSE register allocations
1122     if test "$config_asm" = "yes"; then
1123     if test "$def_arch_x86" = 1; then
1124     CXXFLAGS="$CXXFLAGS -msse"
1125     fi
1126     fi
1127    
1128 persson 497 # autoconf 2.59/libtool 1.5.12 bug? work-around. Without a check like
1129     # this, the dlfcn.h check in am_prog_libtool may fail.
1130     AC_CHECK_HEADER(stdlib.h)
1131    
1132 schoenebeck 654 AC_OUTPUT( \
1133     Makefile \
1134     man/Makefile \
1135     man/linuxsampler.1 \
1136     src/Makefile \
1137 iliev 1161 src/db/Makefile \
1138 schoenebeck 654 src/network/Makefile \
1139     src/engines/Makefile \
1140     src/engines/gig/Makefile \
1141     src/engines/common/Makefile \
1142 schoenebeck 1321 src/common/Makefile \
1143 schoenebeck 654 src/testcases/Makefile \
1144     src/drivers/Makefile \
1145     src/drivers/audio/Makefile \
1146     src/drivers/midi/Makefile \
1147 schoenebeck 1375 src/plugins/Makefile \
1148 schoenebeck 654 linuxsampler.spec \
1149     debian/Makefile \
1150     Artwork/Makefile \
1151     scripts/Makefile \
1152     osx/Makefile \
1153 schoenebeck 1175 osx/linuxsampler.xcodeproj/Makefile \
1154 schoenebeck 654 Documentation/Makefile \
1155     Documentation/Engines/Makefile \
1156     Documentation/Engines/gig/Makefile \
1157 schoenebeck 697 linuxsampler.pc \
1158     Doxyfile \
1159 schoenebeck 654 )
1160 schoenebeck 554
1161 schoenebeck 1212 # resolve all nested variables in '${config_plugin_dir}'
1162     # (merely for providing a human readable summary below)
1163     while test $config_plugin_dir != `eval echo ${config_plugin_dir}` ; do
1164     config_plugin_dir=`eval echo ${config_plugin_dir}`
1165     done
1166 schoenebeck 554
1167 schoenebeck 1212
1168 schoenebeck 554 ###########################################################################
1169     # Output All Configuration Options
1170    
1171     echo ""
1172     echo "#####################################################################"
1173     echo "# LinuxSampler Configuration #"
1174     echo "#-------------------------------------------------------------------#"
1175 schoenebeck 617 echo "# Assembly Optimizations: ${config_asm}"
1176 schoenebeck 554 echo "# Development Mode: ${config_dev_mode}"
1177     echo "# Debug Level: ${config_debug_level}"
1178     echo "# Use Exceptions in RT Context: ${config_rt_exceptions}"
1179     echo "# Preload Samples: ${config_preload_samples}"
1180     echo "# Maximum Pitch: ${config_max_pitch} (octaves)"
1181     echo "# Maximum Events: ${config_max_events}"
1182     echo "# Envelope Bottom Level: ${config_eg_bottom} (linear)"
1183     echo "# Envelope Minimum Release Time: ${config_eg_min_release_time} s"
1184     echo "# Streams to be refilled per Disk Thread Cycle: ${config_refill_streams}"
1185     echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1186     echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1187     echo "# Stream Size: ${config_stream_size}"
1188     echo "# Maximum Disk Streams: ${config_max_streams}"
1189     echo "# Maximum Voices: ${config_max_voices}"
1190 schoenebeck 738 echo "# Default Subfragment Size: ${config_subfragment_size}"
1191 schoenebeck 1005 echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1192 schoenebeck 563 echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
1193 schoenebeck 714 echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"
1194     echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"
1195 schoenebeck 554 echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"
1196 schoenebeck 829 echo "# Min. Portamento Time: ${config_portamento_time_min} s"
1197     echo "# Max. Portamento Time: ${config_portamento_time_max} s"
1198     echo "# Default Portamento Time: ${config_portamento_time_default} s"
1199 schoenebeck 554 echo "# Force Filter Usage: ${config_force_filter}"
1200     echo "# Filter Cutoff Minimum: ${config_filter_cutoff_min} Hz"
1201     echo "# Filter Cutoff Maximum: ${config_filter_cutoff_max} Hz"
1202     echo "# Override Filter Cutoff Controller: ${config_override_cutoff_ctrl}"
1203     echo "# Override Filter Resonance Controller: ${config_override_resonance_ctrl}"
1204     echo "# Override Filter Type: ${config_override_filter_type}"
1205 schoenebeck 563 echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1206 iliev 716 echo "# Process Muted Channels: ${config_process_muted_channels}"
1207 schoenebeck 849 echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1208 persson 830 echo "# Interpolate Volume: ${config_interpolate_volume}"
1209 schoenebeck 1364 echo "# Instruments database support: ${config_instruments_db}"
1210     if test "$config_instruments_db" = "yes"; then
1211     echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1212     fi
1213 schoenebeck 1212 echo "# Plugin Path: ${config_plugin_dir}"
1214 schoenebeck 554 echo "#-------------------------------------------------------------------#"
1215     echo "# Read './configure --help' or file 'configure.in' for details. #"
1216     echo "#####################################################################"
1217     echo ""
1218     echo "Good. Now type 'make' to compile, followed by 'make install' as root."
1219     echo ""

  ViewVC Help
Powered by ViewVC