/[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 716 by iliev, Sun Jul 24 06:57:30 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 183  if test "$HAVE_GIG" = "false"; then Line 218  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 193  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.])
# Line 225  AC_ARG_ENABLE(asm, Line 264  AC_ARG_ENABLE(asm,
264                            (default=on). LinuxSampler provides CPU specific                            (default=on). LinuxSampler provides CPU specific
265                            assembly optimizations for the most important                            assembly optimizations for the most important
266                            synthesis algorithms. You usually don't want to                            synthesis algorithms. You usually don't want to
267                            diable that.],                            disable that.],
268    [config_asm="no"],    [config_asm="no"],
269    [config_asm="yes"]    [config_asm="yes"]
270  )  )
# Line 544  if test "config_assert_gs_sysex_checksum Line 583  if test "config_assert_gs_sysex_checksum
583    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.])
584  fi  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    AC_ARG_ENABLE(process-muted-channels,
643      [  --enable-process-muted-channels
644                              Enable processing of muted channels (default=no).
645                              In that mode all MIDI events in the muted channels
646                              will be processed. This will provide information
647                              about the active voices in the muted channels and
648                              will not discard notes, triggered in mute mode,
649                              when the channel is unmuted. But also will reduce
650                              the efficiency.],
651      [config_process_muted_channels="yes"],
652      [config_process_muted_channels="no"]
653    )
654    if test "$config_process_muted_channels" = "yes"; then
655      AC_DEFINE_UNQUOTED(CONFIG_PROCESS_MUTED_CHANNELS, 1, [Define to 1 if you want to enable processing of muted channels.])
656    fi
657    
658    
659    ###########################################################################
660    # Automatic Benchmarks (to detect the best algorithms for the system)
661    
662    AC_LANG_SAVE
663    
664    if test "$config_signed_triang_algo" = "benchmark"; then
665        echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
666        AC_LANG_CPLUSPLUS
667        AC_TRY_RUN([
668                #define SIGNED 1
669                #define SILENT 1
670                #include "benchmarks/triang.cpp"
671            ],
672            triang_signed=0,
673            triang_signed=$?,
674            triang_signed=0
675        )
676        if test "$triang_signed" = "2"; then
677            config_signed_triang_algo="intmath"
678            echo "integer math"
679        elif test "$triang_signed" = "3"; then
680            config_signed_triang_algo="diharmonic"
681            echo "di harmonics"
682        else
683            echo "Benchmark of signed triangular wave algorithms failed!"
684            echo "Maybe you are doing cross compilation? In that case you have to select"
685            echo "an algorithm manually with './configure --enable-signed-triang-algo=...'"
686            echo "Call './configure --help' for further information or read configure.in."
687            exit -1;
688        fi
689    fi
690    AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ALGO, signed_triang_algo_${config_signed_triang_algo}, [Define signed triangular wave algorithm to be used.])
691    
692    if test "$config_unsigned_triang_algo" = "benchmark"; then
693        echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
694        AC_LANG_CPLUSPLUS
695        AC_TRY_RUN([
696                #define SIGNED 0
697                #define SILENT 1
698                #include "benchmarks/triang.cpp"
699            ],
700            triang_unsigned=0,
701            triang_unsigned=$?,
702            triang_unsigned=0
703        )
704        if test "$triang_unsigned" = "2"; then
705            config_unsigned_triang_algo="intmath"
706            echo "integer math"
707        elif test "$triang_unsigned" = "3"; then
708            config_unsigned_triang_algo="diharmonic"
709            echo "di harmonics"
710        else
711            echo "Benchmark of unsigned triangular wave algorithms failed!"
712            echo "Maybe you are doing cross compilation? In that case you have to select"
713            echo "an algorithm manually with './configure --enable-unsigned-triang-algo=...'"
714            echo "Call './configure --help' for further information or read configure.in."
715            exit -1;
716        fi
717    fi
718    AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, unsigned_triang_algo_${config_unsigned_triang_algo}, [Define unsigned triangular wave algorithm to be used.])
719    
720    AC_LANG_RESTORE
721    
722    
723  ###########################################################################  ###########################################################################
724  # Create Build Files  # Create Build Files
725    
726  AM_CONFIG_HEADER(config.h)  AM_CONFIG_HEADER(config.h)
727  AM_INIT_AUTOMAKE(linuxsampler, 0.3.1)  AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")
728    
729  AC_LANG_CPLUSPLUS  AC_LANG_CPLUSPLUS
730  AC_PROG_CXX  AC_PROG_CXX
731    
732    # some gcc 4.0 versions need -msse for SSE register allocations
733    if test "$config_asm" = "yes"; then
734      if test "$def_arch_x86" = 1; then
735        CXXFLAGS="$CXXFLAGS -msse"
736      fi
737    fi
738    
739  # 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
740  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
741  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
742    
 AM_PROG_LIBTOOL  
   
743  AC_OUTPUT( \  AC_OUTPUT( \
744      Makefile \      Makefile \
745      man/Makefile \      man/Makefile \
# Line 585  AC_OUTPUT( \ Line 765  AC_OUTPUT( \
765      Documentation/Makefile \      Documentation/Makefile \
766      Documentation/Engines/Makefile \      Documentation/Engines/Makefile \
767      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
768        linuxsampler.pc \
769        Doxyfile \
770  )  )
771    
772    
# Line 611  echo "# Stream Size: ${config_stream_siz Line 793  echo "# Stream Size: ${config_stream_siz
793  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Maximum Disk Streams: ${config_max_streams}"
794  echo "# Maximum Voices: ${config_max_voices}"  echo "# Maximum Voices: ${config_max_voices}"
795  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
796    echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"
797    echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"
798  echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"  echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"
799  echo "# Filter Update Steps: ${config_filter_update_steps}"  echo "# Filter Update Steps: ${config_filter_update_steps}"
800  echo "# Force Filter Usage: ${config_force_filter}"  echo "# Force Filter Usage: ${config_force_filter}"
# Line 620  echo "# Override Filter Cutoff Controlle Line 804  echo "# Override Filter Cutoff Controlle
804  echo "# Override Filter Resonance Controller: ${config_override_resonance_ctrl}"  echo "# Override Filter Resonance Controller: ${config_override_resonance_ctrl}"
805  echo "# Override Filter Type: ${config_override_filter_type}"  echo "# Override Filter Type: ${config_override_filter_type}"
806  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
807    echo "# Process Muted Channels: ${config_process_muted_channels}"
808  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
809  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
810  echo "#####################################################################"  echo "#####################################################################"

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

  ViewVC Help
Powered by ViewVC