/[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 1695 by schoenebeck, Sat Feb 16 01:09:33 2008 UTC linuxsampler/trunk/configure.ac revision 3616 by schoenebeck, Tue Oct 1 10:50:29 2019 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, 2)
5  LINUXSAMPLER_RELEASE_MINOR=5  m4_define(linuxsampler_release_minor, 1)
6  LINUXSAMPLER_RELEASE_BUILD=1.4cvs  m4_define(linuxsampler_release_build, 1.svn21)
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.4cvs Line 26  LINUXSAMPLER_RELEASE_BUILD=1.4cvs
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=5
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=4  LSCP_RELEASE_MINOR=7
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  AM_INIT_AUTOMAKE([subdir-objects])
44    AC_PROG_CC
45    AC_PROG_CXX
46    AC_LIBTOOL_WIN32_DLL
47    AC_PROG_LIBTOOL
48    AC_PROG_LEX
49    AC_PROG_YACC
50    
51  AC_SUBST(SHLIB_VERSION_ARG)  AC_SUBST(SHLIB_VERSION_ARG)
52  AC_SUBST(SHARED_VERSION_INFO)  AC_SUBST(SHARED_VERSION_INFO)
53    
54  AC_C_BIGENDIAN  module=yes eval LIB_EXT=$shrext_cmds
55  AC_CANONICAL_SYSTEM  AC_SUBST(LIB_EXT)
56    
57  AC_SUBST(target)  AC_C_BIGENDIAN
58  AC_SUBST(target_alias)  AC_CANONICAL_HOST
 AC_SUBST(target_cpu)  
 AC_SUBST(target_os)  
 AC_SUBST(target_vendor)  
59    
60  PKG_PROG_PKG_CONFIG  PKG_PROG_PKG_CONFIG
61    
62  ###########################################################################  ###########################################################################
63  # General Checks  # General Checks
64    
65    AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
66    
67    # make sure C++14 is supported by compiler
68    # (add CXXFLAGS if required [e.g. -std=c++14])
69    m4_ifdef([m4_include(m4/ax_cxx_compile_stdcxx.m4)],,
70                 [sinclude([m4/ax_cxx_compile_stdcxx.m4])])
71    AX_CXX_COMPILE_STDCXX(14, [], mandatory)
72    
73  AC_MSG_CHECKING([whether x86 architecture])  AC_MSG_CHECKING([whether x86 architecture])
74  def_arch_x86=0  def_arch_x86=0
75  case $target_cpu in  case $host_cpu in
76    "i386" | "i486" | "i586" | "i686" | "i786")    "i386" | "i486" | "i586" | "i686" | "i786" | "x86_64")
77      echo "yes"      echo "yes"
78      def_arch_x86=1;;      def_arch_x86=1;;
79    *)    *)
# Line 72  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x8 Line 85  AC_DEFINE_UNQUOTED(ARCH_X86,$def_arch_x8
85  # (only if the user did not provide one)  # (only if the user did not provide one)
86  CXX_CPU_SWITCH=  CXX_CPU_SWITCH=
87  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then  if ! echo "X $CXXFLAGS " | grep -q -- " \(-march=\|-mcpu=\|-mtune=\|-arch=\)" ; then
88    if test "$def_arch_x86" = 1; then    if test "$def_arch_x86" = 1 -a "$host_cpu" != "x86_64"; then
89      CXX_CPU_SWITCH="-march=$target_cpu"      CXX_CPU_SWITCH="-march=$host_cpu"
90    elif test "$target_cpu" = "ppc"; then    elif test "$target_cpu" = "ppc"; then
91      CXX_CPU_SWITCH="-arch=$target_cpu"      CXX_CPU_SWITCH="-arch=$host_cpu"
92    fi    fi
93  fi  fi
94  AC_SUBST([CXX_CPU_SWITCH])  AC_SUBST([CXX_CPU_SWITCH])
95    
96    mac=no
97    linux=no
98    case "$host" in
99        *-*-darwin*)
100            mac=yes
101            ;;
102        *-*-linux*)
103            linux=yes
104            ;;
105    esac
106    AM_CONDITIONAL(LINUX, test "$linux" = yes)
107    AM_CONDITIONAL(MAC, test "$mac" = yes)
108    
109  # check if we're on MS Windows  # check if we're on MS Windows
110  AC_CHECK_HEADERS(  AC_CHECK_HEADERS(
111      mmsystem.h,      mmsystem.h,
112      have_windows=1,      have_windows=1,
113      have_windows=0      have_windows=0,
114        [#include <windef.h>]
115  )  )
116  AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")  AM_CONDITIONAL(HAVE_WINDOWS, test $have_windows = "1")
117    
118  AC_MSG_CHECKING([whether UNIX98 compatible])  AC_MSG_CHECKING([whether UNIX98 compatible])
119  AC_LANG_SAVE  AC_LANG_PUSH([C])
120  AC_LANG_C  AC_RUN_IFELSE([AC_LANG_SOURCE([[
 AC_TRY_RUN([  
121  #ifndef _GNU_SOURCE  #ifndef _GNU_SOURCE
122  #define _GNU_SOURCE 1  #define _GNU_SOURCE 1
123  #endif  #endif
# Line 103  exit(0); /* UNIX98 compatible */ Line 129  exit(0); /* UNIX98 compatible */
129  exit(-1); /* not UNIX98 compatible */  exit(-1); /* not UNIX98 compatible */
130  #endif  #endif
131  }  }
132  ],  ]])],
133  have_unix98="yes",  have_unix98="yes",
134  have_unix98="no",  have_unix98="no",
135  have_unix98="no"  have_unix98="no"
136  )  )
137  AC_LANG_RESTORE  AC_LANG_POP([C])
138  AC_MSG_RESULT([$have_unix98])  AC_MSG_RESULT([$have_unix98])
139  if test "$have_unix98" = "no" -a "have_windows" = "0"; then  if test "$have_unix98" = "no" -a "$have_windows" = "0" -a "$mac" = "no" ; then
140      if test "x$HAVE_UNIX98" = "x"; then      if test "x$HAVE_UNIX98" = "x"; then
141          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"          echo "LinuxSampler only runs on UNIX98 compatible systems, which is mandatory for"
142          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"
143          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"
144          echo "have a UNIX98 compatible system."          echo "have a UNIX98 compatible system."
145          exit -1;          exit -1;
146      fi      fi
# Line 132  CFLAGS="$CFLAGS $PTHREAD_CFLAGS" Line 158  CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
158  CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"  CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
159  CC="$PTHREAD_CC"  CC="$PTHREAD_CC"
160    
161    
162    # check for compiler's pragma diagnostic capabilities
163    m4_ifdef([m4_include(m4/pragma_diagnostics.m4)],,
164                 [sinclude([m4/pragma_diagnostics.m4])])
165    ACX_CXX_PRAGMA_DIAGNOSTICS
166    
167    
168  # check for a bug in NPTL-enabled glibc  # check for a bug in NPTL-enabled glibc
169  # (see Gentoo bug report #194076)  # (see Gentoo bug report #194076)
170  AC_ARG_ENABLE(nptl-bug-check,  AC_ARG_ENABLE(nptl-bug-check,
# Line 162  else Line 195  else
195  fi  fi
196    
197    
198    # In case Bison is available, determine the exact version, since we need to
199    # use different custom parser code for Bison 2.x vs. Bison 3.x generated
200    # parser yacc tables.
201    if echo "$YACC" | grep -q bison; then
202        # NOTE: m4 removes [], that's why it needs to be escaped
203        bison_version=[`$YACC --version | head -n 1 | sed -e 's/[^0-9.]*\([-0-9.]\+\)$/\1/'`]
204        bison_version_major=`echo $bison_version | cut -d. -f1`
205        bison_version_minor=`echo $bison_version | cut -d. -f2`
206        AC_DEFINE_UNQUOTED(HAVE_BISON_MAJ,$bison_version_major,[Define to the major version of the GNU Bison program installed.])
207        AC_DEFINE_UNQUOTED(HAVE_BISON_MIN,$bison_version_minor,[Define to the minor version of the GNU Bison program installed.])
208    fi
209    
210    
211    
212  ###########################################################################  ###########################################################################
213  # Checks for available audio and MIDI systems / drivers  # Checks for available audio and MIDI systems / drivers
# Line 195  if test "$config_alsa_driver" = "yes"; t Line 241  if test "$config_alsa_driver" = "yes"; t
241      fi      fi
242    
243      echo -n "checking Alsa version... "      echo -n "checking Alsa version... "
244      AC_LANG_SAVE      AC_LANG_PUSH([C])
245      AC_LANG_C      AC_RUN_IFELSE([AC_LANG_SOURCE([[
     AC_TRY_RUN([  
246          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
247          void main(void) {          void main(void) {
248              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 206  if test "$config_alsa_driver" = "yes"; t Line 251  if test "$config_alsa_driver" = "yes"; t
251              #endif              #endif
252              exit(SND_LIB_MAJOR);              exit(SND_LIB_MAJOR);
253          }          }
254      ],      ]])],
255      alsa_major=0,      alsa_major=0,
256      alsa_major=$?,      alsa_major=$?,
257      alsa_major=0      alsa_major=0
258      )      )
259      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
260          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
261          void main(void) {          void main(void) {
262              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 220  if test "$config_alsa_driver" = "yes"; t Line 265  if test "$config_alsa_driver" = "yes"; t
265              #endif              #endif
266              exit(SND_LIB_MINOR);              exit(SND_LIB_MINOR);
267          }          }
268      ],      ]])],
269      alsa_minor=0,      alsa_minor=0,
270      alsa_minor=$?,      alsa_minor=$?,
271      alsa_minor=0      alsa_minor=0
272      )      )
273      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
274          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
275          void main(void) {          void main(void) {
276              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 234  if test "$config_alsa_driver" = "yes"; t Line 279  if test "$config_alsa_driver" = "yes"; t
279              #endif              #endif
280              exit(SND_LIB_SUBMINOR);              exit(SND_LIB_SUBMINOR);
281          }          }
282      ],      ]])],
283      alsa_subminor=0,      alsa_subminor=0,
284      alsa_subminor=$?,      alsa_subminor=$?,
285      alsa_subminor=0      alsa_subminor=0
286      )      )
287      AC_LANG_RESTORE      AC_LANG_POP([C])
288      echo "$alsa_major.$alsa_minor.$alsa_subminor";      echo "$alsa_major.$alsa_minor.$alsa_subminor";
289      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.])
290      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 294  else
294  fi  fi
295  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
296  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.])
297    config_have_alsa="no"
298    if test $have_alsa = "1"; then
299        config_have_alsa="yes"
300    fi
301    
302  # JACK  # JACK
303  AC_ARG_ENABLE(jack-driver,  AC_ARG_ENABLE(jack-driver,
# Line 264  if test "$config_jack_driver" = "yes"; t Line 313  if test "$config_jack_driver" = "yes"; t
313      if test $have_jack = "1"; then      if test $have_jack = "1"; then
314          AC_SUBST(JACK_LIBS)          AC_SUBST(JACK_LIBS)
315          AC_SUBST(JACK_CFLAGS)          AC_SUBST(JACK_CFLAGS)
316          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
317            LIBS="$JACK_LIBS $LIBS"
318            AC_CHECK_FUNCS(jack_client_name_size jack_client_open \
319                           jack_on_info_shutdown)
320            LIBS=$linuxsampler_save_LIBS
321          have_audio_output_driver="true";          have_audio_output_driver="true";
322      fi      fi
323  else  else
# Line 272  else Line 325  else
325  fi  fi
326  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
327  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.])
328    config_have_jack="no"
329    if test $have_jack = "1"; then
330        config_have_jack="yes"
331    fi
332    
333  # JACK MIDI  # JACK MIDI
334  have_jack_midi=0  have_jack_midi=0
# Line 295  fi Line 352  fi
352  AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")  AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")
353  AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,  AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,
354                     [Define to 1 if you have JACK with MIDI support installed.])                     [Define to 1 if you have JACK with MIDI support installed.])
355    config_have_jack_midi="no"
356    if test $have_jack_midi = "1"; then
357        config_have_jack_midi="yes"
358    fi
359    
360  # ARTS  # ARTS
361  AC_ARG_ENABLE(arts-driver,  AC_ARG_ENABLE(arts-driver,
# Line 317  else Line 378  else
378  fi  fi
379  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
380  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.])
381    config_have_arts="no"
382    if test $have_arts = "1"; then
383        config_have_arts="yes"
384    fi
385    
386  # ASIO AUDIO (Win32)  # ASIO AUDIO (Win32)
387  AC_ARG_ENABLE(asiosdk-dir,  AC_ARG_ENABLE(asiosdk-dir,
# Line 356  fi Line 421  fi
421  AC_SUBST(ASIOSDK_BASEDIR)  AC_SUBST(ASIOSDK_BASEDIR)
422  AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")  AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
423  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.])
424    config_have_asio="no"
425    if test $have_asio = "1"; then
426        config_have_asio="yes"
427    fi
428    
429  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
430  AC_ARG_ENABLE(midishare-driver,  AC_ARG_ENABLE(midishare-driver,
# Line 382  else Line 451  else
451  fi  fi
452  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
453  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.])
454    config_have_midishare="no"
455    if test $have_midishare = "1"; then
456        config_have_midishare="yes"
457    fi
458    
459  # CoreMIDI (OS X)  # CoreMIDI (OS X)
460  AC_ARG_ENABLE(coremidi-driver,  AC_ARG_ENABLE(coremidi-driver,
# Line 404  else Line 477  else
477  fi  fi
478  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
479  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.])
480    config_have_coremidi="no"
481    if test $have_coremidi = "1"; then
482        config_have_coremidi="yes"
483    fi
484    
485    # CoreAudio (OS X)
486    AC_ARG_ENABLE(coreaudio-driver,
487      [  --disable-coreaudio-driver
488                              Disable support for the Apple CoreAudio system.],
489      [config_coreaudio_driver="$enableval"],
490      [config_coreaudio_driver="yes"]
491    )
492    have_coreaudio=0
493    if test "$config_coreaudio_driver" = "yes"; then
494        AC_CHECK_HEADER(CoreAudio/CoreAudio.h,
495            have_coreaudio=1,
496            have_coreaudio=0
497        )
498        if test "$have_coreaudio" = "1"; then
499            have_audio_output_driver="true"
500        fi
501    else
502        echo "CoreAudio support disabled by configure script parameter"
503    fi
504    AM_CONDITIONAL(HAVE_COREAUDIO, test $have_coreaudio = "1")
505    AC_DEFINE_UNQUOTED(HAVE_COREAUDIO,$have_coreaudio,[Define to 1 if you have CoreAudio installed.])
506    config_have_coreaudio="no"
507    if test $have_coreaudio = "1"; then
508        config_have_coreaudio="yes"
509    fi
510    
511  # MME MIDI (Win32)  # MME MIDI (Win32)
512  AC_ARG_ENABLE(mmemidi-driver,  AC_ARG_ENABLE(mmemidi-driver,
# Line 426  else Line 529  else
529  fi  fi
530  AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")  AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")
531  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.])
532    config_have_mme="no"
533    if test $have_mmemidi = "1"; then
534        config_have_mme="yes"
535    fi
536    
537    # DSSI
538    AC_CHECK_HEADERS(dssi.h,
539            config_have_dssi="yes",
540            config_have_dssi="no")
541    AM_CONDITIONAL(HAVE_DSSI, test $config_have_dssi = "yes")
542    
543    # LV2
544    PKG_CHECK_MODULES(LV2, lv2 >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
545    if test "$config_have_lv2" != "yes"; then
546        PKG_CHECK_MODULES(LV2, lv2core >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
547    fi
548    AC_SUBST(LV2_CFLAGS)
549    AC_SUBST(LV2_LIBS)
550    AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")
551    
552    # VST
553    AC_ARG_ENABLE(vstsdk-dir,
554      [  --enable-vstsdk-dir
555                              Directory where the VST SDK is located.
556                              This automatically enables the compilation
557                              of the VST plugin.],
558      [VSTSDK_DIR="${enableval}"],
559      [VSTSDK_DIR=]
560    )
561    AC_SUBST(VSTSDK_DIR)
562    AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")
563    config_have_vst="no"
564    if test "x$VSTSDK_DIR" != "x"; then
565        config_have_vst="yes"
566    fi
567    
568    # AU
569    AC_CHECK_HEADERS(AudioUnit/AudioUnit.h,
570            config_have_au="yes",
571            config_have_au="no")
572    AM_CONDITIONAL(HAVE_AU, test $config_have_au = "yes")
573    AM_CONDITIONAL(HAVE_AUFLAGS, test "$AUFLAGS" != "")
574    
575    if test $config_have_au = "yes" ; then
576        if test "x$DEVELOPER_EXTRAS_DIR" = "x" ; then
577            if test -d /Developer/Extras ; then
578                DEVELOPER_EXTRAS_DIR=/Developer/Extras
579            else      
580                DEVELOPER_EXTRAS_DIR=/Developer/Examples
581            fi
582        fi
583        AC_SUBST(DEVELOPER_EXTRAS_DIR)
584    fi
585    
586    if test "x$MAC_PLUGIN_INSTALL_DIR" = "x" ; then
587        MAC_PLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins
588    fi
589    AC_SUBST(MAC_PLUGIN_INSTALL_DIR)
590    
591  # 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 ?
592  if test "$have_midi_input_driver" = "false"; then  if test "$have_midi_input_driver" = "false"; then
# Line 449  fi Line 610  fi
610  # Checks for various DLL libraries  # Checks for various DLL libraries
611    
612  # Check presence of libgig  # Check presence of libgig
613  libgig_version="3.2.1"  libgig_version="4.2.0"
614  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)
615  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
616      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 461  fi Line 622  fi
622  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
623  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
624    
625    # SF2 Engine (requires libgig)
626    AC_ARG_ENABLE(sf2-engine,
627      [  --disable-sf2-engine
628                              Disable compilation of the SF2 engine.
629                              You need to have libgig installed.],
630      [config_sf2_engine="$enableval"],
631      [config_sf2_engine="yes"]
632    )
633    HAVE_SF2=0;
634    if test "$config_sf2_engine" = "yes"; then
635        HAVE_SF2=1
636    else
637        echo "SF2 engine disabled by configure script parameter"
638    fi
639    AM_CONDITIONAL(HAVE_SF2, test $HAVE_SF2 = 1)
640    AC_DEFINE_UNQUOTED(HAVE_SF2,$HAVE_SF2,[Define to 1 if you want SF2 engine and have libsf2 installed.])
641    config_have_sf2="no"
642    if test $HAVE_SF2 = "1"; then
643        config_have_sf2="yes"
644    fi
645    
646    # Check presence of libsndfile
647    libsndfile_version="1.0"
648    PKG_CHECK_MODULES(SNDFILE, sndfile >= $libsndfile_version, HAVE_SNDFILE=true, HAVE_SNDFILE=false)
649    if test "$HAVE_SNDFILE" = "false"; then
650        echo "Required libsndfile version not found!"
651        echo "You need to have libsndfile version ${libsndfile_version} installed!"
652        exit -1;
653    else
654        echo "yes, found libsndfile $libsndfile_version"
655    fi
656    AC_SUBST(SNDFILE_CFLAGS)
657    AC_SUBST(SNDFILE_LIBS)
658    
659    # Check for Vorbis and FLAC support in libsndfile
660    linuxsampler_save_CFLAGS=$CFLAGS
661    CFLAGS="$SNDFILE_CFLAGS $CFLAGS"
662    AC_CHECK_DECLS([SF_FORMAT_VORBIS, SF_FORMAT_FLAC], [], [], [[#include <sndfile.h>]])
663    
664    # Check for loop functionality in libsndfile
665    AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],,
666                     [AC_MSG_WARN([Your version of libsndfile does not support
667        reading of loop information. LinuxSampler will not be able to
668        extract loop information from sample files.])],
669                     [#include <sndfile.h>])
670    CFLAGS=$linuxsampler_save_CFLAGS
671    
672  # Instruments DB feature (requires SQLite 3.3)  # Instruments DB feature (requires SQLite 3.3)
673  AC_ARG_ENABLE(instruments-db,  AC_ARG_ENABLE(instruments-db,
674    [  --disable-instruments-db    [  --disable-instruments-db
# Line 556  if test "$config_rt_exceptions" = "yes"; Line 764  if test "$config_rt_exceptions" = "yes";
764    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.])
765  fi  fi
766    
767    config_pthread_testcancel="$mac"
768  AC_ARG_ENABLE(pthread-testcancel,  AC_ARG_ENABLE(pthread-testcancel,
769    [  --enable-pthread-testcancel    [  --enable-pthread-testcancel
770                            Enable pthread_testcancel() calls and avoid asynchronous                            Enable pthread_testcancel() calls and avoid
771                            cancel of pthreads (default=no).],                            asynchronous cancel of pthreads (default=yes
772                              for Mac targets, no otherwise).],
773    [config_pthread_testcancel="$enableval"],    [config_pthread_testcancel="$enableval"],
774    [config_pthread_testcancel="no"]    [])
 )  
775  if test "$config_pthread_testcancel" = "yes"; then  if test "$config_pthread_testcancel" = "yes"; then
776    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.])
777  fi  fi
# Line 672  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_ Line 881  AC_DEFINE_UNQUOTED(CONFIG_STREAM_BUFFER_
881    
882  AC_ARG_ENABLE(max-streams,  AC_ARG_ENABLE(max-streams,
883    [  --enable-max-streams    [  --enable-max-streams
884                            Maximum amount of disk streams (default=90). This                            Initial maximum amount of disk streams
885                            value should always be higher than the maximum                            (default=90). This value can be changed at
886                            amount of voices.],                            runtime. It should always be higher than the
887                              maximum amount of voices.],
888    [config_max_streams="${enableval}"],    [config_max_streams="${enableval}"],
889    [config_max_streams="90"]    [config_max_streams="90"]
890  )  )
891  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.])
892    
893  AC_ARG_ENABLE(max-voices,  AC_ARG_ENABLE(max-voices,
894    [  --enable-max-voices    [  --enable-max-voices
895                            Maximum amount of voices (default=64). This value                            Initial maximum amount of voices (default=64).
896                            should always be lower than the maximum amount of                            This value can be changed at runtime. It should
897                            disk streams.],                            always be lower than the maximum amount of disk
898                              streams.],
899    [config_max_voices="${enableval}"],    [config_max_voices="${enableval}"],
900    [config_max_voices="64"]    [config_max_voices="64"]
901  )  )
902  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.])
903    
904  AC_ARG_ENABLE(subfragment-size,  AC_ARG_ENABLE(subfragment-size,
905    [  --enable-subfragment-size    [  --enable-subfragment-size
# Line 990  if test "$config_interpolate_volume" = " Line 1201  if test "$config_interpolate_volume" = "
1201    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.])
1202  fi  fi
1203    
1204    AC_ARG_ENABLE(master-volume-sysex-by-port,
1205      [  --enable-master-volume-sysex-by-port
1206                              Whether global volume sysex message should be
1207                              applied globally to the whole sampler or only to
1208                              the sampler channels connected to the same MIDI
1209                              input port on which the sysex message arrived on.
1210                              By default global volume sysex messages apply
1211                              globally to the whole sampler, since many MIDI
1212                              devices behave that way.],
1213      [config_master_volume_sysex_by_port="$enableval"],
1214      [config_master_volume_sysex_by_port="no"]
1215    )
1216    if test "$config_master_volume_sysex_by_port" = "yes"; then
1217      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.])
1218    fi
1219    
1220  AC_ARG_ENABLE(plugin-dir,  AC_ARG_ENABLE(plugin-dir,
1221    [  --enable-plugin-dir    [  --enable-plugin-dir
1222                            Directory where the sampler shall look for potential plugins,                            Directory where the sampler shall look for potential plugins,
# Line 1024  AC_SUBST(config_default_instruments_db_f Line 1251  AC_SUBST(config_default_instruments_db_f
1251  ###########################################################################  ###########################################################################
1252  # Automatic Benchmarks (to detect the best algorithms for the system)  # Automatic Benchmarks (to detect the best algorithms for the system)
1253    
 AC_LANG_SAVE  
   
1254  if test "$config_signed_triang_algo" = "benchmark"; then  if test "$config_signed_triang_algo" = "benchmark"; then
1255      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1256      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1257      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1258              #define SIGNED 1              #define SIGNED 1
1259              #define SILENT 1              #define SILENT 1
1260              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1261          ],          ]])],
1262          triang_signed=0,          triang_signed=0,
1263          triang_signed=$?,          triang_signed=$?,
1264          triang_signed=0          triang_signed=0
1265      )      )
1266        AC_LANG_POP([C++])
1267      if test "$triang_signed" = "2"; then      if test "$triang_signed" = "2"; then
1268          config_signed_triang_algo="intmath"          config_signed_triang_algo="intmath"
1269          echo "integer math"          echo "integer math"
# Line 1068  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ Line 1294  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_
1294    
1295  if test "$config_unsigned_triang_algo" = "benchmark"; then  if test "$config_unsigned_triang_algo" = "benchmark"; then
1296      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1297      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1298      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1299              #define SIGNED 0              #define SIGNED 0
1300              #define SILENT 1              #define SILENT 1
1301              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1302          ],          ]])],
1303          triang_unsigned=0,          triang_unsigned=0,
1304          triang_unsigned=$?,          triang_unsigned=$?,
1305          triang_unsigned=0          triang_unsigned=0
1306      )      )
1307        AC_LANG_POP([C++])
1308      if test "$triang_unsigned" = "2"; then      if test "$triang_unsigned" = "2"; then
1309          config_unsigned_triang_algo="intmath"          config_unsigned_triang_algo="intmath"
1310          echo "integer math"          echo "integer math"
# Line 1106  else Line 1333  else
1333  fi  fi
1334  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.])
1335    
 AC_LANG_RESTORE  
   
1336    
1337  ###########################################################################  ###########################################################################
1338  # Create Build Files  # Create Build Files
1339    
1340  AM_CONFIG_HEADER(config.h)  AC_CONFIG_HEADERS([config.h])
 AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")  
1341    
1342  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  
1343    
1344  # 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
1345  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
1346  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
1347    
1348  AC_OUTPUT( \  AC_CONFIG_FILES([\
1349      Makefile \      Makefile \
1350      man/Makefile \      man/Makefile \
1351      man/linuxsampler.1 \      man/linuxsampler.1 \
1352        man/lscp.1 \
1353      src/Makefile \      src/Makefile \
1354      src/db/Makefile \      src/db/Makefile \
1355      src/network/Makefile \      src/network/Makefile \
1356      src/engines/Makefile \      src/engines/Makefile \
1357      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1358        src/engines/sf2/Makefile \
1359        src/engines/sfz/Makefile \
1360      src/engines/common/Makefile \      src/engines/common/Makefile \
1361        src/effects/Makefile \
1362      src/common/Makefile \      src/common/Makefile \
1363      src/testcases/Makefile \      src/testcases/Makefile \
1364      src/drivers/Makefile \      src/drivers/Makefile \
1365      src/drivers/audio/Makefile \      src/drivers/audio/Makefile \
1366      src/drivers/midi/Makefile \      src/drivers/midi/Makefile \
1367      src/plugins/Makefile \      src/plugins/Makefile \
1368        src/hostplugins/Makefile \
1369        src/hostplugins/dssi/Makefile \
1370        src/hostplugins/lv2/Makefile \
1371        src/hostplugins/lv2/manifest.ttl \
1372        src/hostplugins/vst/Makefile \
1373        src/hostplugins/au/Makefile \
1374        src/scriptvm/Makefile \
1375        src/scriptvm/editor/Makefile \
1376        src/shell/Makefile \
1377      linuxsampler.spec \      linuxsampler.spec \
1378      debian/Makefile \      debian/Makefile \
1379      Artwork/Makefile \      Artwork/Makefile \
# Line 1156  AC_OUTPUT( \ Line 1385  AC_OUTPUT( \
1385      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
1386      linuxsampler.pc \      linuxsampler.pc \
1387      Doxyfile \      Doxyfile \
1388  )  ])
1389    AC_OUTPUT
1390    
1391  # resolve all nested variables in '${config_plugin_dir}'  # resolve all nested variables in '${config_plugin_dir}'
1392  # (merely for providing a human readable summary below)  # (merely for providing a human readable summary below)
# Line 1172  echo "" Line 1402  echo ""
1402  echo "#####################################################################"  echo "#####################################################################"
1403  echo "# LinuxSampler Configuration                                        #"  echo "# LinuxSampler Configuration                                        #"
1404  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1405    echo "# Release Version: ${VERSION}"
1406    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1407    echo "#-------------------------------------------------------------------"
1408  echo "# Assembly Optimizations: ${config_asm}"  echo "# Assembly Optimizations: ${config_asm}"
1409  echo "# Development Mode: ${config_dev_mode}"  echo "# Development Mode: ${config_dev_mode}"
1410  echo "# Debug Level: ${config_debug_level}"  echo "# Debug Level: ${config_debug_level}"
# Line 1185  echo "# Streams to be refilled per Disk Line 1418  echo "# Streams to be refilled per Disk
1418  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"  echo "# Minimum Stream Refill Size: ${config_stream_min_refill}"
1419  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"  echo "# Maximum Stream Refill Size: ${config_stream_max_refill}"
1420  echo "# Stream Size: ${config_stream_size}"  echo "# Stream Size: ${config_stream_size}"
1421  echo "# Maximum Disk Streams: ${config_max_streams}"  echo "# Default Maximum Disk Streams: ${config_max_streams}"
1422  echo "# Maximum Voices: ${config_max_voices}"  echo "# Default Maximum Voices: ${config_max_voices}"
1423  echo "# Default Subfragment Size: ${config_subfragment_size}"  echo "# Default Subfragment Size: ${config_subfragment_size}"
1424  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"  echo "# Default Global Volume Attenuation: ${config_global_attenuation_default}"
1425  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"  echo "# Voice Stealing Algorithm: ${config_voice_steal_algo}"
# Line 1205  echo "# Override Filter Type: ${config_o Line 1438  echo "# Override Filter Type: ${config_o
1438  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"  echo "# Assert GS SysEx Checksum: ${config_assert_gs_sysex_checksum}"
1439  echo "# Process Muted Channels: ${config_process_muted_channels}"  echo "# Process Muted Channels: ${config_process_muted_channels}"
1440  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"  echo "# Process All-Notes-Off MIDI message: ${config_process_all_notes_off}"
1441    echo "# Apply global volume SysEx by MIDI port: ${config_master_volume_sysex_by_port}"
1442  echo "# Interpolate Volume: ${config_interpolate_volume}"  echo "# Interpolate Volume: ${config_interpolate_volume}"
1443  echo "# Instruments database support: ${config_instruments_db}"  echo "# Instruments database support: ${config_instruments_db}"
1444  if test "$config_instruments_db" = "yes"; then  if test "$config_instruments_db" = "yes"; then
1445  echo "# Instruments DB default location: ${config_default_instruments_db_file}"  echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1446  fi  fi
1447  echo "# Plugin Path: ${config_plugin_dir}"  echo "# Plugin Path: ${config_plugin_dir}"
1448    echo "#-------------------------------------------------------------------"
1449    echo "# MIDI Input Drivers:"
1450    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}"
1451    echo "#-------------------------------------------------------------------"
1452    echo "# Audio Output Drivers:"
1453    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}"
1454    echo "#-------------------------------------------------------------------"
1455    echo "# Sampler Engines:"
1456    echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes"
1457    echo "#-------------------------------------------------------------------"
1458    echo "# Effect plugin systems for internal effects:"
1459    echo "# LADSPA: yes"
1460    echo "#-------------------------------------------------------------------"
1461    echo "# Building sampler as plugin for following host standards:"
1462    echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}"
1463  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1464  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
1465  echo "#####################################################################"  echo "#####################################################################"

Legend:
Removed from v.1695  
changed lines
  Added in v.3616

  ViewVC Help
Powered by ViewVC