/[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 1829 by iliev, Fri Jan 30 19:22:36 2009 UTC linuxsampler/trunk/configure.ac revision 3767 by schoenebeck, Fri May 15 19:28:13 2020 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.8cvs  m4_define(linuxsampler_release_build, 1.svn55)
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.8cvs Line 26  LINUXSAMPLER_RELEASE_BUILD=1.8cvs
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_INIT_AUTOMAKE([subdir-objects])
44    AC_PROG_CC
45  AC_PROG_CXX  AC_PROG_CXX
46  AC_LIBTOOL_WIN32_DLL  AC_LIBTOOL_WIN32_DLL
47  AM_PROG_LIBTOOL  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" | "x86_64")    "i386" | "i486" | "i586" | "i686" | "i786" | "x86_64")
77      echo "yes"      echo "yes"
78      def_arch_x86=1;;      def_arch_x86=1;;
# Line 74  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 -a "$target_cpu" != "x86_64"; 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 105  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 134  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 163  else Line 194  else
194      echo "NPTL glibc bug check disabled"      echo "NPTL glibc bug check disabled"
195  fi  fi
196    
197  # FIXME: this is actually a dependency of libgig, not of LS directly, why  
198  # isn't it hidden by libgig?  # check whether C++ compiler supports "designated initializers"
199  AC_CHECK_HEADERS(uuid/uuid.h)  echo -n "Checking whether C++ compiler supports designated initializers (partly)... "
200  AC_SEARCH_LIBS(uuid_generate, uuid)  AC_LANG_PUSH([C++])
201    AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
202        #include <stdlib.h>
203        struct Foo {
204            int   a;
205            float b;
206            bool  c;
207            char  d;
208        };
209        static void bar(Foo o) {
210        }
211        int main() {
212            bar({
213              .a = 2,
214              .b = 4.3f,
215              .c = true,
216              .d = 'z'
217            });
218            return 0;
219        }
220        ]])],
221        [cxx_designated_init_partly="yes"],
222        [cxx_designated_init_partly="no"]
223    )
224    AC_LANG_POP([C++])
225    if test $cxx_designated_init_partly = "yes"; then
226        echo "yes"
227    else
228        echo "NO"
229        echo '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
230        echo '!                                                             !'
231        echo '! ERROR: Selected C++ compiler does not support designated    !'
232        echo '! initializers at all, not even partly!                       !'
233        echo '!                                                             !'
234        echo '! Please either update your C++ compiler or select a          !'
235        echo '! different compiler (e.g. GCC >= 8 or clang >= 5). If you    !'
236        echo '! have several C++ compilers installed on your machine, you   !'
237        echo '! can easily select a different compiler by environment       !'
238        echo '! variable, e.g. to compile with clang instead:               !'
239        echo '!                                                             !'
240        echo '! CXX=clang++ CC=clang ./configure && make                    !'
241        echo '!                                                             !'
242        echo '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
243        exit -1
244    fi
245    echo -n "Checking whether C++ compiler fully supports designated initializers... "
246    AC_LANG_PUSH([C++])
247    AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
248        #include <stdlib.h>
249        struct Foo {
250            int   a;
251            float b;
252            bool  c;
253            char  d;
254        };
255        static void bar(Foo o) {
256        }
257        int main() {
258            bar({
259              .d = 'z',
260              .a = 2
261            });
262            return 0;
263        }
264        ]])],
265        [cxx_designated_init_fully="yes"],
266        [cxx_designated_init_fully="no"]
267    )
268    AC_LANG_POP([C++])
269    if test $cxx_designated_init_fully = "yes"; then
270        echo "yes"
271    else
272        echo 'NO'
273        echo '***************************************************************'
274        echo '*                                                             *'
275        echo '* WARNING: Selected C++ compiler does not fully support       *'
276        echo '* designated initializers (only partly)!                      *'
277        echo '*                                                             *'
278        echo '* You will be able to compile LinuxSampler, but you will not  *'
279        echo '* be able to compile the test cases. Consider updating your   *'
280        echo '* C++ compiler or switching to a different compiler. Chances  *'
281        echo '* are that LinuxSampler will soon no longer support your      *'
282        echo '* compiler.                                                   *'
283        echo '*                                                             *'
284        echo '* If you have several C++ compilers installed on your machine,*'
285        echo '* you can easily select a different compiler by environment   *'
286        echo '* variable, e.g. to compile with clang instead:               *'
287        echo '*                                                             *'
288        echo '* CXX=clang++ CC=clang ./configure && make                    *'
289        echo '*                                                             *'
290        echo '***************************************************************'
291    fi
292    
293    
294    # In case Bison is available, determine the exact version, since we need to
295    # use different custom parser code for Bison 2.x vs. Bison 3.x generated
296    # parser yacc tables.
297    if echo "$YACC" | grep -q bison; then
298        # NOTE: m4 removes [], that's why it needs to be escaped
299        bison_version=[`$YACC --version | head -n 1 | sed -e 's/[^0-9.]*\([-0-9.]\+\)$/\1/'`]
300        bison_version_major=`echo $bison_version | cut -d. -f1`
301        bison_version_minor=`echo $bison_version | cut -d. -f2`
302        AC_DEFINE_UNQUOTED(HAVE_BISON_MAJ,$bison_version_major,[Define to the major version of the GNU Bison program installed.])
303        AC_DEFINE_UNQUOTED(HAVE_BISON_MIN,$bison_version_minor,[Define to the minor version of the GNU Bison program installed.])
304    fi
305    
306    
307    
# Line 202  if test "$config_alsa_driver" = "yes"; t Line 337  if test "$config_alsa_driver" = "yes"; t
337      fi      fi
338    
339      echo -n "checking Alsa version... "      echo -n "checking Alsa version... "
340      AC_LANG_SAVE      AC_LANG_PUSH([C])
341      AC_LANG_C      AC_RUN_IFELSE([AC_LANG_SOURCE([[
     AC_TRY_RUN([  
342          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
343          void main(void) {          void main(void) {
344              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 213  if test "$config_alsa_driver" = "yes"; t Line 347  if test "$config_alsa_driver" = "yes"; t
347              #endif              #endif
348              exit(SND_LIB_MAJOR);              exit(SND_LIB_MAJOR);
349          }          }
350      ],      ]])],
351      alsa_major=0,      alsa_major=0,
352      alsa_major=$?,      alsa_major=$?,
353      alsa_major=0      alsa_major=0
354      )      )
355      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
356          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
357          void main(void) {          void main(void) {
358              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 227  if test "$config_alsa_driver" = "yes"; t Line 361  if test "$config_alsa_driver" = "yes"; t
361              #endif              #endif
362              exit(SND_LIB_MINOR);              exit(SND_LIB_MINOR);
363          }          }
364      ],      ]])],
365      alsa_minor=0,      alsa_minor=0,
366      alsa_minor=$?,      alsa_minor=$?,
367      alsa_minor=0      alsa_minor=0
368      )      )
369      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
370          #include <alsa/asoundlib.h>          #include <alsa/asoundlib.h>
371          void main(void) {          void main(void) {
372              /* ensure backward compatibility */              /* ensure backward compatibility */
# Line 241  if test "$config_alsa_driver" = "yes"; t Line 375  if test "$config_alsa_driver" = "yes"; t
375              #endif              #endif
376              exit(SND_LIB_SUBMINOR);              exit(SND_LIB_SUBMINOR);
377          }          }
378      ],      ]])],
379      alsa_subminor=0,      alsa_subminor=0,
380      alsa_subminor=$?,      alsa_subminor=$?,
381      alsa_subminor=0      alsa_subminor=0
382      )      )
383      AC_LANG_RESTORE      AC_LANG_POP([C])
384      echo "$alsa_major.$alsa_minor.$alsa_subminor";      echo "$alsa_major.$alsa_minor.$alsa_subminor";
385      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.])
386      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 256  else Line 390  else
390  fi  fi
391  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")  AM_CONDITIONAL(HAVE_ALSA, test $have_alsa = "1")
392  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.])
393    config_have_alsa="no"
394    if test $have_alsa = "1"; then
395        config_have_alsa="yes"
396    fi
397    
398  # JACK  # JACK
399  AC_ARG_ENABLE(jack-driver,  AC_ARG_ENABLE(jack-driver,
# Line 273  if test "$config_jack_driver" = "yes"; t Line 411  if test "$config_jack_driver" = "yes"; t
411          AC_SUBST(JACK_CFLAGS)          AC_SUBST(JACK_CFLAGS)
412          linuxsampler_save_LIBS=$LIBS          linuxsampler_save_LIBS=$LIBS
413          LIBS="$JACK_LIBS $LIBS"          LIBS="$JACK_LIBS $LIBS"
414          AC_CHECK_FUNCS(jack_client_name_size jack_client_open)          AC_CHECK_FUNCS(jack_client_name_size jack_client_open \
415                           jack_on_info_shutdown)
416          LIBS=$linuxsampler_save_LIBS          LIBS=$linuxsampler_save_LIBS
417          have_audio_output_driver="true";          have_audio_output_driver="true";
418      fi      fi
# Line 282  else Line 421  else
421  fi  fi
422  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")  AM_CONDITIONAL(HAVE_JACK, test $have_jack = "1")
423  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.])
424    config_have_jack="no"
425    if test $have_jack = "1"; then
426        config_have_jack="yes"
427    fi
428    
429  # JACK MIDI  # JACK MIDI
430  have_jack_midi=0  have_jack_midi=0
# Line 305  fi Line 448  fi
448  AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")  AM_CONDITIONAL(HAVE_JACK_MIDI, test $have_jack_midi = "1")
449  AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,  AC_DEFINE_UNQUOTED(HAVE_JACK_MIDI, $have_jack_midi,
450                     [Define to 1 if you have JACK with MIDI support installed.])                     [Define to 1 if you have JACK with MIDI support installed.])
451    config_have_jack_midi="no"
452    if test $have_jack_midi = "1"; then
453        config_have_jack_midi="yes"
454    fi
455    
456  # ARTS  # ARTS
457  AC_ARG_ENABLE(arts-driver,  AC_ARG_ENABLE(arts-driver,
# Line 327  else Line 474  else
474  fi  fi
475  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")  AM_CONDITIONAL(HAVE_ARTS, test "$have_arts" = "1")
476  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.])
477    config_have_arts="no"
478    if test $have_arts = "1"; then
479        config_have_arts="yes"
480    fi
481    
482  # ASIO AUDIO (Win32)  # ASIO AUDIO (Win32)
483  AC_ARG_ENABLE(asiosdk-dir,  AC_ARG_ENABLE(asiosdk-dir,
# Line 366  fi Line 517  fi
517  AC_SUBST(ASIOSDK_BASEDIR)  AC_SUBST(ASIOSDK_BASEDIR)
518  AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")  AM_CONDITIONAL(HAVE_ASIO, test $have_asio = "1")
519  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.])
520    config_have_asio="no"
521    if test $have_asio = "1"; then
522        config_have_asio="yes"
523    fi
524    
525  # MidiShare (Linux, OS X, Windows)  # MidiShare (Linux, OS X, Windows)
526  AC_ARG_ENABLE(midishare-driver,  AC_ARG_ENABLE(midishare-driver,
# Line 392  else Line 547  else
547  fi  fi
548  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")  AM_CONDITIONAL(HAVE_MIDISHARE, test $have_midishare = "1")
549  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.])
550    config_have_midishare="no"
551    if test $have_midishare = "1"; then
552        config_have_midishare="yes"
553    fi
554    
555  # CoreMIDI (OS X)  # CoreMIDI (OS X)
556  AC_ARG_ENABLE(coremidi-driver,  AC_ARG_ENABLE(coremidi-driver,
# Line 414  else Line 573  else
573  fi  fi
574  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")  AM_CONDITIONAL(HAVE_COREMIDI, test $have_coremidi = "1")
575  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.])
576    config_have_coremidi="no"
577    if test $have_coremidi = "1"; then
578        config_have_coremidi="yes"
579    fi
580    
581  # CoreAudio (OS X)  # CoreAudio (OS X)
582  AC_ARG_ENABLE(coreaudio-driver,  AC_ARG_ENABLE(coreaudio-driver,
# Line 436  else Line 599  else
599  fi  fi
600  AM_CONDITIONAL(HAVE_COREAUDIO, test $have_coreaudio = "1")  AM_CONDITIONAL(HAVE_COREAUDIO, test $have_coreaudio = "1")
601  AC_DEFINE_UNQUOTED(HAVE_COREAUDIO,$have_coreaudio,[Define to 1 if you have CoreAudio installed.])  AC_DEFINE_UNQUOTED(HAVE_COREAUDIO,$have_coreaudio,[Define to 1 if you have CoreAudio installed.])
602    config_have_coreaudio="no"
603    if test $have_coreaudio = "1"; then
604        config_have_coreaudio="yes"
605    fi
606    
607  # MME MIDI (Win32)  # MME MIDI (Win32)
608  AC_ARG_ENABLE(mmemidi-driver,  AC_ARG_ENABLE(mmemidi-driver,
# Line 458  else Line 625  else
625  fi  fi
626  AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")  AM_CONDITIONAL(HAVE_MME_MIDI, test $have_mmemidi = "1")
627  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.])
628    config_have_mme="no"
629    if test $have_mmemidi = "1"; then
630        config_have_mme="yes"
631    fi
632    
633  # DSSI  # DSSI
634  AC_CHECK_HEADERS(dssi.h,  AC_CHECK_HEADERS(dssi.h,
635          have_dssi=1,          config_have_dssi="yes",
636          have_dssi=0)          config_have_dssi="no")
637  AM_CONDITIONAL(HAVE_DSSI, test $have_dssi = "1")  AM_CONDITIONAL(HAVE_DSSI, test $config_have_dssi = "yes")
638    
639  # LV2  # LV2
640  PKG_CHECK_MODULES(LV2, lv2core, have_lv2=1, have_lv2=0)  PKG_CHECK_MODULES(LV2, lv2 >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
641  if test $have_lv2 = "0"; then  if test "$config_have_lv2" != "yes"; then
642      AC_CHECK_HEADER(lv2.h, have_lv2=1, have_lv2=0)      PKG_CHECK_MODULES(LV2, lv2core >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
643  fi  fi
644  AM_CONDITIONAL(HAVE_LV2, test $have_lv2 = "1")  AC_SUBST(LV2_CFLAGS)
645    AC_SUBST(LV2_LIBS)
646    AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")
647    
648  # VST  # VST
649  AC_ARG_ENABLE(vstsdk-dir,  AC_ARG_ENABLE(vstsdk-dir,
# Line 484  AC_ARG_ENABLE(vstsdk-dir, Line 656  AC_ARG_ENABLE(vstsdk-dir,
656  )  )
657  AC_SUBST(VSTSDK_DIR)  AC_SUBST(VSTSDK_DIR)
658  AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")  AM_CONDITIONAL(HAVE_VST, test "x$VSTSDK_DIR" != "x")
659    config_have_vst="no"
660    if test "x$VSTSDK_DIR" != "x"; then
661        config_have_vst="yes"
662    fi
663    
664    # AU
665    AC_CHECK_HEADERS(AudioUnit/AudioUnit.h,
666            config_have_au="yes",
667            config_have_au="no")
668    AM_CONDITIONAL(HAVE_AU, test $config_have_au = "yes")
669    AM_CONDITIONAL(HAVE_AUFLAGS, test "$AUFLAGS" != "")
670    
671    if test $config_have_au = "yes" ; then
672        if test "x$DEVELOPER_EXTRAS_DIR" = "x" ; then
673            if test -d /Developer/Extras ; then
674                DEVELOPER_EXTRAS_DIR=/Developer/Extras
675            else      
676                DEVELOPER_EXTRAS_DIR=/Developer/Examples
677            fi
678        fi
679        AC_SUBST(DEVELOPER_EXTRAS_DIR)
680    fi
681    
682    if test "x$MAC_PLUGIN_INSTALL_DIR" = "x" ; then
683        MAC_PLUGIN_INSTALL_DIR=/Library/Audio/Plug-Ins
684    fi
685    AC_SUBST(MAC_PLUGIN_INSTALL_DIR)
686    
687  # 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 ?
688  if test "$have_midi_input_driver" = "false"; then  if test "$have_midi_input_driver" = "false"; then
# Line 508  fi Line 706  fi
706  # Checks for various DLL libraries  # Checks for various DLL libraries
707    
708  # Check presence of libgig  # Check presence of libgig
709  libgig_version="3.2.1"  libgig_version="4.2.0"
710  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)
711  if test "$HAVE_GIG" = "false"; then  if test "$HAVE_GIG" = "false"; then
712      echo "Required libgig version not found!"      echo "Required libgig version not found!"
# Line 520  fi Line 718  fi
718  AC_SUBST(GIG_CFLAGS)  AC_SUBST(GIG_CFLAGS)
719  AC_SUBST(GIG_LIBS)  AC_SUBST(GIG_LIBS)
720    
721    # SF2 Engine (requires libgig)
722    AC_ARG_ENABLE(sf2-engine,
723      [  --disable-sf2-engine
724                              Disable compilation of the SF2 engine.
725                              You need to have libgig installed.],
726      [config_sf2_engine="$enableval"],
727      [config_sf2_engine="yes"]
728    )
729    HAVE_SF2=0;
730    if test "$config_sf2_engine" = "yes"; then
731        HAVE_SF2=1
732    else
733        echo "SF2 engine disabled by configure script parameter"
734    fi
735    AM_CONDITIONAL(HAVE_SF2, test $HAVE_SF2 = 1)
736    AC_DEFINE_UNQUOTED(HAVE_SF2,$HAVE_SF2,[Define to 1 if you want SF2 engine and have libsf2 installed.])
737    config_have_sf2="no"
738    if test $HAVE_SF2 = "1"; then
739        config_have_sf2="yes"
740    fi
741    
742    # Check presence of libsndfile
743    libsndfile_version="1.0"
744    PKG_CHECK_MODULES(SNDFILE, sndfile >= $libsndfile_version, HAVE_SNDFILE=true, HAVE_SNDFILE=false)
745    if test "$HAVE_SNDFILE" = "false"; then
746        echo "Required libsndfile version not found!"
747        echo "You need to have libsndfile version ${libsndfile_version} installed!"
748        exit -1;
749    else
750        echo "yes, found libsndfile $libsndfile_version"
751    fi
752    AC_SUBST(SNDFILE_CFLAGS)
753    AC_SUBST(SNDFILE_LIBS)
754    
755    # Check for Vorbis and FLAC support in libsndfile
756    linuxsampler_save_CFLAGS=$CFLAGS
757    CFLAGS="$SNDFILE_CFLAGS $CFLAGS"
758    AC_CHECK_DECLS([SF_FORMAT_VORBIS, SF_FORMAT_FLAC], [], [], [[#include <sndfile.h>]])
759    
760    # Check for loop functionality in libsndfile
761    AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],,
762                     [AC_MSG_WARN([Your version of libsndfile does not support
763        reading of loop information. LinuxSampler will not be able to
764        extract loop information from sample files.])],
765                     [#include <sndfile.h>])
766    CFLAGS=$linuxsampler_save_CFLAGS
767    
768  # Instruments DB feature (requires SQLite 3.3)  # Instruments DB feature (requires SQLite 3.3)
769  AC_ARG_ENABLE(instruments-db,  AC_ARG_ENABLE(instruments-db,
770    [  --disable-instruments-db    [  --disable-instruments-db
# Line 615  if test "$config_rt_exceptions" = "yes"; Line 860  if test "$config_rt_exceptions" = "yes";
860    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.])
861  fi  fi
862    
863  AC_ARG_ENABLE(pthread-testcancel,  AC_CHECK_FUNC(pthread_testcancel,
864    [  --enable-pthread-testcancel    [config_pthread_testcancel="yes"],
                           Enable pthread_testcancel() calls and avoid asynchronous  
                           cancel of pthreads (default=no).],  
   [config_pthread_testcancel="$enableval"],  
865    [config_pthread_testcancel="no"]    [config_pthread_testcancel="no"]
866  )  )
867  if test "$config_pthread_testcancel" = "yes"; then  if test "$config_pthread_testcancel" = "yes"; then
868    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 if pthread_testcancel() is available.])
869  fi  fi
870    
871  AC_ARG_ENABLE(preload-samples,  AC_ARG_ENABLE(preload-samples,
# Line 1101  AC_SUBST(config_default_instruments_db_f Line 1343  AC_SUBST(config_default_instruments_db_f
1343  ###########################################################################  ###########################################################################
1344  # Automatic Benchmarks (to detect the best algorithms for the system)  # Automatic Benchmarks (to detect the best algorithms for the system)
1345    
 AC_LANG_SAVE  
   
1346  if test "$config_signed_triang_algo" = "benchmark"; then  if test "$config_signed_triang_algo" = "benchmark"; then
1347      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "      echo -n "benchmarking for the best (signed) triangular oscillator algorithm... "
1348      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1349      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1350              #define SIGNED 1              #define SIGNED 1
1351              #define SILENT 1              #define SILENT 1
1352              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1353          ],          ]])],
1354          triang_signed=0,          triang_signed=0,
1355          triang_signed=$?,          triang_signed=$?,
1356          triang_signed=0          triang_signed=0
1357      )      )
1358        AC_LANG_POP([C++])
1359      if test "$triang_signed" = "2"; then      if test "$triang_signed" = "2"; then
1360          config_signed_triang_algo="intmath"          config_signed_triang_algo="intmath"
1361          echo "integer math"          echo "integer math"
# Line 1145  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_ Line 1386  AC_DEFINE_UNQUOTED(CONFIG_SIGNED_TRIANG_
1386    
1387  if test "$config_unsigned_triang_algo" = "benchmark"; then  if test "$config_unsigned_triang_algo" = "benchmark"; then
1388      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "      echo -n "benchmarking for the best (unsigned) triangular oscillator algorithm... "
1389      AC_LANG_CPLUSPLUS      AC_LANG_PUSH([C++])
1390      AC_TRY_RUN([      AC_RUN_IFELSE([AC_LANG_SOURCE([[
1391              #define SIGNED 0              #define SIGNED 0
1392              #define SILENT 1              #define SILENT 1
1393              #include "${srcdir}/benchmarks/triang.cpp"              #include "${srcdir}/benchmarks/triang.cpp"
1394          ],          ]])],
1395          triang_unsigned=0,          triang_unsigned=0,
1396          triang_unsigned=$?,          triang_unsigned=$?,
1397          triang_unsigned=0          triang_unsigned=0
1398      )      )
1399        AC_LANG_POP([C++])
1400      if test "$triang_unsigned" = "2"; then      if test "$triang_unsigned" = "2"; then
1401          config_unsigned_triang_algo="intmath"          config_unsigned_triang_algo="intmath"
1402          echo "integer math"          echo "integer math"
# Line 1183  else Line 1425  else
1425  fi  fi
1426  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.])
1427    
 AC_LANG_RESTORE  
   
1428    
1429  ###########################################################################  ###########################################################################
1430  # Create Build Files  # Create Build Files
1431    
1432  AM_CONFIG_HEADER(config.h)  AC_CONFIG_HEADERS([config.h])
 AM_INIT_AUTOMAKE(linuxsampler, "$LINUXSAMPLER_RELEASE_MAJOR.$LINUXSAMPLER_RELEASE_MINOR.$LINUXSAMPLER_RELEASE_BUILD")  
   
 AC_LANG_CPLUSPLUS  
1433    
1434  # some gcc 4.0 versions need -msse for SSE register allocations  AC_LANG([C++])
 if test "$config_asm" = "yes"; then  
   if test "$def_arch_x86" = 1; then  
     CXXFLAGS="$CXXFLAGS -msse"  
   fi  
 fi  
1435    
1436  # 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
1437  # this, the dlfcn.h check in am_prog_libtool may fail.  # this, the dlfcn.h check in am_prog_libtool may fail.
1438  AC_CHECK_HEADER(stdlib.h)  AC_CHECK_HEADER(stdlib.h)
1439    
1440  AC_OUTPUT( \  AC_CONFIG_FILES([\
1441      Makefile \      Makefile \
1442      man/Makefile \      man/Makefile \
1443      man/linuxsampler.1 \      man/linuxsampler.1 \
1444        man/lscp.1 \
1445      src/Makefile \      src/Makefile \
1446      src/db/Makefile \      src/db/Makefile \
1447      src/network/Makefile \      src/network/Makefile \
1448      src/engines/Makefile \      src/engines/Makefile \
1449      src/engines/gig/Makefile \      src/engines/gig/Makefile \
1450        src/engines/sf2/Makefile \
1451        src/engines/sfz/Makefile \
1452      src/engines/common/Makefile \      src/engines/common/Makefile \
1453      src/effects/Makefile \      src/effects/Makefile \
1454      src/common/Makefile \      src/common/Makefile \
# Line 1225  AC_OUTPUT( \ Line 1460  AC_OUTPUT( \
1460      src/hostplugins/Makefile \      src/hostplugins/Makefile \
1461      src/hostplugins/dssi/Makefile \      src/hostplugins/dssi/Makefile \
1462      src/hostplugins/lv2/Makefile \      src/hostplugins/lv2/Makefile \
1463        src/hostplugins/lv2/manifest.ttl \
1464      src/hostplugins/vst/Makefile \      src/hostplugins/vst/Makefile \
1465        src/hostplugins/au/Makefile \
1466        src/scriptvm/Makefile \
1467        src/scriptvm/editor/Makefile \
1468        src/shell/Makefile \
1469      linuxsampler.spec \      linuxsampler.spec \
1470      debian/Makefile \      debian/Makefile \
1471      Artwork/Makefile \      Artwork/Makefile \
# Line 1237  AC_OUTPUT( \ Line 1477  AC_OUTPUT( \
1477      Documentation/Engines/gig/Makefile \      Documentation/Engines/gig/Makefile \
1478      linuxsampler.pc \      linuxsampler.pc \
1479      Doxyfile \      Doxyfile \
1480  )  ])
1481    AC_OUTPUT
1482    
1483  # resolve all nested variables in '${config_plugin_dir}'  # resolve all nested variables in '${config_plugin_dir}'
1484  # (merely for providing a human readable summary below)  # (merely for providing a human readable summary below)
# Line 1253  echo "" Line 1494  echo ""
1494  echo "#####################################################################"  echo "#####################################################################"
1495  echo "# LinuxSampler Configuration                                        #"  echo "# LinuxSampler Configuration                                        #"
1496  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1497    echo "# Release Version: ${VERSION}"
1498    echo "# LSCP Version: ${LSCP_RELEASE_MAJOR}.${LSCP_RELEASE_MINOR}"
1499    echo "#-------------------------------------------------------------------"
1500  echo "# Assembly Optimizations: ${config_asm}"  echo "# Assembly Optimizations: ${config_asm}"
1501  echo "# Development Mode: ${config_dev_mode}"  echo "# Development Mode: ${config_dev_mode}"
1502  echo "# Debug Level: ${config_debug_level}"  echo "# Debug Level: ${config_debug_level}"
# Line 1293  if test "$config_instruments_db" = "yes" Line 1537  if test "$config_instruments_db" = "yes"
1537  echo "# Instruments DB default location: ${config_default_instruments_db_file}"  echo "# Instruments DB default location: ${config_default_instruments_db_file}"
1538  fi  fi
1539  echo "# Plugin Path: ${config_plugin_dir}"  echo "# Plugin Path: ${config_plugin_dir}"
1540    echo "#-------------------------------------------------------------------"
1541    echo "# MIDI Input Drivers:"
1542    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack_midi}, CoreMIDI: ${config_have_coremidi}, MME: ${config_have_mme}, MidiShare: ${config_have_midishare}"
1543    echo "#-------------------------------------------------------------------"
1544    echo "# Audio Output Drivers:"
1545    echo "# ALSA: ${config_have_alsa}, JACK: ${config_have_jack}, ARTS: ${config_have_arts}, CoreAudio: ${config_have_coreaudio}, ASIO: ${config_have_asio}"
1546    echo "#-------------------------------------------------------------------"
1547    echo "# Sampler Engines:"
1548    echo "# GIG: yes, SF2: ${config_have_sf2}, SFZ: yes"
1549    echo "#-------------------------------------------------------------------"
1550    echo "# Effect plugin systems for internal effects:"
1551    echo "# LADSPA: yes"
1552    echo "#-------------------------------------------------------------------"
1553    echo "# Building sampler as plugin for following host standards:"
1554    echo "# DSSI: ${config_have_dssi}, LV2: ${config_have_lv2}, VST: ${config_have_vst}, AU: ${config_have_au}"
1555  echo "#-------------------------------------------------------------------#"  echo "#-------------------------------------------------------------------#"
1556  echo "# Read './configure --help' or file 'configure.in' for details.     #"  echo "# Read './configure --help' or file 'configure.in' for details.     #"
1557  echo "#####################################################################"  echo "#####################################################################"

Legend:
Removed from v.1829  
changed lines
  Added in v.3767

  ViewVC Help
Powered by ViewVC