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

Diff of /linuxsampler/trunk/configure.ac

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

revision 716 by iliev, Sun Jul 24 06:57:30 2005 UTC revision 838 by schoenebeck, Fri Feb 10 14:57:40 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  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" = "powerpc"; 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 99  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  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
109  # (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)
110  have_midi_input_driver="false"  have_midi_input_driver="false"
# Line 185  fi Line 191  fi
191  AM_CONDITIONAL(HAVE_JACK, test $HAVE_JACK = 1)  AM_CONDITIONAL(HAVE_JACK, test $HAVE_JACK = 1)
192  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.])
193    
194    # ARTS
195    sinclude([m4/arts.m4])
196    AM_PATH_ARTS(0.9.5, have_arts=1, have_arts=0)
197    if test "$have_arts" = "1"; then
198        have_audio_output_driver="true"
199    fi
200    AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
201    AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])
202    
203  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
204  AC_CHECK_HEADER(MidiShare.h,  AC_CHECK_HEADER(MidiShare.h,
205      AC_CHECK_LIB(MidiShare, MidiCountEvs,      AC_CHECK_LIB(MidiShare, MidiCountEvs,
# Line 212  AM_CONDITIONAL(HAVE_COREMIDI, test $have Line 227  AM_CONDITIONAL(HAVE_COREMIDI, test $have
227  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.])
228    
229  # Check presence of libgig  # Check presence of libgig
230  libgig_version="2.0.1"  libgig_version="2.0.2"
231  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)
232  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
233      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 259  fi Line 274  fi
274  # TODO: should we use AC_ARG_VAR(variable, description) instead?  # TODO: should we use AC_ARG_VAR(variable, description) instead?
275    
276  AC_ARG_ENABLE(asm,  AC_ARG_ENABLE(asm,
277    [  --disable-asm    [  --enable-asm
278                            Disable hand-crafted assembly optimizations                            Enable hand-crafted assembly optimizations
279                            (default=on). LinuxSampler provides CPU specific                            (default=off). LinuxSampler provides CPU specific
280                            assembly optimizations for the most important                            assembly optimizations for the most important
281                            synthesis algorithms. You usually don't want to                            synthesis algorithms. This is currently disabled
282                            disable that.],                            by default since current asm code is broken.],
283    [config_asm="no"],    [config_asm="yes"],
284    [config_asm="yes"]    [config_asm="no"]
285  )  )
286  if test "$config_asm" = "yes"; then  if test "$config_asm" = "yes"; then
287    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.])
288  fi  fi
289    
290  AC_ARG_ENABLE(dev-mode,  AC_ARG_ENABLE(dev-mode,
291    [  --enable-dev-mode    [  --disable-dev-mode
292                            Enable development mode (default=no). In that mode                            Disable development mode (default=on). In that mode
293                            we do some extra sanity checks here and there.                            we do some extra sanity checks here and there.
294                            This helps to spot possible problems, but reduces                            This helps to spot possible problems, but reduces
295                            efficiency a bit],                            efficiency a bit],
296    [config_dev_mode="yes"],    [config_dev_mode="no"],
297    [config_dev_mode="no"]    [config_dev_mode="yes"]
298  )  )
299  if test "$config_dev_mode" = "yes"; then  if test "$config_dev_mode" = "yes"; then
300    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 451  AC_ARG_ENABLE(max-voices,
451  )  )
452  AC_DEFINE_UNQUOTED(CONFIG_MAX_VOICES, $config_max_voices, [Define max. voices.])  AC_DEFINE_UNQUOTED(CONFIG_MAX_VOICES, $config_max_voices, [Define max. voices.])
453    
454    AC_ARG_ENABLE(subfragment-size,
455      [  --enable-subfragment-size
456                              Every audio fragment will be splitted into
457                              subfragments. Where each subfragment renders
458                              audio with constant synthesis parameters. This is
459                              done for efficiency reasons. This parameter
460                              defines the default size of a subfragment in
461                              sample points. A large value means less CPU time
462                              whereas a low value means better audio quality
463                              (default=32).],
464      [config_subfragment_size="${enableval}"],
465      [config_subfragment_size="32"]
466    )
467    AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_SUBFRAGMENT_SIZE, $config_subfragment_size, [Define default subfragment size (in sample points).])
468    
469    AC_ARG_ENABLE(global-attenuation,
470      [  --enable-global-attenuation
471                              To prevent clipping all samples will be lowered
472                              in amplitude by this given factor.
473                              (default=0.35)],
474      [config_global_attenuation="${enableval}"],
475      [config_global_attenuation="0.35"]
476    )
477    AC_DEFINE_UNQUOTED(CONFIG_GLOBAL_ATTENUATION, $config_global_attenuation, [Define global volume attenuation (as floating point factor).])
478    
479  AC_ARG_ENABLE(voice-steal-algo,  AC_ARG_ENABLE(voice-steal-algo,
480    [  --enable-voice-steal-algo    [  --enable-voice-steal-algo
481                            Voice stealing algorithm to be used. Currently                            Voice stealing algorithm to be used. Currently
# Line 469  AC_ARG_ENABLE(sysex-buffer-size, Line 509  AC_ARG_ENABLE(sysex-buffer-size,
509  )  )
510  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.])
511    
 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.])  
   
512  AC_ARG_ENABLE(force-filter,  AC_ARG_ENABLE(force-filter,
513    [  --enable-force-filter    [  --enable-force-filter
514                            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 611  if test "config_assert_gs_sysex_checksum
611    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.])
612  fi  fi
613    
614    AC_ARG_ENABLE(portamento-time-min,
615      [  --enable-portamento-time-min
616                              Minimum Portamento time in seconds
617                              (default=0.1).],
618      [config_portamento_time_min="${enableval}"],
619      [config_portamento_time_min="0.1"]
620    )
621    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MIN, $config_portamento_time_min, [Define min. portamento time.])
622    
623    AC_ARG_ENABLE(portamento-time-max,
624      [  --enable-portamento-time-max
625                              Maximum Portamento time in seconds
626                              (default=32).],
627      [config_portamento_time_max="${enableval}"],
628      [config_portamento_time_max="32"]
629    )
630    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_MAX, $config_portamento_time_max, [Define max. portamento time.])
631    
632    AC_ARG_ENABLE(portamento-time-default,
633      [  --enable-portamento-time-default
634                              Default Portamento time in seconds
635                              (default=1).],
636      [config_portamento_time_default="${enableval}"],
637      [config_portamento_time_default="1"]
638    )
639    AC_DEFINE_UNQUOTED(CONFIG_PORTAMENTO_TIME_DEFAULT, $config_portamento_time_default, [Define default portamento time.])
640    
641  AC_ARG_ENABLE(signed-triang-algo,  AC_ARG_ENABLE(signed-triang-algo,
642    [  --enable-signed-triang-algo    [  --enable-signed-triang-algo
643                            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 646  AC_ARG_ENABLE(signed-triang-algo,
646                                Uses integer math without any branch will then be                                Uses integer math without any branch will then be
647                                converted to floating point value for each sample point.                                converted to floating point value for each sample point.
648                                This int->float conversion might hurt on some systems.                                This int->float conversion might hurt on some systems.
649                                intmathabs:
650                                  Similar to intmath but uses abs() function.
651                                  Depending on compiler and platrofm this could
652                                  perform better than integer math as it avoids
653                                  an extra integer multiply instruction.
654    
655                              diharmonic:                              diharmonic:
656                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
657                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 602  AC_ARG_ENABLE(signed-triang-algo, Line 663  AC_ARG_ENABLE(signed-triang-algo,
663                                benchmark between the algorithms mentioned above.                                benchmark between the algorithms mentioned above.
664                                This will NOT work for cross compilation!],                                This will NOT work for cross compilation!],
665    [ if test ! "(" "${enableval}" = "intmath" \    [ if test ! "(" "${enableval}" = "intmath" \
666                  -o "${enableval}" = "intmathabs" \
667                -o "${enableval}" = "diharmonic" ")" ; then                -o "${enableval}" = "diharmonic" ")" ; then
668        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])
669      else      else
# Line 619  AC_ARG_ENABLE(unsigned-triang-algo, Line 681  AC_ARG_ENABLE(unsigned-triang-algo,
681                                Uses integer math without any branch will then be                                Uses integer math without any branch will then be
682                                converted to floating point value for each sample point.                                converted to floating point value for each sample point.
683                                This int->float conversion might hurt on some systems.                                This int->float conversion might hurt on some systems.
684                                intmathabs:
685                                  Similar to intmath but uses abs() function.
686                                  Depending on compiler and platrofm this could
687                                  perform better than integer math as it avoids
688                                  an extra integer multiply instruction.
689    
690                              diharmonic:                              diharmonic:
691                                The triangular wave will be approximated by adding two                                The triangular wave will be approximated by adding two
692                                sinusoidials. This solution might especially hurt on                                sinusoidials. This solution might especially hurt on
# Line 630  AC_ARG_ENABLE(unsigned-triang-algo, Line 698  AC_ARG_ENABLE(unsigned-triang-algo,
698                                benchmark between the algorithms mentioned above.                                benchmark between the algorithms mentioned above.
699                                This will NOT work for cross compilation!],                                This will NOT work for cross compilation!],
700    [ if test ! "(" "${enableval}" = "intmath" \    [ if test ! "(" "${enableval}" = "intmath" \
701                  -o "${enableval}" = "intmathabs" \
702                -o "${enableval}" = "diharmonic" ")" ; then                -o "${enableval}" = "diharmonic" ")" ; then
703        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])
704      else      else
# Line 655  if test "$config_process_muted_channels" Line 724  if test "$config_process_muted_channels"
724    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.])
725  fi  fi
726    
727    AC_ARG_ENABLE(interpolate-volume,
728      [  --disable-interpolate-volume
729                              Disable interpolation of volume modulation
730                              (default=on). With this enabled, the volume changes
731                              generated by for example the envelope generator
732                              will be smoother, minimizing the risk for audio
733                              clicks. Disable it to reduce CPU usage.],
734      [config_interpolate_volume="no"],
735      [config_interpolate_volume="yes"]
736    )
737    if test "$config_interpolate_volume" = "yes"; then
738      AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])
739    fi
740    
741    
742  ###########################################################################  ###########################################################################
743  # 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 750  if test "$config_signed_triang_algo" = "
750      AC_TRY_RUN([      AC_TRY_RUN([
751              #define SIGNED 1              #define SIGNED 1
752              #define SILENT 1              #define SILENT 1
753              #include "benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
754          ],          ],
755          triang_signed=0,          triang_signed=0,
756          triang_signed=$?,          triang_signed=$?,
# Line 679  if test "$config_signed_triang_algo" = " Line 762  if test "$config_signed_triang_algo" = "
762      elif test "$triang_signed" = "3"; then      elif test "$triang_signed" = "3"; then
763          config_signed_triang_algo="diharmonic"          config_signed_triang_algo="diharmonic"
764          echo "di harmonics"          echo "di harmonics"
765        elif test "$triang_signed" = "5"; then
766            config_signed_triang_algo="intmathabs"
767            echo "integer math using abs()"
768      else      else
769          echo "Benchmark of signed triangular wave algorithms failed!"          echo "Benchmark of signed triangular wave algorithms failed!"
770          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 773  if test "$config_signed_triang_algo" = "
773          exit -1;          exit -1;
774      fi      fi
775  fi  fi
776  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.])
777    
778  if test "$config_unsigned_triang_algo" = "benchmark"; then  if test "$config_unsigned_triang_algo" = "benchmark"; then
779      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 781  if test "$config_unsigned_triang_algo" =
781      AC_TRY_RUN([      AC_TRY_RUN([
782              #define SIGNED 0              #define SIGNED 0
783              #define SILENT 1              #define SILENT 1
784              #include "benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
785          ],          ],
786          triang_unsigned=0,          triang_unsigned=0,
787          triang_unsigned=$?,          triang_unsigned=$?,
# Line 707  if test "$config_unsigned_triang_algo" = Line 793  if test "$config_unsigned_triang_algo" =
793      elif test "$triang_unsigned" = "3"; then      elif test "$triang_unsigned" = "3"; then
794          config_unsigned_triang_algo="diharmonic"          config_unsigned_triang_algo="diharmonic"
795          echo "di harmonics"          echo "di harmonics"
796        elif test "$triang_unsigned" = "5"; then
797            config_unsigned_triang_algo="intmathabs"
798            echo "integer math using abs()"
799      else      else
800          echo "Benchmark of unsigned triangular wave algorithms failed!"          echo "Benchmark of unsigned triangular wave algorithms failed!"
801          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 804  if test "$config_unsigned_triang_algo" =
804          exit -1;          exit -1;
805      fi      fi
806  fi  fi
807  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.])
808    
809  AC_LANG_RESTORE  AC_LANG_RESTORE
810    
# Line 792  echo "# Maximum Stream Refill Size: ${co Line 881  echo "# Maximum Stream Refill Size: ${co
881  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
882  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Maximum Disk Streams: ${config_max_streams}"
883  echo "# Maximum Voices: ${config_max_voices}"  echo "# Maximum Voices: ${config_max_voices}"
884    echo "# Default Subfragment Size: ${config_subfragment_size}"
885    echo "# Global Volume Attenuation: ${config_global_attenuation}"
886  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
887  echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"  echo "# Signed Triangular Oscillator Algorithm: ${config_signed_triang_algo}"
888  echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"  echo "# Unsigned Triangular Oscillator Algorithm: ${config_unsigned_triang_algo}"
889  echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"  echo "# SysEx Buffer Size: ${config_sysex_buffer_size} Byte"
890  echo "# Filter Update Steps: ${config_filter_update_steps}"  echo "# Min. Portamento Time: ${config_portamento_time_min} s"
891    echo "# Max. Portamento Time: ${config_portamento_time_max} s"
892    echo "# Default Portamento Time: ${config_portamento_time_default} s"
893  echo "# Force Filter Usage: ${config_force_filter}"  echo "# Force Filter Usage: ${config_force_filter}"
894  echo "# Filter Cutoff Minimum: ${config_filter_cutoff_min} Hz"  echo "# Filter Cutoff Minimum: ${config_filter_cutoff_min} Hz"
895  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 898  echo "# Override Filter Resonance Contro
898  echo "# Override Filter Type: ${config_override_filter_type}"  echo "# Override Filter Type: ${config_override_filter_type}"
899  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
900  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
901    echo "# Interpolate Volume: ${config_interpolate_volume}"
902  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
903  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
904  echo "#####################################################################"  echo "#####################################################################"

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

  ViewVC Help
Powered by ViewVC