/[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 716 by iliev, Sun Jul 24 06:57:30 2005 UTC revision 830 by persson, Sun Jan 15 18:23:11 2006 UTC
# Line 5  AC_INIT(configure.in) Line 5  AC_INIT(configure.in)
5    
6  LINUXSAMPLER_RELEASE_MAJOR=0  LINUXSAMPLER_RELEASE_MAJOR=0
7  LINUXSAMPLER_RELEASE_MINOR=3  LINUXSAMPLER_RELEASE_MINOR=3
8  LINUXSAMPLER_RELEASE_BUILD=3  LINUXSAMPLER_RELEASE_BUILD=3cvs
9    
10  #------------------------------------------------------------------------------------  #------------------------------------------------------------------------------------
11  # The following is the libtool / shared library version. This doesn't have to  # The following is the libtool / shared library version. This doesn't have to
# Line 59  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  echo "X $CXXFLAGS "
65    CXX_CPU_SWITCH="-march=$target_cpu"  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then
66  elif test "$target_cpu" = "powerpc"; then    if test "$def_arch_x86" = 1; then
67    CXX_CPU_SWITCH="-arch=$target_cpu"      CXX_CPU_SWITCH="-march=$target_cpu"
68      elif test "$target_cpu" = "powerpc"; then
69        CXX_CPU_SWITCH="-arch=$target_cpu"
70      fi
71  fi  fi
72  AC_SUBST([CXX_CPU_SWITCH])  AC_SUBST([CXX_CPU_SWITCH])
73    
# Line 99  if test "$have_unix98" = "no"; then Line 103  if test "$have_unix98" = "no"; then
103      fi      fi
104  fi  fi
105    
106    # check for <features.h>
107    AC_CHECK_HEADERS(features.h)
108    
109  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
110  # (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)
111  have_midi_input_driver="false"  have_midi_input_driver="false"
# Line 212  AM_CONDITIONAL(HAVE_COREMIDI, test $have Line 219  AM_CONDITIONAL(HAVE_COREMIDI, test $have
219  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.])
220    
221  # Check presence of libgig  # Check presence of libgig
222  libgig_version="2.0.1"  libgig_version="2.0.2"
223  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)
224  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
225      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 259  fi Line 266  fi
266  # TODO: should we use AC_ARG_VAR(variable, description) instead?  # TODO: should we use AC_ARG_VAR(variable, description) instead?
267    
268  AC_ARG_ENABLE(asm,  AC_ARG_ENABLE(asm,
269    [  --disable-asm    [  --enable-asm
270                            Disable hand-crafted assembly optimizations                            Enable hand-crafted assembly optimizations
271                            (default=on). LinuxSampler provides CPU specific                            (default=off). LinuxSampler provides CPU specific
272                            assembly optimizations for the most important                            assembly optimizations for the most important
273                            synthesis algorithms. You usually don't want to                            synthesis algorithms. This is currently disabled
274                            disable that.],                            by default since current asm code is broken.],
275    [config_asm="no"],    [config_asm="yes"],
276    [config_asm="yes"]    [config_asm="no"]
277  )  )
278  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
279    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.])
280  fi  fi
281    
282  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
283    [  --enable-dev-mode    [  --disable-dev-mode
284                            Enable development mode (default=no). In that mode                            Disable development mode (default=on). In that mode
285                            we do some extra sanity checks here and there.                            we do some extra sanity checks here and there.
286                            This helps to spot possible problems, but reduces                            This helps to spot possible problems, but reduces
287                            efficiency a bit],                            efficiency a bit],
288    [config_dev_mode="yes"],    [config_dev_mode="no"],
289    [config_dev_mode="no"]    [config_dev_mode="yes"]
290  )  )
291  if test "$config_dev_mode" = "yes"; then  if test "$config_dev_mode" = "yes"; then
292    AC_DEFINE_UNQUOTED(CONFIG_DEVMODE, 1, [Define to 1 if you want to enable development mode.])    AC_DEFINE_UNQUOTED(CONFIG_DEVMODE, 1, [Define to 1 if you want to enable development mode.])
# Line 436  AC_ARG_ENABLE(max-voices, Line 443  AC_ARG_ENABLE(max-voices,
443  )  )
444  AC_DEFINE_UNQUOTED(CONFIG_MAX_VOICES, $config_max_voices, [Define max. voices.])  AC_DEFINE_UNQUOTED(CONFIG_MAX_VOICES, $config_max_voices, [Define max. voices.])
445    
446    AC_ARG_ENABLE(subfragment-size,
447      [  --enable-subfragment-size
448                              Every audio fragment will be splitted into
449                              subfragments. Where each subfragment renders
450                              audio with constant synthesis parameters. This is
451                              done for efficiency reasons. This parameter
452                              defines the default size of a subfragment in
453                              sample points. A large value means less CPU time
454                              whereas a low value means better audio quality
455                              (default=32).],
456      [config_subfragment_size="${enableval}"],
457      [config_subfragment_size="32"]
458    )
459    AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_SUBFRAGMENT_SIZE, $config_subfragment_size, [Define default subfragment size (in sample points).])
460    
461    AC_ARG_ENABLE(global-attenuation,
462      [  --enable-global-attenuation
463                              To prevent clipping all samples will be lowered
464                              in amplitude by this given factor.
465                              (default=0.35)],
466      [config_global_attenuation="${enableval}"],
467      [config_global_attenuation="0.35"]
468    )
469    AC_DEFINE_UNQUOTED(CONFIG_GLOBAL_ATTENUATION, $config_global_attenuation, [Define global volume attenuation (as floating point factor).])
470    
471  AC_ARG_ENABLE(voice-steal-algo,  AC_ARG_ENABLE(voice-steal-algo,
472    [  --enable-voice-steal-algo    [  --enable-voice-steal-algo
473                            Voice stealing algorithm to be used. Currently                            Voice stealing algorithm to be used. Currently
# Line 469  AC_ARG_ENABLE(sysex-buffer-size, Line 501  AC_ARG_ENABLE(sysex-buffer-size,
501  )  )
502  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.])
503    
 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.])  
   
504  AC_ARG_ENABLE(force-filter,  AC_ARG_ENABLE(force-filter,
505    [  --enable-force-filter    [  --enable-force-filter
506                            If enabled will force filter to be used even if                            If enabled will force filter to be used even if
# Line 583  if test "config_assert_gs_sysex_checksum Line 603  if test "config_assert_gs_sysex_checksum
603    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.])
604  fi  fi
605    
606    AC_ARG_ENABLE(portamento-time-min,
607      [  --enable-portamento-time-min
608                              Minimum Portamento time in seconds
609                              (default=0.1).],
610      [config_portamento_time_min="${enableval}"],
611      [config_portamento_time_min="0.1"]
612    )
613    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MIN, $config_portamento_time_min, [Define min. portamento time.])
614    
615    AC_ARG_ENABLE(portamento-time-max,
616      [  --enable-portamento-time-max
617                              Maximum Portamento time in seconds
618                              (default=32).],
619      [config_portamento_time_max="${enableval}"],
620      [config_portamento_time_max="32"]
621    )
622    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MAX, $config_portamento_time_max, [Define max. portamento time.])
623    
624    AC_ARG_ENABLE(portamento-time-default,
625      [  --enable-portamento-time-default
626                              Default Portamento time in seconds
627                              (default=1).],
628      [config_portamento_time_default="${enableval}"],
629      [config_portamento_time_default="1"]
630    )
631    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_DEFAULT, $config_portamento_time_default, [Define default portamento time.])
632    
633  AC_ARG_ENABLE(signed-triang-algo,  AC_ARG_ENABLE(signed-triang-algo,
634    [  --enable-signed-triang-algo    [  --enable-signed-triang-algo
635                            Signed triangular wave algorithm to be used (e.g. for LFOs).                            Signed triangular wave algorithm to be used (e.g. for LFOs).
# Line 591  AC_ARG_ENABLE(signed-triang-algo, Line 638  AC_ARG_ENABLE(signed-triang-algo,
638                                Uses integer math without any branch will then be                                Uses integer math without any branch will then be
639                                converted to floating point value for each sample point.                                converted to floating point value for each sample point.
640                                This int->float conversion might hurt on some systems.                                This int->float conversion might hurt on some systems.
641                                intmathabs:
642                                  Similar to intmath but uses abs() function.
643                                  Depending on compiler and platrofm this could
644                                  perform better than integer math as it avoids
645                                  an extra integer multiply instruction.
646    
647                              diharmonic:                              diharmonic:
648                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
649                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 602  AC_ARG_ENABLE(signed-triang-algo, Line 655  AC_ARG_ENABLE(signed-triang-algo,
655                                benchmark between the algorithms mentioned above.                                benchmark between the algorithms mentioned above.
656                                This will NOT work for cross compilation!],                                This will NOT work for cross compilation!],
657    [ if test ! "(" "${enableval}" = "intmath" \    [ if test ! "(" "${enableval}" = "intmath" \
658                  -o "${enableval}" = "intmathabs" \
659                -o "${enableval}" = "diharmonic" ")" ; then                -o "${enableval}" = "diharmonic" ")" ; then
660        AC_MSG_ERROR([Unknown triangular wave algorithm for parameter --enable-signed-triang-algo])        AC_MSG_ERROR([Unknown triangular wave algorithm for parameter --enable-signed-triang-algo])
661      else      else
# Line 619  AC_ARG_ENABLE(unsigned-triang-algo, Line 673  AC_ARG_ENABLE(unsigned-triang-algo,
673                                Uses integer math without any branch will then be                                Uses integer math without any branch will then be
674                                converted to floating point value for each sample point.                                converted to floating point value for each sample point.
675                                This int->float conversion might hurt on some systems.                                This int->float conversion might hurt on some systems.
676                                intmathabs:
677                                  Similar to intmath but uses abs() function.
678                                  Depending on compiler and platrofm this could
679                                  perform better than integer math as it avoids
680                                  an extra integer multiply instruction.
681    
682                              diharmonic:                              diharmonic:
683                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
684                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 630  AC_ARG_ENABLE(unsigned-triang-algo, Line 690  AC_ARG_ENABLE(unsigned-triang-algo,
690                                benchmark between the algorithms mentioned above.                                benchmark between the algorithms mentioned above.
691                                This will NOT work for cross compilation!],                                This will NOT work for cross compilation!],
692    [ if test ! "(" "${enableval}" = "intmath" \    [ if test ! "(" "${enableval}" = "intmath" \
693                  -o "${enableval}" = "intmathabs" \
694                -o "${enableval}" = "diharmonic" ")" ; then                -o "${enableval}" = "diharmonic" ")" ; then
695        AC_MSG_ERROR([Unknown triangular wave algorithm for parameter --enable-unsigned-triang-algo])        AC_MSG_ERROR([Unknown triangular wave algorithm for parameter --enable-unsigned-triang-algo])
696      else      else
# Line 655  if test "$config_process_muted_channels" Line 716  if test "$config_process_muted_channels"
716    AC_DEFINE_UNQUOTED(CONFIG_PROCESS_MUTED_CHANNELS, 1, [Define to 1 if you want to enable processing of muted channels.])    AC_DEFINE_UNQUOTED(CONFIG_PROCESS_MUTED_CHANNELS, 1, [Define to 1 if you want to enable processing of muted channels.])
717  fi  fi
718    
719    AC_ARG_ENABLE(interpolate-volume,
720      [  --disable-interpolate-volume
721                              Disable interpolation of volume modulation
722                              (default=on). With this enabled, the volume changes
723                              generated by for example the envelope generator
724                              will be smoother, minimizing the risk for audio
725                              clicks. Disable it to reduce CPU usage.],
726      [config_interpolate_volume="no"],
727      [config_interpolate_volume="yes"]
728    )
729    if test "$config_interpolate_volume" = "yes"; then
730      AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])
731    fi
732    
733    
734  ###########################################################################  ###########################################################################
735  # Automatic Benchmarks (to detect the best algorithms for the system)  # Automatic Benchmarks (to detect the best algorithms for the system)
# Line 667  if test "$config_signed_triang_algo" = " Line 742  if test "$config_signed_triang_algo" = "
742      AC_TRY_RUN([      AC_TRY_RUN([
743              #define SIGNED 1              #define SIGNED 1
744              #define SILENT 1              #define SILENT 1
745              #include "benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
746          ],          ],
747          triang_signed=0,          triang_signed=0,
748          triang_signed=$?,          triang_signed=$?,
# Line 679  if test "$config_signed_triang_algo" = " Line 754  if test "$config_signed_triang_algo" = "
754      elif test "$triang_signed" = "3"; then      elif test "$triang_signed" = "3"; then
755          config_signed_triang_algo="diharmonic"          config_signed_triang_algo="diharmonic"
756          echo "di harmonics"          echo "di harmonics"
757        elif test "$triang_signed" = "5"; then
758            config_signed_triang_algo="intmathabs"
759            echo "integer math using abs()"
760      else      else
761          echo "Benchmark of signed triangular wave algorithms failed!"          echo "Benchmark of signed triangular wave algorithms failed!"
762          echo "Maybe you are doing cross compilation? In that case you have to select"          echo "Maybe you are doing cross compilation? In that case you have to select"
# Line 687  if test "$config_signed_triang_algo" = " Line 765  if test "$config_signed_triang_algo" = "
765          exit -1;          exit -1;
766      fi      fi
767  fi  fi
768  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ALGO, signed_triang_algo_${config_signed_triang_algo}, [Define signed triangular wave algorithm to be used.])  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ALGO, ${triang_signed}, [Define signed triangular wave algorithm to be used.])
769    
770  if test "$config_unsigned_triang_algo" = "benchmark"; then  if test "$config_unsigned_triang_algo" = "benchmark"; then
771      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
# Line 695  if test "$config_unsigned_triang_algo" = Line 773  if test "$config_unsigned_triang_algo" =
773      AC_TRY_RUN([      AC_TRY_RUN([
774              #define SIGNED 0              #define SIGNED 0
775              #define SILENT 1              #define SILENT 1
776              #include "benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
777          ],          ],
778          triang_unsigned=0,          triang_unsigned=0,
779          triang_unsigned=$?,          triang_unsigned=$?,
# Line 707  if test "$config_unsigned_triang_algo" = Line 785  if test "$config_unsigned_triang_algo" =
785      elif test "$triang_unsigned" = "3"; then      elif test "$triang_unsigned" = "3"; then
786          config_unsigned_triang_algo="diharmonic"          config_unsigned_triang_algo="diharmonic"
787          echo "di harmonics"          echo "di harmonics"
788        elif test "$triang_unsigned" = "5"; then
789            config_unsigned_triang_algo="intmathabs"
790            echo "integer math using abs()"
791      else      else
792          echo "Benchmark of unsigned triangular wave algorithms failed!"          echo "Benchmark of unsigned triangular wave algorithms failed!"
793          echo "Maybe you are doing cross compilation? In that case you have to select"          echo "Maybe you are doing cross compilation? In that case you have to select"
# Line 715  if test "$config_unsigned_triang_algo" = Line 796  if test "$config_unsigned_triang_algo" =
796          exit -1;          exit -1;
797      fi      fi
798  fi  fi
799  AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, unsigned_triang_algo_${config_unsigned_triang_algo}, [Define unsigned triangular wave algorithm to be used.])  AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, ${triang_unsigned}, [Define unsigned triangular wave algorithm to be used.])
800    
801  AC_LANG_RESTORE  AC_LANG_RESTORE
802    
# Line 792  echo "# Maximum Stream Refill Size: ${co Line 873  echo "# Maximum Stream Refill Size: ${co
873  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
874  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Maximum Disk Streams: ${config_max_streams}"
875  echo "# Maximum Voices: ${config_max_voices}"  echo "# Maximum Voices: ${config_max_voices}"
876    echo "# Default Subfragment Size: ${config_subfragment_size}"
877    echo "# Global Volume Attenuation: ${config_global_attenuation}"
878  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
879  echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"  echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"
880  echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"  echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"
881  echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"  echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"
882  echo "# Filter Update Steps: ${config_filter_update_steps}"  echo "# Min. Portamento Time: ${config_portamento_time_min} s"
883    echo "# Max. Portamento Time: ${config_portamento_time_max} s"
884    echo "# Default Portamento Time: ${config_portamento_time_default} s"
885  echo "# Force Filter Usage: ${config_force_filter}"  echo "# Force Filter Usage: ${config_force_filter}"
886  echo "# Filter Cutoff Minimum: ${config_filter_cutoff_min} Hz"  echo "# Filter Cutoff Minimum: ${config_filter_cutoff_min} Hz"
887  echo "# Filter Cutoff Maximum: ${config_filter_cutoff_max} Hz"  echo "# Filter Cutoff Maximum: ${config_filter_cutoff_max} Hz"
# Line 805  echo "# Override Filter Resonance Contro Line 890  echo "# Override Filter Resonance Contro
890  echo "# Override Filter Type: ${config_override_filter_type}"  echo "# Override Filter Type: ${config_override_filter_type}"
891  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
892  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
893    echo "# Interpolate Volume: ${config_interpolate_volume}"
894  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
895  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
896  echo "#####################################################################"  echo "#####################################################################"

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

  ViewVC Help
Powered by ViewVC