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

Contents of /linuxsampler/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1748 - (show annotations) (download)
Sun Jun 22 14:46:46 2008 UTC (15 years, 8 months ago) by persson
Original Path: linuxsampler/trunk/configure.in
File size: 50197 byte(s)
* bugfix: notes triggered at position 0 in the audio buffer were
  sometimes wrongly killed in the same buffer, causing no sound to be
  played
* fixes for audio drivers with varying buffer sizes
* Makefile fix: JACK_CFLAGS wasn't used
* JACK driver: use jack_client_open instead of the deprecated
  jack_client_new

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

  ViewVC Help
Powered by ViewVC