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

Contents of /linuxsampler/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1686 - (show annotations) (download)
Thu Feb 14 14:58:50 2008 UTC (16 years, 1 month ago) by schoenebeck
Original Path: linuxsampler/trunk/configure.in
File size: 50005 byte(s)
* added new LSCP event "CHANNEL_MIDI" which can be used by frontends to
  react on MIDI data arriving on certain sampler channels (so far only
  Note-On and Note-Off events are sent via this LSCP event)
* bumped LSCP compliance version to 1.4
* bumped LS version to 0.5.1.3cvs

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.3cvs
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 AM_PROG_LIBTOOL
42
43 AC_SUBST(SHLIB_VERSION_ARG)
44 AC_SUBST(SHARED_VERSION_INFO)
45
46 AC_C_BIGENDIAN
47 AC_CANONICAL_SYSTEM
48
49 AC_SUBST(target)
50 AC_SUBST(target_alias)
51 AC_SUBST(target_cpu)
52 AC_SUBST(target_os)
53 AC_SUBST(target_vendor)
54
55 PKG_PROG_PKG_CONFIG
56
57 ###########################################################################
58 # General Checks
59
60 AC_MSG_CHECKING([whether x86 architecture])
61 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 # determine the right gcc switch for CPU specific optimizations
72 # (only if the user did not provide one)
73 CXX_CPU_SWITCH=
74 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 elif test "$target_cpu" = "ppc"; then
78 CXX_CPU_SWITCH="-arch=$target_cpu"
79 fi
80 fi
81 AC_SUBST([CXX_CPU_SWITCH])
82
83 # 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 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 if test "$have_unix98" = "no" -a "have_windows" = "0"; then
114 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 # check for <features.h>
124 AC_CHECK_HEADERS(features.h)
125
126 # 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
135 # 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 ###########################################################################
167 # 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
170 have_midi_input_driver="false"
171 have_audio_output_driver="false"
172
173 # ALSA
174 AC_ARG_ENABLE(alsa-driver,
175 [ --disable-alsa-driver
176 Disable support for the Advanced Linux Sound
177 Architecture (ALSA).],
178 [config_alsa_driver="$enableval"],
179 [config_alsa_driver="yes"]
180 )
181 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 fi
250 AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
251 AC_DEFINE_UNQUOTED(HAVE_ALSA,$have_alsa,[Define to 1 if you have ALSA installed.])
252
253 # JACK
254 AC_ARG_ENABLE(jack-driver,
255 [ --disable-jack-driver
256 Disable support for the Jack Audio Connection Kit
257 (JACK).],
258 [config_jack_driver="$enableval"],
259 [config_jack_driver="yes"]
260 )
261 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 else
271 echo "JACK support disabled by configure script parameter"
272 fi
273 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
276 # JACK MIDI
277 have_jack_midi=0
278 if test $have_jack = "1"; then
279 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 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 # ARTS
300 AC_ARG_ENABLE(arts-driver,
301 [ --disable-arts-driver
302 Disable support for the Analogue Realtime System
303 (aRts).],
304 [config_arts_driver="$enableval"],
305 [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 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 # 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 # MidiShare (Linux, OS X, Windows)
361 AC_ARG_ENABLE(midishare-driver,
362 [ --disable-midishare-driver
363 Disable support for the MidiShare system.],
364 [config_midishare_driver="$enableval"],
365 [config_midishare_driver="yes"]
366 )
367 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 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 AC_ARG_ENABLE(coremidi-driver,
388 [ --disable-coremidi-driver
389 Disable support for the Apple CoreMIDI system.],
390 [config_coremidi_driver="$enableval"],
391 [config_coremidi_driver="yes"]
392 )
393 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 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 # 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 # 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 echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
435 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 echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
442 echo "driver at the moment!"
443 exit -1;
444 fi
445
446
447
448 ###########################################################################
449 # Checks for various DLL libraries
450
451 # Check presence of libgig
452 libgig_version="3.2.1"
453 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 else
459 echo "yes, found libgig $libgig_version"
460 fi
461 AC_SUBST(GIG_CFLAGS)
462 AC_SUBST(GIG_LIBS)
463
464 # 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 else
491 echo "Instruments DB feature disabled by configure script parameter"
492 fi
493 AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
494 AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you want the instruments DB feature and have SQLITE3 installed.])
495
496
497
498 ###########################################################################
499 # Handle Configuration Options
500
501 # TODO: should we use AC_ARG_VAR(variable, description) instead?
502
503 AC_ARG_ENABLE(asm,
504 [ --disable-asm
505 Enable hand-crafted assembly optimizations
506 (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 [config_asm="$enableval"],
512 [config_asm="yes"]
513 )
514 if test "$config_asm" = "yes"; then
515 AC_DEFINE_UNQUOTED(CONFIG_ASM, 1, [Define to 1 if you want to enable asm optimizations.])
516 fi
517
518 AC_ARG_ENABLE(dev-mode,
519 [ --enable-dev-mode
520 Enable development mode (default=off). In that mode
521 we do some extra sanity checks here and there.
522 This helps to spot possible problems, but reduces
523 efficiency a bit],
524 [config_dev_mode="$enableval"],
525 [config_dev_mode="no"]
526 )
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 [config_rt_exceptions="$enableval"],
553 [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 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 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 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 AC_ARG_ENABLE(global-attenuation-default,
709 [ --enable-global-attenuation-default
710 To prevent clipping all samples will be lowered
711 in amplitude by this given default factor (can
712 be overridden at runtime).
713 (default=0.35)],
714 [config_global_attenuation_default="${enableval}"],
715 [config_global_attenuation_default="0.35"]
716 )
717 AC_DEFINE_UNQUOTED(CONFIG_GLOBAL_ATTENUATION_DEFAULT, $config_global_attenuation_default, [Define default global volume attenuation (as floating point factor).])
718
719 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 oldestvoiceonkey (default):
726 Try to kill a voice on the same key first,
727 if no success, proceed with the oldest key.
728 oldestkey:
729 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 fi
738 ],
739 [config_voice_steal_algo="oldestvoiceonkey"]
740 )
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 [config_force_filter="$enableval"],
758 [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 fi
833 ],
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 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 [config_assert_gs_sysex_checksum="$enableval"],
848 [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 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 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 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 an extra integer multiply instruction.
894 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 -o "${enableval}" = "intmathabs" \
906 -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
915 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 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 an extra integer multiply instruction.
928 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 -o "${enableval}" = "intmathabs" \
940 -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 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 [config_process_muted_channels="$enableval"],
959 [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
965 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 [config_process_all_notes_off="$enableval"],
973 [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 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 [config_interpolate_volume="$enableval"],
987 [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
993 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
1006 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 AC_SUBST(config_default_instruments_db_file)
1022
1023
1024 ###########################################################################
1025 # 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 #include "${srcdir}/benchmarks/triang.cpp"
1036 ],
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 elif test "$triang_signed" = "5"; then
1048 config_signed_triang_algo="intmathabs"
1049 echo "integer math using abs()"
1050 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 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 fi
1067 AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ALGO, ${triang_signed}, [Define signed triangular wave algorithm to be used.])
1068
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 #include "${srcdir}/benchmarks/triang.cpp"
1076 ],
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 elif test "$triang_unsigned" = "5"; then
1088 config_unsigned_triang_algo="intmathabs"
1089 echo "integer math using abs()"
1090 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 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 fi
1107 AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, ${triang_unsigned}, [Define unsigned triangular wave algorithm to be used.])
1108
1109 AC_LANG_RESTORE
1110
1111
1112 ###########################################################################
1113 # Create Build Files
1114
1115 AM_CONFIG_HEADER(config.h)
1116 AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")
1117
1118 AC_LANG_CPLUSPLUS
1119 AC_PROG_CXX
1120
1121 # 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 # 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 AC_OUTPUT( \
1133 Makefile \
1134 man/Makefile \
1135 man/linuxsampler.1 \
1136 src/Makefile \
1137 src/db/Makefile \
1138 src/network/Makefile \
1139 src/engines/Makefile \
1140 src/engines/gig/Makefile \
1141 src/engines/common/Makefile \
1142 src/common/Makefile \
1143 src/testcases/Makefile \
1144 src/drivers/Makefile \
1145 src/drivers/audio/Makefile \
1146 src/drivers/midi/Makefile \
1147 src/plugins/Makefile \
1148 linuxsampler.spec \
1149 debian/Makefile \
1150 Artwork/Makefile \
1151 scripts/Makefile \
1152 osx/Makefile \
1153 osx/linuxsampler.xcodeproj/Makefile \
1154 Documentation/Makefile \
1155 Documentation/Engines/Makefile \
1156 Documentation/Engines/gig/Makefile \
1157 linuxsampler.pc \
1158 Doxyfile \
1159 )
1160
1161 # 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
1167
1168 ###########################################################################
1169 # Output All Configuration Options
1170
1171 echo ""
1172 echo "#####################################################################"
1173 echo "# LinuxSampler Configuration #"
1174 echo "#-------------------------------------------------------------------#"
1175 echo "# Assembly Optimizations: ${config_asm}"
1176 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 echo "# Default Subfragment Size: ${config_subfragment_size}"
1191 echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1192 echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
1193 echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"
1194 echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"
1195 echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"
1196 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 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 echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1206 echo "# Process Muted Channels: ${config_process_muted_channels}"
1207 echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1208 echo "# Interpolate Volume: ${config_interpolate_volume}"
1209 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 echo "# Plugin Path: ${config_plugin_dir}"
1214 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