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

Contents of /linuxsampler/trunk/configure.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1651 - (show annotations) (download)
Sun Jan 27 15:07:11 2008 UTC (11 years, 7 months ago) by persson
File size: 49919 byte(s)
* added JACK MIDI driver

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

  ViewVC Help
Powered by ViewVC