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

Diff of /linuxsampler/trunk/configure.ac

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

linuxsampler/trunk/configure.in revision 1649 by nagata, Fri Jan 25 15:06:02 2008 UTC linuxsampler/trunk/configure.ac revision 2516 by schoenebeck, Thu Feb 6 21:11:23 2014 UTC
# Line 1  Line 1 
 AC_INIT(configure.in)  
   
1  #------------------------------------------------------------------------------------  #------------------------------------------------------------------------------------
2  # LinuxSampler's / liblinuxsampler's "official" release version:  # LinuxSampler's / liblinuxsampler's "official" release version:
3    
4  LINUXSAMPLER_RELEASE_MAJOR=0  m4_define(linuxsampler_release_major, 1)
5  LINUXSAMPLER_RELEASE_MINOR=5  m4_define(linuxsampler_release_minor, 0)
6  LINUXSAMPLER_RELEASE_BUILD=1  m4_define(linuxsampler_release_build, 0.svn29)
7    
8    
9    AC_INIT([linuxsampler],[linuxsampler_release_major.linuxsampler_release_minor.linuxsampler_release_build])
10    AC_CONFIG_SRCDIR([configure.ac])
11    
12  #------------------------------------------------------------------------------------  #------------------------------------------------------------------------------------
13  # 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 24  LINUXSAMPLER_RELEASE_BUILD=1 Line 26  LINUXSAMPLER_RELEASE_BUILD=1
26  #  6. If any interfaces have been removed since the last public release, then set age  #  6. If any interfaces have been removed since the last public release, then set age
27  #     to 0.  #     to 0.
28    
29  LIBLINUXSAMPLER_LT_CURRENT=2  LIBLINUXSAMPLER_LT_CURRENT=3
30  LIBLINUXSAMPLER_LT_REVISION=0  LIBLINUXSAMPLER_LT_REVISION=0
31  LIBLINUXSAMPLER_LT_AGE=1  LIBLINUXSAMPLER_LT_AGE=0
32  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT_CURRENT:$LIBLINUXSAMPLER_LT_REVISION:$LIBLINUXSAMPLER_LT_AGE"  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT_CURRENT:$LIBLINUXSAMPLER_LT_REVISION:$LIBLINUXSAMPLER_LT_AGE"
33    
34  #------------------------------------------------------------------------------------  #------------------------------------------------------------------------------------
35  # the LSCP specification version this LinuSampler release complies with:  # the LSCP specification version this LinuSampler release complies with:
36    
37  LSCP_RELEASE_MAJOR=1  LSCP_RELEASE_MAJOR=1
38  LSCP_RELEASE_MINOR=3  LSCP_RELEASE_MINOR=6
39    
40  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MAJOR, ${LSCP_RELEASE_MAJOR}, [LSCP spec major version this release complies with.])  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MAJOR, ${LSCP_RELEASE_MAJOR}, [LSCP spec major version this release complies with.])
41  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MINOR, ${LSCP_RELEASE_MINOR}, [LSCP spec minor version this release complies with.])  AC_DEFINE_UNQUOTED(LSCP_RELEASE_MINOR, ${LSCP_RELEASE_MINOR}, [LSCP spec minor version this release complies with.])
42    
43  AM_PROG_LIBTOOL  AC_PROG_CXX
44    AC_LIBTOOL_WIN32_DLL
45    AC_PROG_LIBTOOL
46    
47  AC_SUBST(SHLIB_VERSION_ARG)  AC_SUBST(SHLIB_VERSION_ARG)
48  AC_SUBST(SHARED_VERSION_INFO)  AC_SUBST(SHARED_VERSION_INFO)
49    
50  AC_C_BIGENDIAN  module=yes eval LIB_EXT=$shrext_cmds
51  AC_CANONICAL_SYSTEM  AC_SUBST(LIB_EXT)
52    
53  AC_SUBST(target)  AC_C_BIGENDIAN
54  AC_SUBST(target_alias)  AC_CANONICAL_HOST
 AC_SUBST(target_cpu)  
 AC_SUBST(target_os)  
 AC_SUBST(target_vendor)  
55    
56  PKG_PROG_PKG_CONFIG  PKG_PROG_PKG_CONFIG
57    
58  ###########################################################################  ###########################################################################
59  # General Checks  # General Checks
60    
61    AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
62    
63  AC_MSG_CHECKING([whether x86 architecture])  AC_MSG_CHECKING([whether x86 architecture])
64  def_arch_x86=0  def_arch_x86=0
65  case $target_cpu in  case $host_cpu in
66    "i386" | "i486" | "i586" | "i686" | "i786")    "i386" | "i486" | "i586" | "i686" | "i786" | "x86_64")
67      echo "yes"      echo "yes"
68      def_arch_x86=1;;      def_arch_x86=1;;
69    *)    *)
# Line 72  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x8 Line 75  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x8
75  # (only if the user did not provide one)  # (only if the user did not provide one)
76  CXX_CPU_SWITCH=  CXX_CPU_SWITCH=
77  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then
78    if test "$def_arch_x86" = 1; then    if test "$def_arch_x86" = 1 -a "$host_cpu" != "x86_64"; then
79      CXX_CPU_SWITCH="-march=$target_cpu"      CXX_CPU_SWITCH="-march=$host_cpu"
80    elif test "$target_cpu" = "ppc"; then    elif test "$target_cpu" = "ppc"; then
81      CXX_CPU_SWITCH="-arch=$target_cpu"      CXX_CPU_SWITCH="-arch=$host_cpu"
82    fi    fi
83  fi  fi
84  AC_SUBST([CXX_CPU_SWITCH])  AC_SUBST([CXX_CPU_SWITCH])
85    
86    mac=no
87    linux=no
88    case "$host" in
89        *-*-darwin*)
90            mac=yes
91            ;;
92        *-*-linux*)
93            linux=yes
94            ;;
95    esac
96    AM_CONDITIONAL(LINUX, test "$linux" = yes)
97    AM_CONDITIONAL(MAC, test "$mac" = yes)
98    
99  # check if we're on MS Windows  # check if we're on MS Windows
100  AC_CHECK_HEADERS(  AC_CHECK_HEADERS(
101      mmsystem.h,      mmsystem.h,
102      have_windows=1,      have_windows=1,
103      have_windows=0      have_windows=0,
104        [#include <windef.h>]
105  )  )
106  AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")  AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")
107    
108  AC_MSG_CHECKING([whether UNIX98 compatible])  AC_MSG_CHECKING([whether UNIX98 compatible])
109  AC_LANG_SAVE  AC_LANG_PUSH([C])
110  AC_LANG_C  AC_RUN_IFELSE([AC_LANG_SOURCE([[
 AC_TRY_RUN([  
111  #ifndef _GNU_SOURCE  #ifndef _GNU_SOURCE
112  #define _GNU_SOURCE 1  #define _GNU_SOURCE 1
113  #endif  #endif
# Line 103  exit(0); /* UNIX98 compatible */ Line 119  exit(0); /* UNIX98 compatible */
119  exit(-1); /* not UNIX98 compatible */  exit(-1); /* not UNIX98 compatible */
120  #endif  #endif
121  }  }
122  ],  ]])],
123  have_unix98="yes",  have_unix98="yes",
124  have_unix98="no",  have_unix98="no",
125  have_unix98="no"  have_unix98="no"
126  )  )
127  AC_LANG_RESTORE  AC_LANG_POP([C])
128  AC_MSG_RESULT([$have_unix98])  AC_MSG_RESULT([$have_unix98])
129  if test "$have_unix98" = "no" -a "have_windows" = "0"; then  if test "$have_unix98" = "no" -a "$have_windows" = "0" -a "$mac" = "no" ; then
130      if test "x$HAVE_UNIX98" = "x"; then      if test "x$HAVE_UNIX98" = "x"; then
131          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"
132          echo "pthread_mutexattr_settype() call in Mutex.cpp. You may want to run          echo "pthread_mutexattr_settype() call in Mutex.cpp. You may want to run"
133          echo "./configure with environment variable HAVE_UNIX98=1 in case you think you          echo "./configure with environment variable HAVE_UNIX98=1 in case you think you"
134          echo "have a UNIX98 compatible system."          echo "have a UNIX98 compatible system."
135          exit -1;          exit -1;
136      fi      fi
# Line 161  else Line 177  else
177      echo "NPTL glibc bug check disabled"      echo "NPTL glibc bug check disabled"
178  fi  fi
179    
180    # FIXME: this is actually a dependency of libgig, not of LS directly, why
181    # isn't it hidden by libgig?
182    AC_CHECK_HEADERS(uuid/uuid.h)
183    AC_SEARCH_LIBS(uuid_generate, uuid)
184    
185    
186    
187  ###########################################################################  ###########################################################################
# Line 195  if test "$config_alsa_driver" = "yes"; t Line 216  if test "$config_alsa_driver" = "yes"; t
216      fi      fi
217    
218      echo -n "checking Alsa version... "      echo -n "checking Alsa version... "
219      AC_LANG_SAVE      AC_LANG_PUSH([C])
220      AC_LANG_C      AC_RUN_IFELSE([AC_LANG_SOURCE([[
     AC_TRY_RUN([  
221          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
222          void main(void) {          void main(void) {
223              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 206  if test "$config_alsa_driver" = "yes"; t Line 226  if test "$config_alsa_driver" = "yes"; t
226              #endif              #endif
227              exit(SND_LIB_MAJOR);              exit(SND_LIB_MAJOR);
228          }          }
229      ],      ]])],
230      alsa_major=0,      alsa_major=0,
231      alsa_major=$?,      alsa_major=$?,
232      alsa_major=0      alsa_major=0
233      )      )
234      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
235          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
236          void main(void) {          void main(void) {
237              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 220  if test "$config_alsa_driver" = "yes"; t Line 240  if test "$config_alsa_driver" = "yes"; t
240              #endif              #endif
241              exit(SND_LIB_MINOR);              exit(SND_LIB_MINOR);
242          }          }
243      ],      ]])],
244      alsa_minor=0,      alsa_minor=0,
245      alsa_minor=$?,      alsa_minor=$?,
246      alsa_minor=0      alsa_minor=0
247      )      )
248      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
249          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
250          void main(void) {          void main(void) {
251              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 234  if test "$config_alsa_driver" = "yes"; t Line 254  if test "$config_alsa_driver" = "yes"; t
254              #endif              #endif
255              exit(SND_LIB_SUBMINOR);              exit(SND_LIB_SUBMINOR);
256          }          }
257      ],      ]])],
258      alsa_subminor=0,      alsa_subminor=0,
259      alsa_subminor=$?,      alsa_subminor=$?,
260      alsa_subminor=0      alsa_subminor=0
261      )      )
262      AC_LANG_RESTORE      AC_LANG_POP([C])
263      echo "$alsa_major.$alsa_minor.$alsa_subminor";      echo "$alsa_major.$alsa_minor.$alsa_subminor";
264      AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])      AC_DEFINE_UNQUOTED(ALSA_MAJOR,$alsa_major,[Define to the major version number of your Alsa installation.])
265      AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])      AC_DEFINE_UNQUOTED(ALSA_MINOR,$alsa_minor,[Define to the minor version number of your Alsa installation.])
# Line 249  else Line 269  else
269  fi  fi
270  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
271  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.])
272    config_have_alsa="no"
273    if test $have_alsa = "1"; then
274        config_have_alsa="yes"
275    fi
276    
277  # JACK  # JACK
278  AC_ARG_ENABLE(jack-driver,  AC_ARG_ENABLE(jack-driver,
# Line 264  if test "$config_jack_driver" = "yes"; t Line 288  if test "$config_jack_driver" = "yes"; t
288      if test $have_jack = "1"; then      if test $have_jack = "1"; then
289          AC_SUBST(JACK_LIBS)          AC_SUBST(JACK_LIBS)
290          AC_SUBST(JACK_CFLAGS)          AC_SUBST(JACK_CFLAGS)
291          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)          linuxsampler_save_LIBS=$LIBS
292            LIBS="$JACK_LIBS $LIBS"
293            AC_CHECK_FUNCS(jack_client_name_size jack_client_open \
294                           jack_on_info_shutdown)
295            LIBS=$linuxsampler_save_LIBS
296          have_audio_output_driver="true";          have_audio_output_driver="true";
297      fi      fi
298  else  else
# Line 272  else Line 300  else
300  fi  fi
301  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
302  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.])
303    config_have_jack="no"
304    if test $have_jack = "1"; then
305        config_have_jack="yes"
306    fi
307    
308    # JACK MIDI
309    have_jack_midi=0
310    if test $have_jack = "1"; then
311        linuxsampler_save_CFLAGS=$CFLAGS
312        linuxsampler_save_LIBS=$LIBS
313        CFLAGS="$JACK_CFLAGS $CFLAGS"
314        LIBS="$JACK_LIBS $LIBS"
315        AC_CHECK_HEADER(jack/midiport.h, have_jack_midi=1, have_jack_midi=0)
316        if test $have_jack_midi = "1"; then
317            AC_CHECK_FUNCS(jack_midi_get_event_count)
318            AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jack/midiport.h>]], [[
319                jack_midi_clear_buffer(0, 0);
320            ]])], [AC_DEFINE(JACK_MIDI_FUNCS_NEED_NFRAMES, 1,
321                      [Define to 1 if you have the old jack midi functions that need an nframes argument.])])
322            have_midi_input_driver="true"
323        fi
324        CFLAGS=$linuxsampler_save_CFLAGS
325        LIBS=$linuxsampler_save_LIBS
326    fi
327    AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")
328    AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,
329                       [Define to 1 if you have JACK with MIDI support installed.])
330    config_have_jack_midi="no"
331    if test $have_jack_midi = "1"; then
332        config_have_jack_midi="yes"
333    fi
334    
335  # ARTS  # ARTS
336  AC_ARG_ENABLE(arts-driver,  AC_ARG_ENABLE(arts-driver,
# Line 294  else Line 353  else
353  fi  fi
354  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
355  AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])  AC_DEFINE_UNQUOTED(HAVE_ARTS,$have_arts,[Define to 1 if you have aRts installed.])
356    config_have_arts="no"
357    if test $have_arts = "1"; then
358        config_have_arts="yes"
359    fi
360    
361  # ASIO AUDIO (Win32)  # ASIO AUDIO (Win32)
362  AC_ARG_ENABLE(asiosdk-dir,  AC_ARG_ENABLE(asiosdk-dir,
# Line 333  fi Line 396  fi
396  AC_SUBST(ASIOSDK_BASEDIR)  AC_SUBST(ASIOSDK_BASEDIR)
397  AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")  AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
398  AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.])  AC_DEFINE_UNQUOTED(HAVE_ASIO,$have_asio,[Define to 1 if you have ASIO installed.])
399    config_have_asio="no"
400    if test $have_asio = "1"; then
401        config_have_asio="yes"
402    fi
403    
404  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
405  AC_ARG_ENABLE(midishare-driver,  AC_ARG_ENABLE(midishare-driver,
# Line 359  else Line 426  else
426  fi  fi
427  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
428  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.])
429    config_have_midishare="no"
430    if test $have_midishare = "1"; then
431        config_have_midishare="yes"
432    fi
433    
434  # CoreMIDI (OS X)  # CoreMIDI (OS X)
435  AC_ARG_ENABLE(coremidi-driver,  AC_ARG_ENABLE(coremidi-driver,
# Line 381  else Line 452  else
452  fi  fi
453  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
454  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.])
455    config_have_coremidi="no"
456    if test $have_coremidi = "1"; then
457        config_have_coremidi="yes"
458    fi
459    
460    # CoreAudio (OS X)
461    AC_ARG_ENABLE(coreaudio-driver,
462      [  --disable-coreaudio-driver
463                              Disable support for the Apple CoreAudio system.],
464      [config_coreaudio_driver="$enableval"],
465      [config_coreaudio_driver="yes"]
466    )
467    have_coreaudio=0
468    if test "$config_coreaudio_driver" = "yes"; then
469        AC_CHECK_HEADER(CoreAudio/CoreAudio.h,
470            have_coreaudio=1,
471            have_coreaudio=0
472        )
473        if test "$have_coreaudio" = "1"; then
474            have_audio_output_driver="true"
475        fi
476    else
477        echo "CoreAudio support disabled by configure script parameter"
478    fi
479    AM_CONDITIONAL(HAVE_COREAUDIO, test $have_coreaudio = "1")
480    AC_DEFINE_UNQUOTED(HAVE_COREAUDIO,$have_coreaudio,[Define to 1 if you have CoreAudio installed.])
481    config_have_coreaudio="no"
482    if test $have_coreaudio = "1"; then
483        config_have_coreaudio="yes"
484    fi
485    
486  # MME MIDI (Win32)  # MME MIDI (Win32)
487  AC_ARG_ENABLE(mmemidi-driver,  AC_ARG_ENABLE(mmemidi-driver,
# Line 403  else Line 504  else
504  fi  fi
505  AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")  AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")
506  AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.])  AC_DEFINE_UNQUOTED(HAVE_MME_MIDI,$have_mmemidi,[Define to 1 if you have MME MIDI installed.])
507    config_have_mme="no"
508    if test $have_mmemidi = "1"; then
509        config_have_mme="yes"
510    fi
511    
512    # DSSI
513    AC_CHECK_HEADERS(dssi.h,
514            config_have_dssi="yes",
515            config_have_dssi="no")
516    AM_CONDITIONAL(HAVE_DSSI, test $config_have_dssi = "yes")
517    
518    # LV2
519    PKG_CHECK_MODULES(LV2, lv2 >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
520    AC_SUBST(LV2_CFLAGS)
521    AC_SUBST(LV2_LIBS)
522    AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")
523    
524    # VST
525    AC_ARG_ENABLE(vstsdk-dir,
526      [  --enable-vstsdk-dir
527                              Directory where the VST SDK is located.
528                              This automatically enables the compilation
529                              of the VST plugin.],
530      [VSTSDK_DIR="${enableval}"],
531      [VSTSDK_DIR=]
532    )
533    AC_SUBST(VSTSDK_DIR)
534    AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")
535    config_have_vst="no"
536    if test "x$VSTSDK_DIR" != "x"; then
537        config_have_vst="yes"
538    fi
539    
540    # AU
541    AC_CHECK_HEADERS(AudioUnit/AudioUnit.h,
542            config_have_au="yes",
543            config_have_au="no")
544    AM_CONDITIONAL(HAVE_AU, test $config_have_au = "yes")
545    AM_CONDITIONAL(HAVE_AUFLAGS, test "$AUFLAGS" != "")
546    
547    if test $config_have_au = "yes" ; then
548        if test "x$DEVELOPER_EXTRAS_DIR" = "x" ; then
549            if test -d /Developer/Extras ; then
550                DEVELOPER_EXTRAS_DIR=/Developer/Extras
551            else      
552                DEVELOPER_EXTRAS_DIR=/Developer/Examples
553            fi
554        fi
555        AC_SUBST(DEVELOPER_EXTRAS_DIR)
556    fi
557    
558    if test "x$MAC_PLUGIN_INSTALL_DIR" = "x" ; then
559        MAC_PLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins
560    fi
561    AC_SUBST(MAC_PLUGIN_INSTALL_DIR)
562    
563  # have we found at least one MIDI input and one audio output driver ?  # have we found at least one MIDI input and one audio output driver ?
564  if test "$have_midi_input_driver" = "false"; then  if test "$have_midi_input_driver" = "false"; then
565      echo "No supported MIDI input system found!"      echo "No supported MIDI input system found!"
566      echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"      echo "Sorry, LinuxSampler only supports the following MIDI drivers at the moment:"
567      echo "ALSA, MIDIShare, CoreMIDI."      echo "ALSA, JACK, MIDIShare, CoreMIDI, MME."
568      echo "If you think you have one of those available on your system, make sure you"      echo "If you think you have one of those available on your system, make sure you"
569      echo "also have the respective development (header) files installed."      echo "also have the respective development (header) files installed."
570      exit -1;      exit -1;
571  fi  fi
572  if test "$have_audio_output_driver" = "false"; then  if test "$have_audio_output_driver" = "false"; then
573      echo "No supported audio output system found!"      echo "No supported audio output system found!"
574      echo "Sorry, LinuxSampler only supports ALSA, JACK and ARTS as audio output"      echo "Sorry, LinuxSampler only supports ALSA, JACK, ARTS and ASIO as audio output"
575      echo "driver at the moment!"      echo "driver at the moment!"
576      exit -1;      exit -1;
577  fi  fi
# Line 426  fi Line 582  fi
582  # Checks for various DLL libraries  # Checks for various DLL libraries
583    
584  # Check presence of libgig  # Check presence of libgig
585  libgig_version="3.2.1"  libgig_version="3.3.0"
586  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)
587  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
588      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 438  fi Line 594  fi
594  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
595  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
596    
597    # SF2 Engine (requires libgig)
598    AC_ARG_ENABLE(sf2-engine,
599      [  --disable-sf2-engine
600                              Disable compilation of the SF2 engine.
601                              You need to have libgig installed.],
602      [config_sf2_engine="$enableval"],
603      [config_sf2_engine="yes"]
604    )
605    HAVE_SF2=0;
606    if test "$config_sf2_engine" = "yes"; then
607        HAVE_SF2=1
608    else
609        echo "SF2 engine disabled by configure script parameter"
610    fi
611    AM_CONDITIONAL(HAVE_SF2, test $HAVE_SF2 = 1)
612    AC_DEFINE_UNQUOTED(HAVE_SF2,$HAVE_SF2,[Define to 1 if you want SF2 engine and have libsf2 installed.])
613    config_have_sf2="no"
614    if test $HAVE_SF2 = "1"; then
615        config_have_sf2="yes"
616    fi
617    
618    # Check presence of libsndfile
619    libsndfile_version="1.0"
620    PKG_CHECK_MODULES(SNDFILE, sndfile >= $libsndfile_version, HAVE_SNDFILE=true, HAVE_SNDFILE=false)
621    if test "$HAVE_SNDFILE" = "false"; then
622        echo "Required libsndfile version not found!"
623        echo "You need to have libsndfile version ${libsndfile_version} installed!"
624        exit -1;
625    else
626        echo "yes, found libsndfile $libsndfile_version"
627    fi
628    AC_SUBST(SNDFILE_CFLAGS)
629    AC_SUBST(SNDFILE_LIBS)
630    
631    # Check for Vorbis and FLAC support in libsndfile
632    linuxsampler_save_CFLAGS=$CFLAGS
633    CFLAGS="$SNDFILE_CFLAGS $CFLAGS"
634    AC_CHECK_DECLS([SF_FORMAT_VORBIS, SF_FORMAT_FLAC], [], [], [[#include <sndfile.h>]])
635    
636    # Check for loop functionality in libsndfile
637    AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],,
638                     [AC_MSG_WARN([Your version of libsndfile does not support
639        reading of loop information. LinuxSampler will not be able to
640        extract loop information from sample files.])],
641                     [#include <sndfile.h>])
642    CFLAGS=$linuxsampler_save_CFLAGS
643    
644  # Instruments DB feature (requires SQLite 3.3)  # Instruments DB feature (requires SQLite 3.3)
645  AC_ARG_ENABLE(instruments-db,  AC_ARG_ENABLE(instruments-db,
646    [  --disable-instruments-db    [  --disable-instruments-db
# Line 533  if test "$config_rt_exceptions" = "yes"; Line 736  if test "$config_rt_exceptions" = "yes";
736    AC_DEFINE_UNQUOTED(CONFIG_RT_EXCEPTIONS, 1, [Define to 1 to allow exceptions in the realtime context.])    AC_DEFINE_UNQUOTED(CONFIG_RT_EXCEPTIONS, 1, [Define to 1 to allow exceptions in the realtime context.])
737  fi  fi
738    
739    config_pthread_testcancel="$mac"
740  AC_ARG_ENABLE(pthread-testcancel,  AC_ARG_ENABLE(pthread-testcancel,
741    [  --enable-pthread-testcancel    [  --enable-pthread-testcancel
742                            Enable pthread_testcancel() calls and avoid asynchronous                            Enable pthread_testcancel() calls and avoid
743                            cancel of pthreads (default=no).],                            asynchronous cancel of pthreads (default=yes
744                              for Mac targets, no otherwise).],
745    [config_pthread_testcancel="$enableval"],    [config_pthread_testcancel="$enableval"],
746    [config_pthread_testcancel="no"]    [])
 )  
747  if test "$config_pthread_testcancel" = "yes"; then  if test "$config_pthread_testcancel" = "yes"; then
748    AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])    AC_DEFINE_UNQUOTED(CONFIG_PTHREAD_TESTCANCEL, 1, [Define to 1 to enable pthread_testcancel() calls.])
749  fi  fi
# Line 649  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_ Line 853  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_
853    
854  AC_ARG_ENABLE(max-streams,  AC_ARG_ENABLE(max-streams,
855    [  --enable-max-streams    [  --enable-max-streams
856                            Maximum amount of disk streams (default=90). This                            Initial maximum amount of disk streams
857                            value should always be higher than the maximum                            (default=90). This value can be changed at
858                            amount of voices.],                            runtime. It should always be higher than the
859                              maximum amount of voices.],
860    [config_max_streams="${enableval}"],    [config_max_streams="${enableval}"],
861    [config_max_streams="90"]    [config_max_streams="90"]
862  )  )
863  AC_DEFINE_UNQUOTED(CONFIG_MAX_STREAMS, $config_max_streams, [Define max. streams.])  AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_MAX_STREAMS, $config_max_streams, [Define initial max. streams.])
864    
865  AC_ARG_ENABLE(max-voices,  AC_ARG_ENABLE(max-voices,
866    [  --enable-max-voices    [  --enable-max-voices
867                            Maximum amount of voices (default=64). This value                            Initial maximum amount of voices (default=64).
868                            should always be lower than the maximum amount of                            This value can be changed at runtime. It should
869                            disk streams.],                            always be lower than the maximum amount of disk
870                              streams.],
871    [config_max_voices="${enableval}"],    [config_max_voices="${enableval}"],
872    [config_max_voices="64"]    [config_max_voices="64"]
873  )  )
874  AC_DEFINE_UNQUOTED(CONFIG_MAX_VOICES, $config_max_voices, [Define max. voices.])  AC_DEFINE_UNQUOTED(CONFIG_DEFAULT_MAX_VOICES, $config_max_voices, [Define initial max. voices.])
875    
876  AC_ARG_ENABLE(subfragment-size,  AC_ARG_ENABLE(subfragment-size,
877    [  --enable-subfragment-size    [  --enable-subfragment-size
# Line 967  if test "$config_interpolate_volume" = " Line 1173  if test "$config_interpolate_volume" = "
1173    AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])    AC_DEFINE_UNQUOTED(CONFIG_INTERPOLATE_VOLUME, 1, [Define to 1 if you want to enable interpolation of volume modulation.])
1174  fi  fi
1175    
1176    AC_ARG_ENABLE(master-volume-sysex-by-port,
1177      [  --enable-master-volume-sysex-by-port
1178                              Whether global volume sysex message should be
1179                              applied globally to the whole sampler or only to
1180                              the sampler channels connected to the same MIDI
1181                              input port on which the sysex message arrived on.
1182                              By default global volume sysex messages apply
1183                              globally to the whole sampler, since many MIDI
1184                              devices behave that way.],
1185      [config_master_volume_sysex_by_port="$enableval"],
1186      [config_master_volume_sysex_by_port="no"]
1187    )
1188    if test "$config_master_volume_sysex_by_port" = "yes"; then
1189      AC_DEFINE_UNQUOTED(CONFIG_MASTER_VOLUME_SYSEX_BY_PORT, 1, [Define to 1 if you want global volume sysex message only be applied to the respective MIDI port.])
1190    fi
1191    
1192  AC_ARG_ENABLE(plugin-dir,  AC_ARG_ENABLE(plugin-dir,
1193    [  --enable-plugin-dir    [  --enable-plugin-dir
1194                            Directory where the sampler shall look for potential plugins,                            Directory where the sampler shall look for potential plugins,
# Line 1001  AC_SUBST(config_default_instruments_db_f Line 1223  AC_SUBST(config_default_instruments_db_f
1223  ###########################################################################  ###########################################################################
1224  # Automatic Benchmarks (to detect the best algorithms for the system)  # Automatic Benchmarks (to detect the best algorithms for the system)
1225    
 AC_LANG_SAVE  
   
1226  if test "$config_signed_triang_algo" = "benchmark"; then  if test "$config_signed_triang_algo" = "benchmark"; then
1227      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1228      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1229      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1230              #define SIGNED 1              #define SIGNED 1
1231              #define SILENT 1              #define SILENT 1
1232              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1233          ],          ]])],
1234          triang_signed=0,          triang_signed=0,
1235          triang_signed=$?,          triang_signed=$?,
1236          triang_signed=0          triang_signed=0
1237      )      )
1238        AC_LANG_POP([C++])
1239      if test "$triang_signed" = "2"; then      if test "$triang_signed" = "2"; then
1240          config_signed_triang_algo="intmath"          config_signed_triang_algo="intmath"
1241          echo "integer math"          echo "integer math"
# Line 1045  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ Line 1266  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_
1266    
1267  if test "$config_unsigned_triang_algo" = "benchmark"; then  if test "$config_unsigned_triang_algo" = "benchmark"; then
1268      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1269      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1270      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1271              #define SIGNED 0              #define SIGNED 0
1272              #define SILENT 1              #define SILENT 1
1273              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1274          ],          ]])],
1275          triang_unsigned=0,          triang_unsigned=0,
1276          triang_unsigned=$?,          triang_unsigned=$?,
1277          triang_unsigned=0          triang_unsigned=0
1278      )      )
1279        AC_LANG_POP([C++])
1280      if test "$triang_unsigned" = "2"; then      if test "$triang_unsigned" = "2"; then
1281          config_unsigned_triang_algo="intmath"          config_unsigned_triang_algo="intmath"
1282          echo "integer math"          echo "integer math"
# Line 1083  else Line 1305  else
1305  fi  fi
1306  AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIANG_ALGO, ${triang_unsigned}, [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.])
1307    
 AC_LANG_RESTORE  
   
1308    
1309  ###########################################################################  ###########################################################################
1310  # Create Build Files  # Create Build Files
1311    
1312  AM_CONFIG_HEADER(config.h)  AC_CONFIG_HEADERS([config.h])
1313  AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")  AM_INIT_AUTOMAKE
1314    
1315  AC_LANG_CPLUSPLUS  AC_LANG([C++])
 AC_PROG_CXX  
   
 # some gcc 4.0 versions need -msse for SSE register allocations  
 if test "$config_asm" = "yes"; then  
   if test "$def_arch_x86" = 1; then  
     CXXFLAGS="$CXXFLAGS -msse"  
   fi  
 fi  
1316    
1317  # 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
1318  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
1319  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
1320    
1321  AC_OUTPUT( \  AC_CONFIG_FILES([\
1322      Makefile \      Makefile \
1323      man/Makefile \      man/Makefile \
1324      man/linuxsampler.1 \      man/linuxsampler.1 \
1325        man/lscp.1 \
1326      src/Makefile \      src/Makefile \
1327      src/db/Makefile \      src/db/Makefile \
1328      src/network/Makefile \      src/network/Makefile \
1329      src/engines/Makefile \      src/engines/Makefile \
1330      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1331        src/engines/sf2/Makefile \
1332        src/engines/sfz/Makefile \
1333      src/engines/common/Makefile \      src/engines/common/Makefile \
1334        src/effects/Makefile \
1335      src/common/Makefile \      src/common/Makefile \
1336      src/testcases/Makefile \      src/testcases/Makefile \
1337      src/drivers/Makefile \      src/drivers/Makefile \
1338      src/drivers/audio/Makefile \      src/drivers/audio/Makefile \
1339      src/drivers/midi/Makefile \      src/drivers/midi/Makefile \
1340      src/plugins/Makefile \      src/plugins/Makefile \
1341        src/hostplugins/Makefile \
1342        src/hostplugins/dssi/Makefile \
1343        src/hostplugins/lv2/Makefile \
1344        src/hostplugins/lv2/manifest.ttl \
1345        src/hostplugins/vst/Makefile \
1346        src/hostplugins/au/Makefile \
1347        src/shell/Makefile \
1348      linuxsampler.spec \      linuxsampler.spec \
1349      debian/Makefile \      debian/Makefile \
1350      Artwork/Makefile \      Artwork/Makefile \
# Line 1133  AC_OUTPUT( \ Line 1356  AC_OUTPUT( \
1356      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
1357      linuxsampler.pc \      linuxsampler.pc \
1358      Doxyfile \      Doxyfile \
1359  )  ])
1360    AC_OUTPUT
1361    
1362  # resolve all nested variables in '${config_plugin_dir}'  # resolve all nested variables in '${config_plugin_dir}'
1363  # (merely for providing a human readable summary below)  # (merely for providing a human readable summary below)
# Line 1149  echo "" Line 1373  echo ""
1373  echo "#####################################################################"  echo "#####################################################################"
1374  echo "# LinuxSampler Configuration                                        #"  echo "# LinuxSampler Configuration                                        #"
1375  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1376    echo "# Release Version: ${VERSION}"
1377    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1378    echo "#-------------------------------------------------------------------"
1379  echo "# Assembly Optimizations: ${config_asm}"  echo "# Assembly Optimizations: ${config_asm}"
1380  echo "# Development Mode: ${config_dev_mode}"  echo "# Development Mode: ${config_dev_mode}"
1381  echo "# Debug Level: ${config_debug_level}"  echo "# Debug Level: ${config_debug_level}"
# Line 1162  echo "# Streams to be refilled per Disk Line 1389  echo "# Streams to be refilled per Disk
1389  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1390  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1391  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
1392  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Default Maximum Disk Streams: ${config_max_streams}"
1393  echo "# Maximum Voices: ${config_max_voices}"  echo "# Default Maximum Voices: ${config_max_voices}"
1394  echo "# Default Subfragment Size: ${config_subfragment_size}"  echo "# Default Subfragment Size: ${config_subfragment_size}"
1395  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1396  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
# Line 1182  echo "# Override Filter Type: ${config_o Line 1409  echo "# Override Filter Type: ${config_o
1409  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1410  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
1411  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1412    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1413  echo "# Interpolate Volume: ${config_interpolate_volume}"  echo "# Interpolate Volume: ${config_interpolate_volume}"
1414  echo "# Instruments database support: ${config_instruments_db}"  echo "# Instruments database support: ${config_instruments_db}"
1415  if test "$config_instruments_db" = "yes"; then  if test "$config_instruments_db" = "yes"; then
1416  echo "# Instruments DB default location: ${config_default_instruments_db_file}"  echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1417  fi  fi
1418  echo "# Plugin Path: ${config_plugin_dir}"  echo "# Plugin Path: ${config_plugin_dir}"
1419    echo "#-------------------------------------------------------------------"
1420    echo "# MIDI Input Drivers:"
1421    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}"
1422    echo "#-------------------------------------------------------------------"
1423    echo "# Audio Output Drivers:"
1424    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}"
1425    echo "#-------------------------------------------------------------------"
1426    echo "# Sampler Engines:"
1427    echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes"
1428    echo "#-------------------------------------------------------------------"
1429    echo "# Effect plugin systems for internal effects:"
1430    echo "# LADSPA: yes"
1431    echo "#-------------------------------------------------------------------"
1432    echo "# Building sampler as plugin for following host standards:"
1433    echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}"
1434  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1435  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
1436  echo "#####################################################################"  echo "#####################################################################"

Legend:
Removed from v.1649  
changed lines
  Added in v.2516

  ViewVC Help
Powered by ViewVC