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

Diff of /linuxsampler/trunk/configure.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 654 by schoenebeck, Wed Jun 15 20:25:25 2005 UTC revision 937 by schoenebeck, Fri Nov 24 17:43:09 2006 UTC
# Line 1  Line 1 
1  AC_INIT(configure.in)  AC_INIT(configure.in)
2    
3    #------------------------------------------------------------------------------------
4    # LinuxSampler's / liblinuxsampler's "official" release version:
5    
6    LINUXSAMPLER_RELEASE_MAJOR=0
7    LINUXSAMPLER_RELEASE_MINOR=4
8    LINUXSAMPLER_RELEASE_BUILD=0
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  AC_C_BIGENDIAN  AC_C_BIGENDIAN
38  AC_CANONICAL_SYSTEM  AC_CANONICAL_SYSTEM
39    
# Line 24  esac Line 59  esac
59  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x86,[Define to 1 if you build for x86 architecture.])  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x86,[Define to 1 if you build for x86 architecture.])
60    
61  # determine the right gcc switch for CPU specific optimizations  # determine the right gcc switch for CPU specific optimizations
62    # (only if the user did not provide one)
63  CXX_CPU_SWITCH=  CXX_CPU_SWITCH=
64  if test "$def_arch_x86" = 1; then  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then
65    CXX_CPU_SWITCH="-march=$target_cpu"    if test "$def_arch_x86" = 1; then
66  elif test "$target_cpu" = "powerpc"; then      CXX_CPU_SWITCH="-march=$target_cpu"
67    CXX_CPU_SWITCH="-arch=$target_cpu"    elif test "$target_cpu" = "ppc"; then
68        CXX_CPU_SWITCH="-arch=$target_cpu"
69      fi
70  fi  fi
71  AC_SUBST([CXX_CPU_SWITCH])  AC_SUBST([CXX_CPU_SWITCH])
72    
# Line 64  if test "$have_unix98" = "no"; then Line 102  if test "$have_unix98" = "no"; then
102      fi      fi
103  fi  fi
104    
105    # check for <features.h>
106    AC_CHECK_HEADERS(features.h)
107    
108    
109    ###########################################################################
110  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
111  # (we throw an error if there's not at least one system for audio output and MIDI input available)  # (we throw an error if there's not at least one system for audio output and MIDI input available)
112    
113  have_midi_input_driver="false"  have_midi_input_driver="false"
114  have_audio_output_driver="false"  have_audio_output_driver="false"
115    
116  AC_CHECK_HEADER(alsa/asoundlib.h,  # ALSA
117      AC_CHECK_LIB(asound, main,  AC_ARG_ENABLE(alsa-driver,
118                               have_alsa=1    [  --disable-alsa-driver
119                               ,                            Disable support for the Advanced Linux Sound
120                               have_alsa=0                            Architecture (ALSA).],
121                  )    [config_alsa_driver="no"],
122                  ,    [config_alsa_driver="yes"]
123                  have_alsa=0  )
124  )  have_alsa=0
125  if test "$have_alsa" = "1"; then  if test "$config_alsa_driver" = "yes"; then
126      have_midi_input_driver="true"      AC_CHECK_HEADER(alsa/asoundlib.h,
127      have_audio_output_driver="true";          AC_CHECK_LIB(asound, main,
128                                     have_alsa=1
129                                     ,
130                                     have_alsa=0
131                        )
132                        ,
133                        have_alsa=0
134        )
135        if test "$have_alsa" = "1"; then
136            have_midi_input_driver="true"
137            have_audio_output_driver="true";
138        fi
139    
140        echo -n "checking Alsa version... "
141        AC_LANG_SAVE
142        AC_LANG_C
143        AC_TRY_RUN([
144            #include <alsa/asoundlib.h>
145            void main(void) {
146                /* ensure backward compatibility */
147                #if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR)
148                #define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR
149                #endif
150                exit(SND_LIB_MAJOR);
151            }
152        ],
153        alsa_major=0,
154        alsa_major=$?,
155        alsa_major=0
156        )
157        AC_TRY_RUN([
158            #include <alsa/asoundlib.h>
159            void main(void) {
160                /* ensure backward compatibility */
161                #if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)
162                #define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR
163                #endif
164                exit(SND_LIB_MINOR);
165            }
166        ],
167        alsa_minor=0,
168        alsa_minor=$?,
169        alsa_minor=0
170        )
171        AC_TRY_RUN([
172            #include <alsa/asoundlib.h>
173            void main(void) {
174                /* ensure backward compatibility */
175                #if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR)
176                #define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR
177                #endif
178                exit(SND_LIB_SUBMINOR);
179            }
180        ],
181        alsa_subminor=0,
182        alsa_subminor=$?,
183        alsa_subminor=0
184        )
185        AC_LANG_RESTORE
186        echo "$alsa_major.$alsa_minor.$alsa_subminor";
187        AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])
188        AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])
189        AC_DEFINE_UNQUOTED(ALSA_SUBMINOR,$alsa_subminor,[Define to the subminor version number of your Alsa installation.])
190    else
191        echo "ALSA support disabled by configure script parameter"
192  fi  fi
193  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
194  AC_DEFINE_UNQUOTED(HAVE_ALSA,$have_alsa,[Define to 1 if you have ALSA installed.])  AC_DEFINE_UNQUOTED(HAVE_ALSA,$have_alsa,[Define to 1 if you have ALSA installed.])
195    
 echo -n "checking Alsa version... "  
 AC_LANG_SAVE  
 AC_LANG_C  
 AC_TRY_RUN([  
 #include <alsa/asoundlib.h>  
 void main(void) {  
 /* ensure backward compatibility */  
 #if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR)  
 #define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR  
 #endif  
 exit(SND_LIB_MAJOR);  
 }  
 ],  
 alsa_major=0,  
 alsa_major=$?,  
 alsa_major=0  
 )  
 AC_TRY_RUN([  
 #include <alsa/asoundlib.h>  
 void main(void) {  
 /* ensure backward compatibility */  
 #if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)  
 #define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR  
 #endif  
 exit(SND_LIB_MINOR);  
 }  
 ],  
 alsa_minor=0,  
 alsa_minor=$?,  
 alsa_minor=0  
 )  
 AC_TRY_RUN([  
 #include <alsa/asoundlib.h>  
 void main(void) {  
 /* ensure backward compatibility */  
 #if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR)  
 #define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR  
 #endif  
 exit(SND_LIB_SUBMINOR);  
 }  
 ],  
 alsa_subminor=0,  
 alsa_subminor=$?,  
 alsa_subminor=0  
 )  
 AC_LANG_RESTORE  
 echo "$alsa_major.$alsa_minor.$alsa_subminor";  
 AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])  
 AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])  
 AC_DEFINE_UNQUOTED(ALSA_SUBMINOR,$alsa_subminor,[Define to the subminor version number of your Alsa installation.])  
   
196  # JACK  # JACK
197  PKG_CHECK_MODULES(JACK, jack, HAVE_JACK=true, HAVE_JACK=false)  AC_ARG_ENABLE(jack-driver,
198  AC_SUBST(JACK_LIBS)    [  --disable-jack-driver
199  AC_SUBST(JACK_CFLAGS)                            Disable support for the Jack Audio Connection Kit
200  if test $HAVE_JACK = false; then                            (JACK).],
201      HAVE_JACK=0;    [config_jack_driver="no"],
202      [config_jack_driver="yes"]
203    )
204    have_jack=0
205    if test "$config_jack_driver" = "yes"; then
206        PKG_CHECK_MODULES(JACK, jack, have_jack=1, have_jack=0)
207        if test $have_jack = "1"; then
208            AC_SUBST(JACK_LIBS)
209            AC_SUBST(JACK_CFLAGS)
210            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)
211            have_audio_output_driver="true";
212        fi
213  else  else
214      HAVE_JACK=1      echo "JACK support disabled by configure script parameter"
     have_audio_output_driver="true";  
     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)  
215  fi  fi
216  AM_CONDITIONAL(HAVE_JACK, test $HAVE_JACK = 1)  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
217  AC_DEFINE_UNQUOTED(HAVE_JACK,$HAVE_JACK,[Define to 1 if you have JACK installed.])  AC_DEFINE_UNQUOTED(HAVE_JACK,$have_jack,[Define to 1 if you have JACK installed.])
218    
219    # ARTS
220    AC_ARG_ENABLE(arts-driver,
221      [  --disable-arts-driver
222                              Disable support for the Analogue Realtime System
223                              (aRts).],
224      [config_arts_driver="no"],
225      [config_arts_driver="yes"]
226    )
227    have_arts=0
228    if test "$config_arts_driver" = "yes"; then
229        m4_ifdef([m4_include(m4/arts.m4)],,
230                 [sinclude([m4/arts.m4])])
231        AM_PATH_ARTS(0.9.5, have_arts=1, have_arts=0)
232        if test "$have_arts" = "1"; then
233            have_audio_output_driver="true"
234        fi
235    else
236        echo "ARTS support disabled by configure script parameter"
237    fi
238    AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
239    AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])
240    
241  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
242  AC_CHECK_HEADER(MidiShare.h,  AC_ARG_ENABLE(midishare-driver,
243      AC_CHECK_LIB(MidiShare, MidiCountEvs,    [  --disable-midishare-driver
244                              have_midishare=1,                            Disable support for the MidiShare system.],
245                              have_midishare=0    [config_midishare_driver="no"],
246                  )    [config_midishare_driver="yes"]
247                  ,  )
248                  have_midishare=0  have_midishare=0
249  )  if test "$config_midishare_driver" = "yes"; then
250  if test "$have_midishare" = "1"; then      AC_CHECK_HEADER(MidiShare.h,
251      have_midi_input_driver="true"          AC_CHECK_LIB(MidiShare, MidiCountEvs,
252                                    have_midishare=1,
253                                    have_midishare=0
254                        )
255                        ,
256                        have_midishare=0
257        )
258        if test "$have_midishare" = "1"; then
259            have_midi_input_driver="true"
260        fi
261    else
262        echo "MidiShare support disabled by configure script parameter"
263  fi  fi
264  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
265  AC_DEFINE_UNQUOTED(HAVE_MIDISHARE,$have_midishare,[Define to 1 if you have MidiShare installed.])  AC_DEFINE_UNQUOTED(HAVE_MIDISHARE,$have_midishare,[Define to 1 if you have MidiShare installed.])
266    
267  # CoreMIDI (OS X)  # CoreMIDI (OS X)
268  AC_CHECK_HEADER(CoreMIDI/CoreMIDI.h,  AC_ARG_ENABLE(coremidi-driver,
269                  have_coremidi=1,    [  --disable-coremidi-driver
270                  have_coremidi=0                            Disable support for the Apple CoreMIDI system.],
271  )    [config_coremidi_driver="no"],
272  if test "$have_coremidi" = "1"; then    [config_coremidi_driver="yes"]
273      have_midi_input_driver="true"  )
274    have_coremidi=0
275    if test "$config_coremidi_driver" = "yes"; then
276        AC_CHECK_HEADER(CoreMIDI/CoreMIDI.h,
277            have_coremidi=1,
278            have_coremidi=0
279        )
280        if test "$have_coremidi" = "1"; then
281            have_midi_input_driver="true"
282        fi
283    else
284        echo "CoreMIDI support disabled by configure script parameter"
285  fi  fi
286  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
287  AC_DEFINE_UNQUOTED(HAVE_COREMIDI,$have_coremidi,[Define to 1 if you have CoreMIDI installed.])  AC_DEFINE_UNQUOTED(HAVE_COREMIDI,$have_coremidi,[Define to 1 if you have CoreMIDI installed.])
288    
289  # Check presence of libgig  # Check presence of libgig
290  libgig_version="2.0.1"  libgig_version="3.1.0"
291  PKG_CHECK_MODULES(GIG, gig >= $libgig_version, HAVE_GIG=true, HAVE_GIG=false)  PKG_CHECK_MODULES(GIG, gig >= $libgig_version, HAVE_GIG=true, HAVE_GIG=false)
292  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
293      echo "Required libgig version not found!"      echo "Required libgig version not found!"
294      echo "You need to have libgig version ${libgig_version} installed!"      echo "You need to have libgig version ${libgig_version} installed!"
295      exit -1;      exit -1;
296    else
297        echo "yes, found libgig $libgig_version"
298  fi  fi
299  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
300  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
# Line 193  AC_SUBST(SQLITE3_LIBS) Line 305  AC_SUBST(SQLITE3_LIBS)
305  AC_SUBST(SQLITE3_CFLAGS)  AC_SUBST(SQLITE3_CFLAGS)
306  if test $HAVE_SQLITE3 = false; then  if test $HAVE_SQLITE3 = false; then
307      HAVE_SQLITE3=0;      HAVE_SQLITE3=0;
308        echo "no, support for instrument DB will be disabled!"
309  else  else
310      HAVE_SQLITE3=1      HAVE_SQLITE3=1
311        echo "yes"
312  fi  fi
313  AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)  AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
314  AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you have SQLITE3 installed.])  AC_DEFINE_UNQUOTED(HAVE_SQLITE3,$HAVE_SQLITE3,[Define to 1 if you have SQLITE3 installed.])
# Line 220  fi Line 334  fi
334  # TODO: should we use AC_ARG_VAR(variable, description) instead?  # TODO: should we use AC_ARG_VAR(variable, description) instead?
335    
336  AC_ARG_ENABLE(asm,  AC_ARG_ENABLE(asm,
337    [  --disable-asm    [  --enable-asm
338                            Disable hand-crafted assembly optimizations                            Enable hand-crafted assembly optimizations
339                            (default=on). LinuxSampler provides CPU specific                            (default=off). LinuxSampler provides CPU specific
340                            assembly optimizations for the most important                            assembly optimizations for the most important
341                            synthesis algorithms. You usually don't want to                            synthesis algorithms. This is currently disabled
342                            diable that.],                            by default since current asm code is broken.],
343    [config_asm="no"],    [config_asm="yes"],
344    [config_asm="yes"]    [config_asm="no"]
345  )  )
346  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
347    AC_DEFINE_UNQUOTED(CONFIG_ASM, 1, [Define to 1 if you want to enable hand-crafted asm optimizations.])    AC_DEFINE_UNQUOTED(CONFIG_ASM, 1, [Define to 1 if you want to enable hand-crafted asm optimizations.])
# Line 235  fi Line 349  fi
349    
350  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
351    [  --enable-dev-mode    [  --enable-dev-mode
352                            Enable development mode (default=no). In that mode                            Enable development mode (default=off). In that mode
353                            we do some extra sanity checks here and there.                            we do some extra sanity checks here and there.
354                            This helps to spot possible problems, but reduces                            This helps to spot possible problems, but reduces
355                            efficiency a bit],                            efficiency a bit],
# Line 397  AC_ARG_ENABLE(max-voices, Line 511  AC_ARG_ENABLE(max-voices,
511  )  )
512  AC_DEFINE_UNQUOTED(CONFIG_MAX_VOICES, $config_max_voices, [Define max. voices.])  AC_DEFINE_UNQUOTED(CONFIG_MAX_VOICES, $config_max_voices, [Define max. voices.])
513    
514    AC_ARG_ENABLE(subfragment-size,
515      [  --enable-subfragment-size
516                              Every audio fragment will be splitted into
517                              subfragments. Where each subfragment renders
518                              audio with constant synthesis parameters. This is
519                              done for efficiency reasons. This parameter
520                              defines the default size of a subfragment in
521                              sample points. A large value means less CPU time
522                              whereas a low value means better audio quality
523                              (default=32).],
524      [config_subfragment_size="${enableval}"],
525      [config_subfragment_size="32"]
526    )
527    AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_SUBFRAGMENT_SIZE, $config_subfragment_size, [Define default subfragment size (in sample points).])
528    
529    AC_ARG_ENABLE(global-attenuation,
530      [  --enable-global-attenuation
531                              To prevent clipping all samples will be lowered
532                              in amplitude by this given factor.
533                              (default=0.35)],
534      [config_global_attenuation="${enableval}"],
535      [config_global_attenuation="0.35"]
536    )
537    AC_DEFINE_UNQUOTED(CONFIG_GLOBAL_ATTENUATION, $config_global_attenuation, [Define global volume attenuation (as floating point factor).])
538    
539  AC_ARG_ENABLE(voice-steal-algo,  AC_ARG_ENABLE(voice-steal-algo,
540    [  --enable-voice-steal-algo    [  --enable-voice-steal-algo
541                            Voice stealing algorithm to be used. Currently                            Voice stealing algorithm to be used. Currently
# Line 430  AC_ARG_ENABLE(sysex-buffer-size, Line 569  AC_ARG_ENABLE(sysex-buffer-size,
569  )  )
570  AC_DEFINE_UNQUOTED(CONFIG_SYSEX_BUFFER_SIZE, $config_sysex_buffer_size, [Define SysEx buffer size.])  AC_DEFINE_UNQUOTED(CONFIG_SYSEX_BUFFER_SIZE, $config_sysex_buffer_size, [Define SysEx buffer size.])
571    
 AC_ARG_ENABLE(filter-update-steps,  
   [  --enable-filter-update-steps  
                           Amount of sample points after which filter  
                           parameters (cutoff, resonance) are going to be  
                           updated (default=64). Higher value means less CPU  
                           load, but also worse parameter resolution, this  
                           value will be aligned to a power of two.],  
   [config_filter_update_steps="${enableval}"],  
   [config_filter_update_steps="64"]  
 )  
 AC_DEFINE_UNQUOTED(CONFIG_FILTER_UPDATE_STEPS, $config_filter_update_steps, [Define amount of steps to refresh filter coefficients.])  
   
572  AC_ARG_ENABLE(force-filter,  AC_ARG_ENABLE(force-filter,
573    [  --enable-force-filter    [  --enable-force-filter
574                            If enabled will force filter to be used even if                            If enabled will force filter to be used even if
# Line 544  if test "config_assert_gs_sysex_checksum Line 671  if test "config_assert_gs_sysex_checksum
671    AC_DEFINE_UNQUOTED(CONFIG_ASSERT_GS_SYSEX_CHECKSUM, 1, [Define to 1 if you want to enable GS SysEx check.])    AC_DEFINE_UNQUOTED(CONFIG_ASSERT_GS_SYSEX_CHECKSUM, 1, [Define to 1 if you want to enable GS SysEx check.])
672  fi  fi
673    
674    AC_ARG_ENABLE(portamento-time-min,
675      [  --enable-portamento-time-min
676                              Minimum Portamento time in seconds
677                              (default=0.1).],
678      [config_portamento_time_min="${enableval}"],
679      [config_portamento_time_min="0.1"]
680    )
681    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MIN, $config_portamento_time_min, [Define min. portamento time.])
682    
683    AC_ARG_ENABLE(portamento-time-max,
684      [  --enable-portamento-time-max
685                              Maximum Portamento time in seconds
686                              (default=32).],
687      [config_portamento_time_max="${enableval}"],
688      [config_portamento_time_max="32"]
689    )
690    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MAX, $config_portamento_time_max, [Define max. portamento time.])
691    
692    AC_ARG_ENABLE(portamento-time-default,
693      [  --enable-portamento-time-default
694                              Default Portamento time in seconds
695                              (default=1).],
696      [config_portamento_time_default="${enableval}"],
697      [config_portamento_time_default="1"]
698    )
699    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_DEFAULT, $config_portamento_time_default, [Define default portamento time.])
700    
701    AC_ARG_ENABLE(signed-triang-algo,
702      [  --enable-signed-triang-algo
703                              Signed triangular wave algorithm to be used (e.g. for LFOs).
704                              Currently available options:
705                                intmath:
706                                  Uses integer math without any branch will then be
707                                  converted to floating point value for each sample point.
708                                  This int->float conversion might hurt on some systems.
709                                intmathabs:
710                                  Similar to intmath but uses abs() function.
711                                  Depending on compiler and platrofm this could
712                                  perform better than integer math as it avoids
713                                  an extra integer multiply instruction.
714    
715                                diharmonic:
716                                  The triangular wave will be approximated by adding two
717                                  sinusoidials. This solution might especially hurt on
718                                  systems with weak floating point unit.
719                                benchmark (default):
720                                  This is not an algorithm. Use this option if the
721                                  appropriate algorithm should be automatically
722                                  chosen by the configure script by performing a
723                                  benchmark between the algorithms mentioned above.
724                                  This will NOT work for cross compilation!],
725      [ if test ! "(" "${enableval}" = "intmath" \
726                  -o "${enableval}" = "intmathabs" \
727                  -o "${enableval}" = "diharmonic" ")" ; then
728          AC_MSG_ERROR([Unknown triangular wave algorithm for parameter --enable-signed-triang-algo])
729        else
730          config_signed_triang_algo="${enableval}"
731        fi
732      ],
733      [config_signed_triang_algo="benchmark"]
734    )
735    
736    AC_ARG_ENABLE(unsigned-triang-algo,
737      [  --enable-unsigned-triang-algo
738                              Unsigned triangular wave algorithm to be used (e.g. for LFOs).
739                              Currently available options:
740                                intmath:
741                                  Uses integer math without any branch will then be
742                                  converted to floating point value for each sample point.
743                                  This int->float conversion might hurt on some systems.
744                                intmathabs:
745                                  Similar to intmath but uses abs() function.
746                                  Depending on compiler and platrofm this could
747                                  perform better than integer math as it avoids
748                                  an extra integer multiply instruction.
749    
750                                diharmonic:
751                                  The triangular wave will be approximated by adding two
752                                  sinusoidials. This solution might especially hurt on
753                                  systems with weak floating point unit.
754                                benchmark (default):
755                                  This is not an algorithm. Use this option if the
756                                  appropriate algorithm should be automatically
757                                  chosen by the configure script by performing a
758                                  benchmark between the algorithms mentioned above.
759                                  This will NOT work for cross compilation!],
760      [ if test ! "(" "${enableval}" = "intmath" \
761                  -o "${enableval}" = "intmathabs" \
762                  -o "${enableval}" = "diharmonic" ")" ; then
763          AC_MSG_ERROR([Unknown triangular wave algorithm for parameter --enable-unsigned-triang-algo])
764        else
765          config_unsigned_triang_algo="${enableval}"
766        fi
767      ],
768      [config_unsigned_triang_algo="benchmark"]
769    )
770    
771    AC_ARG_ENABLE(process-muted-channels,
772      [  --enable-process-muted-channels
773                              Enable processing of muted channels (default=no).
774                              In that mode all MIDI events in the muted channels
775                              will be processed. This will provide information
776                              about the active voices in the muted channels and
777                              will not discard notes, triggered in mute mode,
778                              when the channel is unmuted. But also will reduce
779                              the efficiency.],
780      [config_process_muted_channels="yes"],
781      [config_process_muted_channels="no"]
782    )
783    if test "$config_process_muted_channels" = "yes"; then
784      AC_DEFINE_UNQUOTED(CONFIG_PROCESS_MUTED_CHANNELS, 1, [Define to 1 if you want to enable processing of muted channels.])
785    fi
786    
787    AC_ARG_ENABLE(process-all-notes-off,
788      [  --disable-process-all-notes-off
789                              Disable interpretation of All-Notes-Off MIDI
790                              messages (default=on). By default LS will release
791                              all voices whenever it receives an All-Notes-Off
792                              MIDI message. You can disable this behavior, so
793                              that LS simply ignores such messages.],
794      [config_process_all_notes_off="no"],
795      [config_process_all_notes_off="yes"]
796    )
797    if test "$config_process_all_notes_off" = "yes"; then
798      AC_DEFINE_UNQUOTED(CONFIG_PROCESS_ALL_NOTES_OFF, 1, [Define to 1 if you want to enable processing of All-Notes-Off MIDI messages.])
799    fi
800    
801    AC_ARG_ENABLE(interpolate-volume,
802      [  --disable-interpolate-volume
803                              Disable interpolation of volume modulation
804                              (default=on). With this enabled, the volume changes
805                              generated by for example the envelope generator
806                              will be smoother, minimizing the risk for audio
807                              clicks. Disable it to reduce CPU usage.],
808      [config_interpolate_volume="no"],
809      [config_interpolate_volume="yes"]
810    )
811    if test "$config_interpolate_volume" = "yes"; then
812      AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])
813    fi
814    
815    
816    ###########################################################################
817    # Automatic Benchmarks (to detect the best algorithms for the system)
818    
819    AC_LANG_SAVE
820    
821    if test "$config_signed_triang_algo" = "benchmark"; then
822        echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
823        AC_LANG_CPLUSPLUS
824        AC_TRY_RUN([
825                #define SIGNED 1
826                #define SILENT 1
827                #include "${srcdir}/benchmarks/triang.cpp"
828            ],
829            triang_signed=0,
830            triang_signed=$?,
831            triang_signed=0
832        )
833        if test "$triang_signed" = "2"; then
834            config_signed_triang_algo="intmath"
835            echo "integer math"
836        elif test "$triang_signed" = "3"; then
837            config_signed_triang_algo="diharmonic"
838            echo "di harmonics"
839        elif test "$triang_signed" = "5"; then
840            config_signed_triang_algo="intmathabs"
841            echo "integer math using abs()"
842        else
843            echo "Benchmark of signed triangular wave algorithms failed!"
844            echo "Maybe you are doing cross compilation? In that case you have to select"
845            echo "an algorithm manually with './configure --enable-signed-triang-algo=...'"
846            echo "Call './configure --help' for further information or read configure.in."
847            exit -1;
848        fi
849    fi
850    AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ALGO, ${triang_signed}, [Define signed triangular wave algorithm to be used.])
851    
852    if test "$config_unsigned_triang_algo" = "benchmark"; then
853        echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
854        AC_LANG_CPLUSPLUS
855        AC_TRY_RUN([
856                #define SIGNED 0
857                #define SILENT 1
858                #include "${srcdir}/benchmarks/triang.cpp"
859            ],
860            triang_unsigned=0,
861            triang_unsigned=$?,
862            triang_unsigned=0
863        )
864        if test "$triang_unsigned" = "2"; then
865            config_unsigned_triang_algo="intmath"
866            echo "integer math"
867        elif test "$triang_unsigned" = "3"; then
868            config_unsigned_triang_algo="diharmonic"
869            echo "di harmonics"
870        elif test "$triang_unsigned" = "5"; then
871            config_unsigned_triang_algo="intmathabs"
872            echo "integer math using abs()"
873        else
874            echo "Benchmark of unsigned triangular wave algorithms failed!"
875            echo "Maybe you are doing cross compilation? In that case you have to select"
876            echo "an algorithm manually with './configure --enable-unsigned-triang-algo=...'"
877            echo "Call './configure --help' for further information or read configure.in."
878            exit -1;
879        fi
880    fi
881    AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, ${triang_unsigned}, [Define unsigned triangular wave algorithm to be used.])
882    
883    AC_LANG_RESTORE
884    
885    
886  ###########################################################################  ###########################################################################
887  # Create Build Files  # Create Build Files
888    
889  AM_CONFIG_HEADER(config.h)  AM_CONFIG_HEADER(config.h)
890  AM_INIT_AUTOMAKE(linuxsampler, 0.3.1)  AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")
891    
892  AC_LANG_CPLUSPLUS  AC_LANG_CPLUSPLUS
893  AC_PROG_CXX  AC_PROG_CXX
894    
895    # some gcc 4.0 versions need -msse for SSE register allocations
896    if test "$config_asm" = "yes"; then
897      if test "$def_arch_x86" = 1; then
898        CXXFLAGS="$CXXFLAGS -msse"
899      fi
900    fi
901    
902  # autoconf 2.59/libtool 1.5.12 bug? work-around. Without a check like  # autoconf 2.59/libtool 1.5.12 bug? work-around. Without a check like
903  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
904  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
905    
 AM_PROG_LIBTOOL  
   
906  AC_OUTPUT( \  AC_OUTPUT( \
907      Makefile \      Makefile \
908      man/Makefile \      man/Makefile \
# Line 585  AC_OUTPUT( \ Line 928  AC_OUTPUT( \
928      Documentation/Makefile \      Documentation/Makefile \
929      Documentation/Engines/Makefile \      Documentation/Engines/Makefile \
930      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
931        linuxsampler.pc \
932        Doxyfile \
933  )  )
934    
935    
# Line 610  echo "# Maximum Stream Refill Size: ${co Line 955  echo "# Maximum Stream Refill Size: ${co
955  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
956  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Maximum Disk Streams: ${config_max_streams}"
957  echo "# Maximum Voices: ${config_max_voices}"  echo "# Maximum Voices: ${config_max_voices}"
958    echo "# Default Subfragment Size: ${config_subfragment_size}"
959    echo "# Global Volume Attenuation: ${config_global_attenuation}"
960  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
961    echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"
962    echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"
963  echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"  echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"
964  echo "# Filter Update Steps: ${config_filter_update_steps}"  echo "# Min. Portamento Time: ${config_portamento_time_min} s"
965    echo "# Max. Portamento Time: ${config_portamento_time_max} s"
966    echo "# Default Portamento Time: ${config_portamento_time_default} s"
967  echo "# Force Filter Usage: ${config_force_filter}"  echo "# Force Filter Usage: ${config_force_filter}"
968  echo "# Filter Cutoff Minimum: ${config_filter_cutoff_min} Hz"  echo "# Filter Cutoff Minimum: ${config_filter_cutoff_min} Hz"
969  echo "# Filter Cutoff Maximum: ${config_filter_cutoff_max} Hz"  echo "# Filter Cutoff Maximum: ${config_filter_cutoff_max} Hz"
# Line 620  echo "# Override Filter Cutoff Controlle Line 971  echo "# Override Filter Cutoff Controlle
971  echo "# Override Filter Resonance Controller: ${config_override_resonance_ctrl}"  echo "# Override Filter Resonance Controller: ${config_override_resonance_ctrl}"
972  echo "# Override Filter Type: ${config_override_filter_type}"  echo "# Override Filter Type: ${config_override_filter_type}"
973  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
974    echo "# Process Muted Channels: ${config_process_muted_channels}"
975    echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
976    echo "# Interpolate Volume: ${config_interpolate_volume}"
977  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
978  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
979  echo "#####################################################################"  echo "#####################################################################"

Legend:
Removed from v.654  
changed lines
  Added in v.937

  ViewVC Help
Powered by ViewVC