/[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 554 by schoenebeck, Thu May 19 19:25:14 2005 UTC revision 714 by schoenebeck, Sat Jul 23 21:55:38 2005 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=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  AC_C_BIGENDIAN  AC_C_BIGENDIAN
38  AC_CANONICAL_SYSTEM  AC_CANONICAL_SYSTEM
39    
# Line 150  fi Line 185  fi
185  AM_CONDITIONAL(HAVE_JACK, test $HAVE_JACK = 1)  AM_CONDITIONAL(HAVE_JACK, test $HAVE_JACK = 1)
186  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.])
187    
188    # 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  # Check presence of libgig  # Check presence of libgig
215  libgig_version="2.0.0"  libgig_version="2.0.1"
216  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)
217  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
218      echo "Required libgig version not found!"      echo "Required libgig version not found!"
219      echo "You need to have libgig version ${libgig_version} installed!"      echo "You need to have libgig version ${libgig_version} installed!"
220      exit -1;      exit -1;
221    else
222        echo "yes, found libgig $libgig_version"
223  fi  fi
224  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
225  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
# Line 167  AC_SUBST(SQLITE3_LIBS) Line 230  AC_SUBST(SQLITE3_LIBS)
230  AC_SUBST(SQLITE3_CFLAGS)  AC_SUBST(SQLITE3_CFLAGS)
231  if test $HAVE_SQLITE3 = false; then  if test $HAVE_SQLITE3 = false; then
232      HAVE_SQLITE3=0;      HAVE_SQLITE3=0;
233        echo "no, support for instrument DB will be disabled!"
234  else  else
235      HAVE_SQLITE3=1      HAVE_SQLITE3=1
236        echo "yes"
237  fi  fi
238  AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)  AM_CONDITIONAL(HAVE_SQLITE3, test $HAVE_SQLITE3 = 1)
239  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.])
240    
241  if test "$have_midi_input_driver" = "false"; then  if test "$have_midi_input_driver" = "false"; then
242      echo "No supported MIDI input system found!"      echo "No supported MIDI input system found!"
243      echo "Sorry, LinuxSampler only supports ALSA as MIDI input driver at the moment!"      echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
244        echo "ALSA, MIDIShare, CoreMIDI."
245        echo "If you think you have one of those available on your system, make sure you"
246        echo "also have the respective development (header) files installed."
247      exit -1;      exit -1;
248  fi  fi
249  if test "$have_audio_output_driver" = "false"; then  if test "$have_audio_output_driver" = "false"; then
# Line 190  fi Line 258  fi
258    
259  # TODO: should we use AC_ARG_VAR(variable, description) instead?  # TODO: should we use AC_ARG_VAR(variable, description) instead?
260    
261    AC_ARG_ENABLE(asm,
262      [  --disable-asm
263                              Disable hand-crafted assembly optimizations
264                              (default=on). LinuxSampler provides CPU specific
265                              assembly optimizations for the most important
266                              synthesis algorithms. You usually don't want to
267                              disable that.],
268      [config_asm="no"],
269      [config_asm="yes"]
270    )
271    if test "$config_asm" = "yes"; then
272      AC_DEFINE_UNQUOTED(CONFIG_ASM, 1, [Define to 1 if you want to enable hand-crafted asm optimizations.])
273    fi
274    
275  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
276    [  --enable-dev-mode    [  --enable-dev-mode
277                            Enable development mode (default=no). In that mode                            Enable development mode (default=no). In that mode
# Line 360  AC_ARG_ENABLE(voice-steal-algo, Line 442  AC_ARG_ENABLE(voice-steal-algo,
442                            available options:                            available options:
443                              none:                              none:
444                                Disable voice stealing completely.                                Disable voice stealing completely.
445                              oldestvoiceonkey:                              oldestvoiceonkey (default):
446                                Try to kill a voice on the same key first,                                Try to kill a voice on the same key first,
447                                if no success, proceed with the oldest key.                                if no success, proceed with the oldest key.
448                              oldestkey (default):                              oldestkey:
449                                Try to kill a voice from the oldest active                                Try to kill a voice from the oldest active
450                                key.],                                key.],
451    [ if test ! "(" "${enableval}" = "none" \    [ if test ! "(" "${enableval}" = "none" \
# Line 372  AC_ARG_ENABLE(voice-steal-algo, Line 454  AC_ARG_ENABLE(voice-steal-algo,
454        AC_MSG_ERROR([Unknown voice stealing algorithm for parameter --enable-voice-steal-algo])        AC_MSG_ERROR([Unknown voice stealing algorithm for parameter --enable-voice-steal-algo])
455      else      else
456        config_voice_steal_algo="${enableval}"        config_voice_steal_algo="${enableval}"
457      fi        fi
458    ],    ],
459    [config_voice_steal_algo="oldestkey"]    [config_voice_steal_algo="oldestvoiceonkey"]
460  )  )
461  AC_DEFINE_UNQUOTED(CONFIG_VOICE_STEAL_ALGO, voice_steal_algo_${config_voice_steal_algo}, [Define voice stealing algorithm to be used.])  AC_DEFINE_UNQUOTED(CONFIG_VOICE_STEAL_ALGO, voice_steal_algo_${config_voice_steal_algo}, [Define voice stealing algorithm to be used.])
462    
# Line 479  AC_ARG_ENABLE(override-filter-type, Line 561  AC_ARG_ENABLE(override-filter-type,
561         config_override_filter_type="::gig::vcf_type_lowpassturbo"         config_override_filter_type="::gig::vcf_type_lowpassturbo"
562      elif test ! "${enableval}" = "no"; then      elif test ! "${enableval}" = "no"; then
563         AC_MSG_ERROR([Unknown filter type for parameter --enable-override-filter-type])         AC_MSG_ERROR([Unknown filter type for parameter --enable-override-filter-type])
564      fi        fi
565    ],    ],
566    [config_override_filter_type="no"]    [config_override_filter_type="no"]
567  )  )
# Line 487  if test ! "$config_override_filter_type" Line 569  if test ! "$config_override_filter_type"
569    AC_DEFINE_UNQUOTED(CONFIG_OVERRIDE_FILTER_TYPE, $config_override_filter_type, [Define to a filter type to always force that filter type.])    AC_DEFINE_UNQUOTED(CONFIG_OVERRIDE_FILTER_TYPE, $config_override_filter_type, [Define to a filter type to always force that filter type.])
570  fi  fi
571    
572    AC_ARG_ENABLE(gs-checksum,
573      [  --enable-gs-checksum
574                              Enable Roland General Synth SysEx checksum check
575                              (default=no). If this is enabled, all GS SysEx
576                              messages which do not provide a correct checksum
577                              will be ignored. This is disabled by default as
578                              not all devices honor GS checksums.],
579      [config_assert_gs_sysex_checksum="yes"],
580      [config_assert_gs_sysex_checksum="no"]
581    )
582    if test "config_assert_gs_sysex_checksum" = "yes"; then
583      AC_DEFINE_UNQUOTED(CONFIG_ASSERT_GS_SYSEX_CHECKSUM, 1, [Define to 1 if you want to enable GS SysEx check.])
584    fi
585    
586    AC_ARG_ENABLE(signed-triang-algo,
587      [  --enable-signed-triang-algo
588                              Signed triangular wave algorithm to be used (e.g. for LFOs).
589                              Currently available options:
590                                intmath:
591                                  Uses integer math without any branch will then be
592                                  converted to floating point value for each sample point.
593                                  This int->float conversion might hurt on some systems.
594                                diharmonic:
595                                  The triangular wave will be approximated by adding two
596                                  sinusoidials. This solution might especially hurt on
597                                  systems with weak floating point unit.
598                                benchmark (default):
599                                  This is not an algorithm. Use this option if the
600                                  appropriate algorithm should be automatically
601                                  chosen by the configure script by performing a
602                                  benchmark between the algorithms mentioned above.
603                                  This will NOT work for cross compilation!],
604      [ if test ! "(" "${enableval}" = "intmath" \
605                  -o "${enableval}" = "diharmonic" ")" ; then
606          AC_MSG_ERROR([Unknown triangular wave algorithm for parameter --enable-signed-triang-algo])
607        else
608          config_signed_triang_algo="${enableval}"
609        fi
610      ],
611      [config_signed_triang_algo="benchmark"]
612    )
613    
614    AC_ARG_ENABLE(unsigned-triang-algo,
615      [  --enable-unsigned-triang-algo
616                              Unsigned triangular wave algorithm to be used (e.g. for LFOs).
617                              Currently available options:
618                                intmath:
619                                  Uses integer math without any branch will then be
620                                  converted to floating point value for each sample point.
621                                  This int->float conversion might hurt on some systems.
622                                diharmonic:
623                                  The triangular wave will be approximated by adding two
624                                  sinusoidials. This solution might especially hurt on
625                                  systems with weak floating point unit.
626                                benchmark (default):
627                                  This is not an algorithm. Use this option if the
628                                  appropriate algorithm should be automatically
629                                  chosen by the configure script by performing a
630                                  benchmark between the algorithms mentioned above.
631                                  This will NOT work for cross compilation!],
632      [ if test ! "(" "${enableval}" = "intmath" \
633                  -o "${enableval}" = "diharmonic" ")" ; then
634          AC_MSG_ERROR([Unknown triangular wave algorithm for parameter --enable-unsigned-triang-algo])
635        else
636          config_unsigned_triang_algo="${enableval}"
637        fi
638      ],
639      [config_unsigned_triang_algo="benchmark"]
640    )
641    
642    
643    ###########################################################################
644    # Automatic Benchmarks (to detect the best algorithms for the system)
645    
646    AC_LANG_SAVE
647    
648    if test "$config_signed_triang_algo" = "benchmark"; then
649        echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
650        AC_LANG_CPLUSPLUS
651        AC_TRY_RUN([
652                #define SIGNED 1
653                #define SILENT 1
654                #include "benchmarks/triang.cpp"
655            ],
656            triang_signed=0,
657            triang_signed=$?,
658            triang_signed=0
659        )
660        if test "$triang_signed" = "2"; then
661            config_signed_triang_algo="intmath"
662            echo "integer math"
663        elif test "$triang_signed" = "3"; then
664            config_signed_triang_algo="diharmonic"
665            echo "di harmonics"
666        else
667            echo "Benchmark of signed triangular wave algorithms failed!"
668            echo "Maybe you are doing cross compilation? In that case you have to select"
669            echo "an algorithm manually with './configure --enable-signed-triang-algo=...'"
670            echo "Call './configure --help' for further information or read configure.in."
671            exit -1;
672        fi
673    fi
674    AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ALGO, signed_triang_algo_${config_signed_triang_algo}, [Define signed triangular wave algorithm to be used.])
675    
676    if test "$config_unsigned_triang_algo" = "benchmark"; then
677        echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
678        AC_LANG_CPLUSPLUS
679        AC_TRY_RUN([
680                #define SIGNED 0
681                #define SILENT 1
682                #include "benchmarks/triang.cpp"
683            ],
684            triang_unsigned=0,
685            triang_unsigned=$?,
686            triang_unsigned=0
687        )
688        if test "$triang_unsigned" = "2"; then
689            config_unsigned_triang_algo="intmath"
690            echo "integer math"
691        elif test "$triang_unsigned" = "3"; then
692            config_unsigned_triang_algo="diharmonic"
693            echo "di harmonics"
694        else
695            echo "Benchmark of unsigned triangular wave algorithms failed!"
696            echo "Maybe you are doing cross compilation? In that case you have to select"
697            echo "an algorithm manually with './configure --enable-unsigned-triang-algo=...'"
698            echo "Call './configure --help' for further information or read configure.in."
699            exit -1;
700        fi
701    fi
702    AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, unsigned_triang_algo_${config_unsigned_triang_algo}, [Define unsigned triangular wave algorithm to be used.])
703    
704    AC_LANG_RESTORE
705    
706    
707  ###########################################################################  ###########################################################################
708  # Create Build Files  # Create Build Files
709    
710  AM_CONFIG_HEADER(config.h)  AM_CONFIG_HEADER(config.h)
711  AM_INIT_AUTOMAKE(linuxsampler, 0.3.1)  AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")
712    
713  AC_LANG_CPLUSPLUS  AC_LANG_CPLUSPLUS
714  AC_PROG_CXX  AC_PROG_CXX
715    
716    # some gcc 4.0 versions need -msse for SSE register allocations
717    if test "$config_asm" = "yes"; then
718      if test "$def_arch_x86" = 1; then
719        CXXFLAGS="$CXXFLAGS -msse"
720      fi
721    fi
722    
723  # 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
724  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
725  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
726    
727  AM_PROG_LIBTOOL  AC_OUTPUT( \
728        Makefile \
729  AC_OUTPUT(Makefile src/Makefile src/network/Makefile src/engines/Makefile src/engines/gig/Makefile src/engines/common/Makefile src/common/Makefile src/lib/Makefile src/lib/fileloader/Makefile src/lib/fileloader/libgig/Makefile src/testcases/Makefile src/drivers/Makefile src/drivers/audio/Makefile src/drivers/midi/Makefile)      man/Makefile \
730        man/linuxsampler.1 \
731        src/Makefile \
732        src/network/Makefile \
733        src/engines/Makefile \
734        src/engines/gig/Makefile \
735        src/engines/common/Makefile \
736        src/common/Makefile src/lib/Makefile \
737        src/lib/fileloader/Makefile \
738        src/lib/fileloader/libgig/Makefile \
739        src/testcases/Makefile \
740        src/drivers/Makefile \
741        src/drivers/audio/Makefile \
742        src/drivers/midi/Makefile \
743        linuxsampler.spec \
744        debian/Makefile \
745        Artwork/Makefile \
746        scripts/Makefile \
747        osx/Makefile \
748        osx/LinuxSampler.xcode/Makefile \
749        Documentation/Makefile \
750        Documentation/Engines/Makefile \
751        Documentation/Engines/gig/Makefile \
752        linuxsampler.pc \
753        Doxyfile \
754    )
755    
756    
757  ###########################################################################  ###########################################################################
# Line 512  echo "" Line 761  echo ""
761  echo "#####################################################################"  echo "#####################################################################"
762  echo "# LinuxSampler Configuration                                        #"  echo "# LinuxSampler Configuration                                        #"
763  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
764    echo "# Assembly Optimizations: ${config_asm}"
765  echo "# Development Mode: ${config_dev_mode}"  echo "# Development Mode: ${config_dev_mode}"
766  echo "# Debug Level: ${config_debug_level}"  echo "# Debug Level: ${config_debug_level}"
767  echo "# Use Exceptions in RT Context: ${config_rt_exceptions}"  echo "# Use Exceptions in RT Context: ${config_rt_exceptions}"
# Line 526  echo "# Maximum Stream Refill Size: ${co Line 776  echo "# Maximum Stream Refill Size: ${co
776  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
777  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Maximum Disk Streams: ${config_max_streams}"
778  echo "# Maximum Voices: ${config_max_voices}"  echo "# Maximum Voices: ${config_max_voices}"
779    echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
780    echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"
781    echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"
782  echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"  echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"
783  echo "# Filter Update Steps: ${config_filter_update_steps}"  echo "# Filter Update Steps: ${config_filter_update_steps}"
784  echo "# Force Filter Usage: ${config_force_filter}"  echo "# Force Filter Usage: ${config_force_filter}"
# Line 534  echo "# Filter Cutoff Maximum: ${config_ Line 787  echo "# Filter Cutoff Maximum: ${config_
787  echo "# Override Filter Cutoff Controller: ${config_override_cutoff_ctrl}"  echo "# Override Filter Cutoff Controller: ${config_override_cutoff_ctrl}"
788  echo "# Override Filter Resonance Controller: ${config_override_resonance_ctrl}"  echo "# Override Filter Resonance Controller: ${config_override_resonance_ctrl}"
789  echo "# Override Filter Type: ${config_override_filter_type}"  echo "# Override Filter Type: ${config_override_filter_type}"
790    echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
791  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
792  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
793  echo "#####################################################################"  echo "#####################################################################"

Legend:
Removed from v.554  
changed lines
  Added in v.714

  ViewVC Help
Powered by ViewVC