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

Diff of /linuxsampler/trunk/configure.ac

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

revision 2473 by schoenebeck, Sun Sep 15 17:55:56 2013 UTC revision 3764 by schoenebeck, Sun Apr 5 21:41:27 2020 UTC
# Line 1  Line 1 
1  #------------------------------------------------------------------------------------  #------------------------------------------------------------------------------------
2  # LinuxSampler's / liblinuxsampler's "official" release version:  # LinuxSampler's / liblinuxsampler's "official" release version:
3    
4  m4_define(linuxsampler_release_major, 1)  m4_define(linuxsampler_release_major, 2)
5  m4_define(linuxsampler_release_minor, 0)  m4_define(linuxsampler_release_minor, 1)
6  m4_define(linuxsampler_release_build, 0.svn23)  m4_define(linuxsampler_release_build, 1.svn52)
7    
8    
9  AC_INIT([linuxsampler],[linuxsampler_release_major.linuxsampler_release_minor.linuxsampler_release_build])  AC_INIT([linuxsampler],[linuxsampler_release_major.linuxsampler_release_minor.linuxsampler_release_build])
# Line 26  AC_CONFIG_SRCDIR([configure.ac]) Line 26  AC_CONFIG_SRCDIR([configure.ac])
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=3  LIBLINUXSAMPLER_LT_CURRENT=5
30  LIBLINUXSAMPLER_LT_REVISION=0  LIBLINUXSAMPLER_LT_REVISION=0
31  LIBLINUXSAMPLER_LT_AGE=0  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"
# Line 35  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT Line 35  SHARED_VERSION_INFO="$LIBLINUXSAMPLER_LT
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=5  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  AC_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)
# Line 60  PKG_PROG_PKG_CONFIG Line 64  PKG_PROG_PKG_CONFIG
64    
65  AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)  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 $host_cpu in  case $host_cpu in
# Line 148  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 177  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 290  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 516  AM_CONDITIONAL(HAVE_DSSI, test $config_h Line 638  AM_CONDITIONAL(HAVE_DSSI, test $config_h
638    
639  # LV2  # LV2
640  PKG_CHECK_MODULES(LV2, lv2 >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")  PKG_CHECK_MODULES(LV2, lv2 >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
641    if test "$config_have_lv2" != "yes"; then
642        PKG_CHECK_MODULES(LV2, lv2core >= 1.0.0, config_have_lv2="yes", config_have_lv2="no")
643    fi
644  AC_SUBST(LV2_CFLAGS)  AC_SUBST(LV2_CFLAGS)
645  AC_SUBST(LV2_LIBS)  AC_SUBST(LV2_LIBS)
646  AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")  AM_CONDITIONAL(HAVE_LV2, test $config_have_lv2 = "yes")
# Line 581  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.3.0"  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 735  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  config_pthread_testcancel="$mac"  AC_CHECK_FUNC(pthread_testcancel,
864  AC_ARG_ENABLE(pthread-testcancel,    [config_pthread_testcancel="yes"],
865    [  --enable-pthread-testcancel    [config_pthread_testcancel="no"]
866                            Enable pthread_testcancel() calls and avoid  )
                           asynchronous cancel of pthreads (default=yes  
                           for Mac targets, no otherwise).],  
   [config_pthread_testcancel="$enableval"],  
   [])  
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 1309  AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIAN Line 1430  AC_DEFINE_UNQUOTED(CONFIG_UNSIGNED_TRIAN
1430  # Create Build Files  # Create Build Files
1431    
1432  AC_CONFIG_HEADERS([config.h])  AC_CONFIG_HEADERS([config.h])
 AM_INIT_AUTOMAKE  
1433    
1434  AC_LANG([C++])  AC_LANG([C++])
1435    
# Line 1321  AC_CONFIG_FILES([\ Line 1441  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 \
# Line 1342  AC_CONFIG_FILES([\ Line 1463  AC_CONFIG_FILES([\
1463      src/hostplugins/lv2/manifest.ttl \      src/hostplugins/lv2/manifest.ttl \
1464      src/hostplugins/vst/Makefile \      src/hostplugins/vst/Makefile \
1465      src/hostplugins/au/Makefile \      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 \

Legend:
Removed from v.2473  
changed lines
  Added in v.3764

  ViewVC Help
Powered by ViewVC