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

Annotation of /linuxsampler/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


Revision 697 - (hide annotations) (download)
Tue Jul 19 15:43:40 2005 UTC (18 years, 8 months ago) by schoenebeck
Original Path: linuxsampler/trunk/configure.in
File size: 26584 byte(s)
* install necessary development header files for allowing 3rd party
  applications to link against liblinuxsampler
* liblinuxsampler's API documentation can be generated with 'make docs'
  (Doxygen required)

1 schoenebeck 9 AC_INIT(configure.in)
2 schoenebeck 697
3     #------------------------------------------------------------------------------------
4     # LinuxSampler's / liblinuxsampler's "official" release version:
5    
6     LINUXSAMPLER_RELEASE_MAJOR=0
7     LINUXSAMPLER_RELEASE_MINOR=3
8     LINUXSAMPLER_RELEASE_BUILD=3
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=0
28     LIBLINUXSAMPLER_LT_REVISION=0
29     LIBLINUXSAMPLER_LT_AGE=0
30     SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT_CURRENT:$LIBLINUXSAMPLER_LT_REVISION:$LIBLINUXSAMPLER_LT_AGE"
31    
32     AM_PROG_LIBTOOL
33    
34     AC_SUBST(SHLIB_VERSION_ARG)
35     AC_SUBST(SHARED_VERSION_INFO)
36    
37 schoenebeck 12 AC_C_BIGENDIAN
38 schoenebeck 9 AC_CANONICAL_SYSTEM
39    
40 schoenebeck 80 AC_SUBST(target)
41     AC_SUBST(target_alias)
42     AC_SUBST(target_cpu)
43     AC_SUBST(target_os)
44     AC_SUBST(target_vendor)
45 schoenebeck 18
46 schoenebeck 275
47 schoenebeck 554 ###########################################################################
48     # General Checks
49 schoenebeck 275
50 schoenebeck 510 AC_MSG_CHECKING([whether x86 architecture])
51 schoenebeck 9 def_arch_x86=0
52     case $target_cpu in
53     "i386" | "i486" | "i586" | "i686" | "i786")
54     echo "yes"
55     def_arch_x86=1;;
56     *)
57     echo "no";;
58     esac
59     AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x86,[Define to 1 if you build for x86 architecture.])
60    
61 schoenebeck 510 # determine the right gcc switch for CPU specific optimizations
62     CXX_CPU_SWITCH=
63     if test "$def_arch_x86" = 1; then
64     CXX_CPU_SWITCH="-march=$target_cpu"
65     elif test "$target_cpu" = "powerpc"; then
66     CXX_CPU_SWITCH="-arch=$target_cpu"
67     fi
68     AC_SUBST([CXX_CPU_SWITCH])
69    
70 schoenebeck 288 AC_MSG_CHECKING([whether UNIX98 compatible])
71     AC_LANG_SAVE
72     AC_LANG_C
73     AC_TRY_RUN([
74     #ifndef _GNU_SOURCE
75     #define _GNU_SOURCE 1
76     #endif
77     #include <features.h>
78     void main(void) {
79     #if _XOPEN_SOURCE >= 500
80     exit(0); /* UNIX98 compatible */
81     #else
82     exit(-1); /* not UNIX98 compatible */
83     #endif
84     }
85     ],
86     have_unix98="yes",
87     have_unix98="no",
88     have_unix98="no"
89     )
90     AC_LANG_RESTORE
91     AC_MSG_RESULT([$have_unix98])
92     if test "$have_unix98" = "no"; then
93     if test "x$HAVE_UNIX98" = "x"; then
94     echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"
95     echo "pthread_mutexattr_settype() call in Mutex.cpp. You may want to run
96     echo "./configure with environment variable HAVE_UNIX98=1 in case you think you
97     echo "have a UNIX98 compatible system."
98     exit -1;
99     fi
100     fi
101    
102     # Checks for available audio and MIDI systems / drivers
103     # (we throw an error if there's not at least one system for audio output and MIDI input available)
104     have_midi_input_driver="false"
105     have_audio_output_driver="false"
106    
107 schoenebeck 18 AC_CHECK_HEADER(alsa/asoundlib.h,
108     AC_CHECK_LIB(asound, main,
109 schoenebeck 291 have_alsa=1
110 schoenebeck 18 ,
111 schoenebeck 291 have_alsa=0
112 schoenebeck 18 )
113     ,
114 schoenebeck 291 have_alsa=0
115 schoenebeck 18 )
116 schoenebeck 291 if test "$have_alsa" = "1"; then
117 schoenebeck 288 have_midi_input_driver="true"
118     have_audio_output_driver="true";
119 schoenebeck 18 fi
120 schoenebeck 291 AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
121 schoenebeck 288 AC_DEFINE_UNQUOTED(HAVE_ALSA,$have_alsa,[Define to 1 if you have ALSA installed.])
122 schoenebeck 18
123     echo -n "checking Alsa version... "
124     AC_LANG_SAVE
125     AC_LANG_C
126     AC_TRY_RUN([
127     #include <alsa/asoundlib.h>
128     void main(void) {
129     /* ensure backward compatibility */
130     #if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR)
131     #define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR
132     #endif
133     exit(SND_LIB_MAJOR);
134     }
135     ],
136     alsa_major=0,
137     alsa_major=$?,
138     alsa_major=0
139     )
140     AC_TRY_RUN([
141     #include <alsa/asoundlib.h>
142     void main(void) {
143     /* ensure backward compatibility */
144     #if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)
145     #define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR
146     #endif
147     exit(SND_LIB_MINOR);
148     }
149     ],
150     alsa_minor=0,
151     alsa_minor=$?,
152     alsa_minor=0
153     )
154     AC_TRY_RUN([
155     #include <alsa/asoundlib.h>
156     void main(void) {
157     /* ensure backward compatibility */
158     #if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR)
159     #define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR
160     #endif
161     exit(SND_LIB_SUBMINOR);
162     }
163     ],
164     alsa_subminor=0,
165     alsa_subminor=$?,
166     alsa_subminor=0
167     )
168     AC_LANG_RESTORE
169     echo "$alsa_major.$alsa_minor.$alsa_subminor";
170     AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])
171     AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])
172     AC_DEFINE_UNQUOTED(ALSA_SUBMINOR,$alsa_subminor,[Define to the subminor version number of your Alsa installation.])
173    
174 schoenebeck 31 # JACK
175     PKG_CHECK_MODULES(JACK, jack, HAVE_JACK=true, HAVE_JACK=false)
176     AC_SUBST(JACK_LIBS)
177     AC_SUBST(JACK_CFLAGS)
178 schoenebeck 33 if test $HAVE_JACK = false; then
179     HAVE_JACK=0;
180     else
181 schoenebeck 288 HAVE_JACK=1
182     have_audio_output_driver="true";
183 persson 379 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)
184 schoenebeck 33 fi
185 schoenebeck 288 AM_CONDITIONAL(HAVE_JACK, test $HAVE_JACK = 1)
186 schoenebeck 31 AC_DEFINE_UNQUOTED(HAVE_JACK,$HAVE_JACK,[Define to 1 if you have JACK installed.])
187    
188 schoenebeck 609 # MidiShare (Linux, OS X, Windows)
189     AC_CHECK_HEADER(MidiShare.h,
190     AC_CHECK_LIB(MidiShare, MidiCountEvs,
191     have_midishare=1,
192     have_midishare=0
193     )
194     ,
195     have_midishare=0
196     )
197     if test "$have_midishare" = "1"; then
198     have_midi_input_driver="true"
199     fi
200     AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
201     AC_DEFINE_UNQUOTED(HAVE_MIDISHARE,$have_midishare,[Define to 1 if you have MidiShare installed.])
202    
203     # CoreMIDI (OS X)
204     AC_CHECK_HEADER(CoreMIDI/CoreMIDI.h,
205     have_coremidi=1,
206     have_coremidi=0
207     )
208     if test "$have_coremidi" = "1"; then
209     have_midi_input_driver="true"
210     fi
211     AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
212     AC_DEFINE_UNQUOTED(HAVE_COREMIDI,$have_coremidi,[Define to 1 if you have CoreMIDI installed.])
213    
214 schoenebeck 504 # Check presence of libgig
215 capela 643 libgig_version="2.0.1"
216 schoenebeck 504 PKG_CHECK_MODULES(GIG, gig >= $libgig_version, HAVE_GIG=true, HAVE_GIG=false)
217     if test "$HAVE_GIG" = "false"; then
218     echo "Required libgig version not found!"
219     echo "You need to have libgig version ${libgig_version} installed!"
220     exit -1;
221     fi
222     AC_SUBST(GIG_CFLAGS)
223     AC_SUBST(GIG_LIBS)
224    
225 senkov 397 # SQLITE3
226     PKG_CHECK_MODULES(SQLITE3, sqlite3, HAVE_SQLITE3=true, HAVE_SQLITE3=false)
227     AC_SUBST(SQLITE3_LIBS)
228     AC_SUBST(SQLITE3_CFLAGS)
229     if test $HAVE_SQLITE3 = false; then
230     HAVE_SQLITE3=0;
231     else
232     HAVE_SQLITE3=1
233     fi
234     AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
235     AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you have SQLITE3 installed.])
236 schoenebeck 31
237 schoenebeck 291 if test "$have_midi_input_driver" = "false"; then
238 schoenebeck 288 echo "No supported MIDI input system found!"
239 schoenebeck 609 echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
240     echo "ALSA, MIDIShare, CoreMIDI."
241     echo "If you think you have one of those available on your system, make sure you"
242     echo "also have the respective development (header) files installed."
243 schoenebeck 288 exit -1;
244     fi
245 schoenebeck 291 if test "$have_audio_output_driver" = "false"; then
246 schoenebeck 288 echo "No supported audio output system found!"
247     echo "Sorry, LinuxSampler only supports ALSA and JACK as audio output driver at the moment!"
248     exit -1;
249     fi
250    
251    
252 schoenebeck 554 ###########################################################################
253     # Handle Configuration Options
254    
255     # TODO: should we use AC_ARG_VAR(variable, description) instead?
256    
257 schoenebeck 617 AC_ARG_ENABLE(asm,
258     [ --disable-asm
259     Disable hand-crafted assembly optimizations
260     (default=on). LinuxSampler provides CPU specific
261     assembly optimizations for the most important
262     synthesis algorithms. You usually don't want to
263 persson 685 disable that.],
264 schoenebeck 617 [config_asm="no"],
265     [config_asm="yes"]
266     )
267     if test "$config_asm" = "yes"; then
268     AC_DEFINE_UNQUOTED(CONFIG_ASM, 1, [Define to 1 if you want to enable hand-crafted asm optimizations.])
269     fi
270    
271 schoenebeck 554 AC_ARG_ENABLE(dev-mode,
272     [ --enable-dev-mode
273     Enable development mode (default=no). In that mode
274     we do some extra sanity checks here and there.
275     This helps to spot possible problems, but reduces
276     efficiency a bit],
277     [config_dev_mode="yes"],
278     [config_dev_mode="no"]
279     )
280     if test "$config_dev_mode" = "yes"; then
281     AC_DEFINE_UNQUOTED(CONFIG_DEVMODE, 1, [Define to 1 if you want to enable development mode.])
282     fi
283    
284     AC_ARG_ENABLE(debug-level,
285     [ --enable-debug-level
286     Specify verbosity of console messages (default=1).
287     The higher the value, the higher will be verbosity.
288     A value of 0 means no console output at all.
289     There's not really an upper limit but the usual
290     level of all messages is currently somewhere less
291     than 10.],
292     [config_debug_level="${enableval}"],
293     [config_debug_level="1"]
294     )
295     AC_DEFINE_UNQUOTED(CONFIG_DEBUG_LEVEL, $config_debug_level, [Define console verbosity.])
296    
297     AC_ARG_ENABLE(rt-exceptions,
298     [ --enable-rt-exceptions
299     Enable exceptions in the realtime thread
300     (default=no). If this is enabled, exceptions will
301     be thrown on critical errors in the realtime
302     context as well. Otherwise if disabled
303     segmentation faults will be forced by the
304     application on critical errors.],
305     [config_rt_exceptions="yes"],
306     [config_rt_exceptions="no"]
307     )
308     if test "$config_rt_exceptions" = "yes"; then
309     AC_DEFINE_UNQUOTED(CONFIG_RT_EXCEPTIONS, 1, [Define to 1 to allow exceptions in the realtime context.])
310     fi
311    
312     AC_ARG_ENABLE(preload-samples,
313     [ --enable-preload-samples
314     Due to seeking and latency issues with hard drives
315     we have to cache a small part of samples' head in
316     RAM (default=32768). The higher this value the
317     more memory will be occupied for each sample, but
318     the safer this will be in regards of possible
319     droputs. A 'good' value depends on the running
320     system and usage dependant factors.],
321     [config_preload_samples="${enableval}"],
322     [config_preload_samples="32768"]
323     )
324     AC_DEFINE_UNQUOTED(CONFIG_PRELOAD_SAMPLES, $config_preload_samples, [Define amount of sample points to be cached in RAM.])
325    
326     AC_ARG_ENABLE(max-pitch,
327     [ --enable-max-pitch
328     Specify the maximum allowed pitch value in octaves
329     (default=4). To lower memory usage you might want
330     set a smaller value.],
331     [config_max_pitch="${enableval}"],
332     [config_max_pitch="4"]
333     )
334     AC_DEFINE_UNQUOTED(CONFIG_MAX_PITCH, $config_max_pitch, [Define max. allowed pitch.])
335    
336     AC_ARG_ENABLE(max-events,
337     [ --enable-max-events
338     Specify the maximum allowed amount of events to be
339     processed per fragment (default=1024).],
340     [config_max_events="${enableval}"],
341     [config_max_events="1024"]
342     )
343     AC_DEFINE_UNQUOTED(CONFIG_MAX_EVENTS_PER_FRAGMENT, $config_max_events, [Define max. allowed events per fragment.])
344    
345     AC_ARG_ENABLE(eg-bottom,
346     [ --enable-eg-bottom
347     Bottom limit of envelope generators
348     (default=0.001). Certain kinds of curve types like
349     exponential curves converge against 0 but never
350     reach 0. So we have to define a certain low value
351     after which we should consider all smaller values
352     to be 'almost zero'. The smaller this value, the
353     longer will voices survive in EG's release stage
354     and thus waste voices. If this value is too high
355     will cause click sounds though.],
356     [config_eg_bottom="${enableval}"],
357     [config_eg_bottom="0.001"]
358     )
359     AC_DEFINE_UNQUOTED(CONFIG_EG_BOTTOM, $config_eg_bottom, [Define bottom limit of envelopes.])
360    
361     AC_ARG_ENABLE(eg-min-release-time,
362     [ --enable-eg-min-release-time
363     Specify the lowest allowed release time in seconds
364     (default=0.0025). This value will also be used to
365     ramp down voices on voice stealing. This value
366     should always be less than the period time of the
367     used audio driver, as in case of voice stealing
368     the killed voice needs to be completely ramped
369     down in the same fragment.],
370     [config_eg_min_release_time="${enableval}"],
371     [config_eg_min_release_time="0.0025"]
372     )
373     AC_DEFINE_UNQUOTED(CONFIG_EG_MIN_RELEASE_TIME, $config_eg_min_release_time, [Define min. release time.])
374    
375     AC_ARG_ENABLE(refill-streams,
376     [ --enable-refill-streams
377     Number of streams that should be refilled in each
378     disk thread cycle (default=4).],
379     [config_refill_streams="${enableval}"],
380     [config_refill_streams="4"]
381     )
382     AC_DEFINE_UNQUOTED(CONFIG_REFILL_STREAMS_PER_RUN, $config_refill_streams, [Define amount of streams to be refilled per cycle.])
383    
384     AC_ARG_ENABLE(stream-min-refill,
385     [ --enable-stream-min-refill
386     Minimum refill size for disk streams (default=1024).
387     The disk thread will go to sleep for a while if no
388     stream had to be refilled more than this value in
389     a disk thread cycle.],
390     [config_stream_min_refill="${enableval}"],
391     [config_stream_min_refill="1024"]
392     )
393     AC_DEFINE_UNQUOTED(CONFIG_STREAM_MIN_REFILL_SIZE, $config_stream_min_refill, [Define min. stream refill size.])
394    
395     AC_ARG_ENABLE(stream-max-refill,
396     [ --enable-stream-max-refill
397     Maximum refill size for disk streams
398     (default=65536). The disk thread will refill
399     each stream only by a size of this value per
400     disk thread cycle.],
401     [config_stream_max_refill="${enableval}"],
402     [config_stream_max_refill="65536"]
403     )
404     AC_DEFINE_UNQUOTED(CONFIG_STREAM_MAX_REFILL_SIZE, $config_stream_max_refill, [Define max. stream refill size.])
405    
406     AC_ARG_ENABLE(stream-size,
407     [ --enable-stream-size
408     Size of each stream's ring buffer in sample points
409     (default=262144).],
410     [config_stream_size="${enableval}"],
411     [config_stream_size="262144"]
412     )
413     AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_SIZE, $config_stream_size, [Define each stream's ring buffer size.])
414    
415     AC_ARG_ENABLE(max-streams,
416     [ --enable-max-streams
417     Maximum amount of disk streams (default=90). This
418     value should always be higher than the maximum
419     amount of voices.],
420     [config_max_streams="${enableval}"],
421     [config_max_streams="90"]
422     )
423     AC_DEFINE_UNQUOTED(CONFIG_MAX_STREAMS, $config_max_streams, [Define max. streams.])
424    
425     AC_ARG_ENABLE(max-voices,
426     [ --enable-max-voices
427     Maximum amount of voices (default=64). This value
428     should always be lower than the maximum amount of
429     disk streams.],
430     [config_max_voices="${enableval}"],
431     [config_max_voices="64"]
432     )
433     AC_DEFINE_UNQUOTED(CONFIG_MAX_VOICES, $config_max_voices, [Define max. voices.])
434    
435     AC_ARG_ENABLE(voice-steal-algo,
436     [ --enable-voice-steal-algo
437     Voice stealing algorithm to be used. Currently
438     available options:
439     none:
440     Disable voice stealing completely.
441 schoenebeck 563 oldestvoiceonkey (default):
442 schoenebeck 554 Try to kill a voice on the same key first,
443     if no success, proceed with the oldest key.
444 schoenebeck 563 oldestkey:
445 schoenebeck 554 Try to kill a voice from the oldest active
446     key.],
447     [ if test ! "(" "${enableval}" = "none" \
448     -o "${enableval}" = "oldestvoiceonkey" \
449     -o "${enableval}" = "oldestkey" ")" ; then
450     AC_MSG_ERROR([Unknown voice stealing algorithm for parameter --enable-voice-steal-algo])
451     else
452     config_voice_steal_algo="${enableval}"
453 schoenebeck 579 fi
454 schoenebeck 554 ],
455 schoenebeck 563 [config_voice_steal_algo="oldestvoiceonkey"]
456 schoenebeck 554 )
457     AC_DEFINE_UNQUOTED(CONFIG_VOICE_STEAL_ALGO, voice_steal_algo_${config_voice_steal_algo}, [Define voice stealing algorithm to be used.])
458    
459     AC_ARG_ENABLE(sysex-buffer-size,
460     [ --enable-sysex-buffer-size
461     System Exclusive Message buffer size in kB
462     (default=2048).],
463     [config_sysex_buffer_size="${enableval}"],
464     [config_sysex_buffer_size="2048"]
465     )
466     AC_DEFINE_UNQUOTED(CONFIG_SYSEX_BUFFER_SIZE, $config_sysex_buffer_size, [Define SysEx buffer size.])
467    
468     AC_ARG_ENABLE(filter-update-steps,
469     [ --enable-filter-update-steps
470     Amount of sample points after which filter
471     parameters (cutoff, resonance) are going to be
472     updated (default=64). Higher value means less CPU
473     load, but also worse parameter resolution, this
474     value will be aligned to a power of two.],
475     [config_filter_update_steps="${enableval}"],
476     [config_filter_update_steps="64"]
477     )
478     AC_DEFINE_UNQUOTED(CONFIG_FILTER_UPDATE_STEPS, $config_filter_update_steps, [Define amount of steps to refresh filter coefficients.])
479    
480     AC_ARG_ENABLE(force-filter,
481     [ --enable-force-filter
482     If enabled will force filter to be used even if
483     no usage was define in instrument patch files.
484     (default=no).],
485     [config_force_filter="yes"],
486     [config_force_filter="no"]
487     )
488     if test "$config_force_filter" = "yes"; then
489     AC_DEFINE_UNQUOTED(CONFIG_FORCE_FILTER, 1, [Define to 1 to force filter usage.])
490     fi
491    
492     AC_ARG_ENABLE(filter-cutoff-min,
493     [ --enable-filter-cutoff-min
494     Minimum filter cutoff frequency in Hz
495     (default=100.0).],
496     [config_filter_cutoff_min="${enableval}"],
497     [config_filter_cutoff_min="100.0"]
498     )
499     AC_DEFINE_UNQUOTED(CONFIG_FILTER_CUTOFF_MIN, ${config_filter_cutoff_min}f, [Define min. filter cutoff frequency.])
500    
501     AC_ARG_ENABLE(filter-cutoff-max,
502     [ --enable-filter-cutoff-max
503     Maximum filter cutoff frequency in Hz
504     (default=10000.0).],
505     [config_filter_cutoff_max="${enableval}"],
506     [config_filter_cutoff_max="10000.0"]
507     )
508     AC_DEFINE_UNQUOTED(CONFIG_FILTER_CUTOFF_MAX, ${config_filter_cutoff_max}f, [Define max. filter cutoff frequency.])
509    
510     AC_ARG_ENABLE(override-cutoff-ctrl,
511     [ --enable-override-cutoff-ctrl
512     Override filter cutoff MIDI controller (default=no).
513     Note: you have to define the MIDI controller number
514     here, it's not a boolean parameter type! If this
515     option is used, controller number given by
516     instrument patch will be ignored and instead this
517     supplied value will be used.],
518     [config_override_cutoff_ctrl="${enableval}"],
519     [config_override_cutoff_ctrl="no"]
520     )
521     if test ! "$config_override_cutoff_ctrl" = "no"; then
522     AC_DEFINE_UNQUOTED(CONFIG_OVERRIDE_CUTOFF_CTRL, $config_override_cutoff_ctrl, [Define to a MIDI controller number to override cutoff control.])
523     fi
524    
525     AC_ARG_ENABLE(override-resonance-ctrl,
526     [ --enable-override-resonance-ctrl
527     Override filter resonance MIDI controller
528     (default=no). Note: you have to define the MIDI
529     controller number here, it's not a boolean
530     parameter type! If this option is used, controller
531     number given by instrument patch will be ignored
532     and instead this supplied value will be used.],
533     [config_override_resonance_ctrl="${enableval}"],
534     [config_override_resonance_ctrl="no"]
535     )
536     if test ! "$config_override_resonance_ctrl" = "no"; then
537     AC_DEFINE_UNQUOTED(CONFIG_OVERRIDE_RESONANCE_CTRL, $config_override_resonance_ctrl, [Define to a MIDI controller number to override resonance control.])
538     fi
539    
540     AC_ARG_ENABLE(override-filter-type,
541     [ --enable-override-filter-type
542     Override filter type (default=no). Options:
543     hp: for highpass
544     bp: for bandpass
545     br: for bandreject
546     lp: for lowpass
547     lpt: for lowpass turbo],
548     [ if test "${enableval}" = "hp" ; then
549     config_override_filter_type="::gig::vcf_type_highpass"
550     elif test "${enableval}" = "bp" ; then
551     config_override_filter_type="::gig::vcf_type_bandpass"
552     elif test "${enableval}" = "br" ; then
553     config_override_filter_type="::gig::vcf_type_bandreject"
554     elif test "${enableval}" = "lp" ; then
555     config_override_filter_type="::gig::vcf_type_lowpass"
556     elif test "${enableval}" = "lpt" ; then
557     config_override_filter_type="::gig::vcf_type_lowpassturbo"
558     elif test ! "${enableval}" = "no"; then
559     AC_MSG_ERROR([Unknown filter type for parameter --enable-override-filter-type])
560 schoenebeck 579 fi
561 schoenebeck 554 ],
562     [config_override_filter_type="no"]
563     )
564     if test ! "$config_override_filter_type" = "no"; then
565     AC_DEFINE_UNQUOTED(CONFIG_OVERRIDE_FILTER_TYPE, $config_override_filter_type, [Define to a filter type to always force that filter type.])
566     fi
567    
568 schoenebeck 563 AC_ARG_ENABLE(gs-checksum,
569     [ --enable-gs-checksum
570     Enable Roland General Synth SysEx checksum check
571     (default=no). If this is enabled, all GS SysEx
572     messages which do not provide a correct checksum
573     will be ignored. This is disabled by default as
574     not all devices honor GS checksums.],
575     [config_assert_gs_sysex_checksum="yes"],
576     [config_assert_gs_sysex_checksum="no"]
577     )
578     if test "config_assert_gs_sysex_checksum" = "yes"; then
579     AC_DEFINE_UNQUOTED(CONFIG_ASSERT_GS_SYSEX_CHECKSUM, 1, [Define to 1 if you want to enable GS SysEx check.])
580     fi
581    
582    
583 schoenebeck 554 ###########################################################################
584     # Create Build Files
585    
586 schoenebeck 9 AM_CONFIG_HEADER(config.h)
587 schoenebeck 697 AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")
588 schoenebeck 9
589     AC_LANG_CPLUSPLUS
590     AC_PROG_CXX
591 persson 497
592 persson 685 # some gcc 4.0 versions need -msse for SSE register allocations
593     if test "$config_asm" = "yes"; then
594     if test "$def_arch_x86" = 1; then
595     CXXFLAGS="$CXXFLAGS -msse"
596     fi
597     fi
598    
599 persson 497 # autoconf 2.59/libtool 1.5.12 bug? work-around. Without a check like
600     # this, the dlfcn.h check in am_prog_libtool may fail.
601     AC_CHECK_HEADER(stdlib.h)
602    
603 schoenebeck 654 AC_OUTPUT( \
604     Makefile \
605     man/Makefile \
606     man/linuxsampler.1 \
607     src/Makefile \
608     src/network/Makefile \
609     src/engines/Makefile \
610     src/engines/gig/Makefile \
611     src/engines/common/Makefile \
612     src/common/Makefile src/lib/Makefile \
613     src/lib/fileloader/Makefile \
614     src/lib/fileloader/libgig/Makefile \
615     src/testcases/Makefile \
616     src/drivers/Makefile \
617     src/drivers/audio/Makefile \
618     src/drivers/midi/Makefile \
619     linuxsampler.spec \
620     debian/Makefile \
621     Artwork/Makefile \
622     scripts/Makefile \
623     osx/Makefile \
624     osx/LinuxSampler.xcode/Makefile \
625     Documentation/Makefile \
626     Documentation/Engines/Makefile \
627     Documentation/Engines/gig/Makefile \
628 schoenebeck 697 linuxsampler.pc \
629     Doxyfile \
630 schoenebeck 654 )
631 schoenebeck 554
632    
633     ###########################################################################
634     # Output All Configuration Options
635    
636     echo ""
637     echo "#####################################################################"
638     echo "# LinuxSampler Configuration #"
639     echo "#-------------------------------------------------------------------#"
640 schoenebeck 617 echo "# Assembly Optimizations: ${config_asm}"
641 schoenebeck 554 echo "# Development Mode: ${config_dev_mode}"
642     echo "# Debug Level: ${config_debug_level}"
643     echo "# Use Exceptions in RT Context: ${config_rt_exceptions}"
644     echo "# Preload Samples: ${config_preload_samples}"
645     echo "# Maximum Pitch: ${config_max_pitch} (octaves)"
646     echo "# Maximum Events: ${config_max_events}"
647     echo "# Envelope Bottom Level: ${config_eg_bottom} (linear)"
648     echo "# Envelope Minimum Release Time: ${config_eg_min_release_time} s"
649     echo "# Streams to be refilled per Disk Thread Cycle: ${config_refill_streams}"
650     echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
651     echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
652     echo "# Stream Size: ${config_stream_size}"
653     echo "# Maximum Disk Streams: ${config_max_streams}"
654     echo "# Maximum Voices: ${config_max_voices}"
655 schoenebeck 563 echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
656 schoenebeck 554 echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"
657     echo "# Filter Update Steps: ${config_filter_update_steps}"
658     echo "# Force Filter Usage: ${config_force_filter}"
659     echo "# Filter Cutoff Minimum: ${config_filter_cutoff_min} Hz"
660     echo "# Filter Cutoff Maximum: ${config_filter_cutoff_max} Hz"
661     echo "# Override Filter Cutoff Controller: ${config_override_cutoff_ctrl}"
662     echo "# Override Filter Resonance Controller: ${config_override_resonance_ctrl}"
663     echo "# Override Filter Type: ${config_override_filter_type}"
664 schoenebeck 563 echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
665 schoenebeck 554 echo "#-------------------------------------------------------------------#"
666     echo "# Read './configure --help' or file 'configure.in' for details. #"
667     echo "#####################################################################"
668     echo ""
669     echo "Good. Now type 'make' to compile, followed by 'make install' as root."
670     echo ""

  ViewVC Help
Powered by ViewVC