X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=config%2Flyxinclude.m4;h=ead704b1665f17da4f7a3384aa3cb8bae184188c;hb=76a693a94566f0843f859de84ed2e7ff5620c941;hp=227dd93f12f16d84f833be719de4cebd3b9b4139;hpb=7293fc7b66aebb9339c25ba87c4acf4f87f49973;p=lyx.git diff --git a/config/lyxinclude.m4 b/config/lyxinclude.m4 index 227dd93f12..ead704b166 100644 --- a/config/lyxinclude.m4 +++ b/config/lyxinclude.m4 @@ -3,6 +3,12 @@ dnl Author: Jean-Marc Lasgouttes (Jean-Marc.Lasgouttes@inria.fr) dnl Lars Gullik Bjønnes (larsbj@lyx.org) dnl Allan Rae (rae@lyx.org) +dnl Compute the default build type from AC_PACKAGE_VERSION at autoconf time. +m4_define([LYX_BUILD_TYPE], [m4_bmatch(AC_PACKAGE_VERSION, + [dev], [development], + [pre\|alpha\|beta\|rc], [prerelease], + [release])]) + dnl Usage LYX_CHECK_VERSION Displays version of LyX being built and dnl sets variable "build_type" @@ -13,7 +19,7 @@ AC_MSG_CHECKING([for build type]) lyx_devel_version=no lyx_prerelease=no AC_ARG_ENABLE(build-type, - AC_HELP_STRING([--enable-build-type=TYPE],[set build setting according to TYPE=rel(ease), pre(release), dev(elopment), prof(iling), gprof]), + AC_HELP_STRING([--enable-build-type=STR],[set build type to rel(ease), pre(release), dev(elopment), prof(iling), or gprof (default: LYX_BUILD_TYPE)]), [case $enableval in dev*) build_type=development;; pre*) build_type=prerelease;; @@ -22,16 +28,11 @@ AC_ARG_ENABLE(build-type, rel*) build_type=release;; *) AC_MSG_ERROR([bad build type specification \"$enableval\". Please use one of rel(ease), pre(release), dev(elopment), prof(iling), or gprof]);; esac], - [case AC_PACKAGE_VERSION in - *dev*) build_type=development;; - *pre*|*alpha*|*beta*|*rc*) build_type=prerelease;; - *) build_type=release ;; - esac]) + [build_type=LYX_BUILD_TYPE]) AC_MSG_RESULT([$build_type]) lyx_flags="$lyx_flags build=$build_type" case $build_type in development) lyx_devel_version=yes - AC_DEFINE(DEVEL_VERSION, 1, [Define if you are building a development version of LyX]) LYX_DATE="not released yet" ;; prerelease) lyx_prerelease=yes ;; esac @@ -48,7 +49,7 @@ AC_MSG_CHECKING([for version suffix]) dnl We need the literal double quotes in the rpm spec file RPM_VERSION_SUFFIX='""' AC_ARG_WITH(version-suffix, - [AC_HELP_STRING([--with-version-suffix@<:@=VERSION@:>@], install lyx files as lyxVERSION (VERSION=-AC_PACKAGE_VERSION))], + [AC_HELP_STRING([--with-version-suffix@<:@=STR@:>@], install lyx files as lyxSTR (default STR: -AC_PACKAGE_VERSION))], [if test "x$withval" = "xyes"; then withval="-"AC_PACKAGE_VERSION @@ -143,64 +144,101 @@ AC_DEFUN([LYX_PROG_CLANG], #endif ], [lyx_cv_prog_clang=yes ; CLANG=yes], [lyx_cv_prog_clang=no ; CLANG=no])]) +if test $CLANG = yes ; then + AC_CACHE_CHECK([for clang version], + [lyx_cv_clang_version], + [clang_noversion=no + AC_COMPUTE_INT(clang_major,__clang_major__,,[clang_noversion_=yes]) + AC_COMPUTE_INT(clang_minor,__clang_minor__,,[clang_noversion_=yes]) + AC_COMPUTE_INT(clang_patchlevel,__clang_patchlevel__,,[clang_noversion_=yes]) + if test $clang_noversion = yes ; then + clang_version=unknown + else + clang_version=$clang_major.$clang_minor.$clang_patchlevel + fi + lyx_cv_clang_version=$clang_version]) +fi ]) -dnl Usage: LYX_CXX_CXX11: set lyx_use_cxx11 to yes if the compiler implements -dnl the C++11 standard. -AC_DEFUN([LYX_CXX_CXX11], -[AC_CACHE_CHECK([whether the compiler implements C++11], - [lyx_cv_cxx_cxx11], - [save_CPPFLAGS=$CPPFLAGS - CPPFLAGS="$AM_CPPFLAGS $CPPFLAGS" - save_CXXFLAGS=$CXXFLAGS - CXXFLAGS="$AM_CXXFLAGS $CXXFLAGS" - AC_LANG_PUSH(C++) - AC_TRY_COMPILE([], [ -#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) - this is a c++11 compiler -#endif - ], - [lyx_cv_cxx_cxx11=no], [lyx_cv_cxx_cxx11=yes ; lyx_flags="$lyx_flags c++11"]) - AC_LANG_POP(C++) - CXXFLAGS=$save_CXXFLAGS - CPPFLAGS=$save_CPPFLAGS]) - lyx_use_cxx11=$lyx_cv_cxx_cxx11 +dnl Usage: LYX_CXX_CXX11_FLAGS: add to AM_CXXFLAGS the best flag that +selects C++11 mode; gives an error when C++11 mode is not found. +AC_DEFUN([LYX_CXX_CXX11_FLAGS], +[AC_CACHE_CHECK([for at least C++11 mode], [lyx_cv_cxx11_flags], + [lyx_cv_cxx11_flags=none + for flag in -std=c++14 -std=c++11 "" -std=c++0x -std=gnu++14 -std=gnu++11 -std=gnu++0x ; do + save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$AM_CPPFLAGS $CPPFLAGS" + save_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$flag $AM_CXXFLAGS $CXXFLAGS" + dnl sample openmp source code to test + AC_TRY_COMPILE([ + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + typedef check> right_angle_brackets; + + class TestDeleted + { + public: + TestDeleted() = delete; + }; + + + int a; + decltype(a) b; + + typedef check check_type; + check_type c; + check_type&& cr = static_cast(c); + + auto d = a;], [], + [lyx_cv_cxx11_flags=$flag; break]) + CXXFLAGS=$save_CXXFLAGS + CPPFLAGS=$save_CPPFLAGS + done]) + if test $lyx_cv_cxx11_flags = none ; then + AC_ERROR([Cannot find suitable C++11 mode for compiler $CXX]) + fi + AM_CXXFLAGS="$lyx_cv_cxx11_flags $AM_CXXFLAGS" ]) -dnl Usage: LYX_CXX_USE_REGEX(cxx11_flags) +dnl Usage: LYX_CXX_USE_REGEX dnl decide whether we want to use std::regex and set the -dnl LYX_USE_STD_REGEX accordingly. -dnl the extra cxx11 flags have to be passed to the preprocessor. They are -dnl not plainly added to AM_CPPFLAGS because then the objc compiler (mac) -dnl would fail. +dnl LYX_USE_STD_REGEX macro and conditional accordingly. AC_DEFUN([LYX_CXX_USE_REGEX], [AC_ARG_ENABLE(std-regex, AC_HELP_STRING([--enable-std-regex],[use std::regex instead of boost::regex (default is autodetected)]), [lyx_std_regex=$enableval], - [save_CPPFLAGS=$CPPFLAGS - # we want to pass -std=c++11 to clang/cpp if necessary - CPPFLAGS="$AM_CPPFLAGS $1 $CPPFLAGS" + [AC_MSG_CHECKING([for correct regex implementation]) + save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$AM_CPPFLAGS $CPPFLAGS" save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$AM_CXXFLAGS $CXXFLAGS" - AC_LANG_PUSH(C++) - AC_CHECK_HEADER([regex], [lyx_std_regex=yes], [lyx_std_regex=no]) - AC_LANG_POP(C++) + # The following code snippet has been taken taken from example in + # http://stackoverflow.com/questions/8561850/compile-stdregex-iterator-with-gcc + AC_TRY_LINK( + [ + #include + #include + + #include + + typedef std::regex_iterator Myiter; + ], [ + const char *pat = "axayaz"; + Myiter::regex_type rx("a"); + Myiter next(pat, pat + strlen(pat), rx); + Myiter end; + ], [lyx_std_regex=yes], [lyx_std_regex=no]) CXXFLAGS=$save_CXXFLAGS CPPFLAGS=$save_CPPFLAGS - if test x$GXX = xyes && test $lyx_std_regex = yes ; then - AC_MSG_CHECKING([for correct regex implementation]) - if test x$CLANG = xno || test $lyx_cv_lib_stdcxx = yes; then - dnl in gcc is unusable in versions less than 4.9.0 - dnl see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53631 - case $gxx_version in - 4.3*|4.4*|4.5*|4.6*|4.7*|4.8*) lyx_std_regex=no ;; - *) ;; - esac - fi - AC_MSG_RESULT([$lyx_std_regex]) - fi]) + AC_MSG_RESULT([$lyx_std_regex]) + ]) if test $lyx_std_regex = yes ; then lyx_flags="$lyx_flags std-regex" @@ -210,6 +248,33 @@ AC_DEFUN([LYX_CXX_USE_REGEX], ]) +dnl Usage: LYX_CXX_USE_CALL_ONCE +dnl check whether we can use std::call_once and set the +dnl LYX_USE_STD_CALL_ONCE macro and conditional accordingly. +AC_DEFUN([LYX_CXX_USE_CALL_ONCE], +[AC_MSG_CHECKING([for std::call_once availability]) + save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$AM_CPPFLAGS $CPPFLAGS" + save_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$AM_CXXFLAGS $CXXFLAGS" + AC_TRY_LINK( + [ + #include + static std::once_flag flag; + ], [ + std::call_once(flag, [](){ return; }); + ], [lyx_std_call_once=yes], [lyx_std_call_once=no]) + CXXFLAGS=$save_CXXFLAGS + CPPFLAGS=$save_CPPFLAGS + AC_MSG_RESULT([$lyx_std_call_once]) + + if test $lyx_std_call_once = yes ; then + AC_DEFINE([LYX_USE_STD_CALL_ONCE], 1, [define to 1 if std::call_once is supported by the compiler]) + fi + AM_CONDITIONAL([LYX_USE_STD_CALL_ONCE], test $lyx_std_call_once = yes) +]) + + dnl Usage: LYX_LIB_STDCXX: set lyx_cv_lib_stdcxx to yes if the STL library is libstdc++. AC_DEFUN([LYX_LIB_STDCXX], [AC_CACHE_CHECK([whether STL is libstdc++], @@ -243,8 +308,11 @@ AC_REQUIRE([AC_PROG_CXXCPP]) AC_LANG_PUSH(C++) LYX_PROG_CLANG +LYX_CXX_CXX11_FLAGS LYX_LIB_STDCXX LYX_LIB_STDCXX_CXX11_ABI +LYX_CXX_USE_REGEX +LYX_CXX_USE_CALL_ONCE AC_LANG_POP(C++) if test $lyx_cv_lib_stdcxx = "yes" ; then @@ -285,7 +353,7 @@ AC_ARG_ENABLE(stdlib-debug, ### set up optimization AC_ARG_ENABLE(optimization, - AC_HELP_STRING([--enable-optimization[=value]],[enable compiler optimisation]),, + AC_HELP_STRING([--enable-optimization@<:@=ARG@:>@],[enable compiler optimisation]),, enable_optimization=yes;) case $enable_optimization in yes) @@ -317,10 +385,11 @@ if test x$GXX = xyes; then gxx_version=`${CXX} -dumpversion` CXX_VERSION="($gxx_version)" else - gxx_version=clang + gxx_version=clang-$clang_version + CXX_VERSION="($clang_version)" fi - AM_CXXFLAGS="$lyx_optim" + AM_CXXFLAGS="$lyx_optim $AM_CXXFLAGS" if test x$enable_debug = xyes ; then AM_CXXFLAGS="-g $AM_CXXFLAGS" fi @@ -340,8 +409,8 @@ if test x$GXX = xyes; then AM_CPPFLAGS="$AM_CPPFLAGS -Wall -Wextra" fi case $gxx_version in - 2.*|3.*) AC_ERROR([gcc >= 4.3 is required]);; - 4.0*|4.1*|4.2*) AC_ERROR([gcc >= 4.3 is required]);; + 2.*|3.*) AC_ERROR([gcc >= 4.6 is required]);; + 4.0*|4.1*|4.2*|4.3*|4.4*|4.5*) AC_ERROR([gcc >= 4.6 is required]);; esac if test x$enable_stdlib_debug = xyes ; then dnl FIXME: for clang/libc++, one should define _LIBCPP_DEBUG2=0 @@ -354,31 +423,20 @@ if test x$GXX = xyes; then ;; esac fi +fi + +# Some additional flags may be needed +if test x$GXX = xyes; then case $gxx_version in - 4.3*|4.4*|4.5*|4.6*) - dnl Note that this will define __GXX_EXPERIMENTAL_CXX0X__. - dnl The source code relies on that. - cxx11_flags="-std=c++0x";; - clang) - dnl presumably all clang versions support c++11. - dnl the deprecated-register warning is very annoying with Qt4.x right now. - cxx11_flags="-std=c++11" + clang-3.0*|clang-3.1*|clang-3.2*|clang-3.3*) + dnl boost contains pragmas that are annoying on older clang versions + AM_CPPFLAGS="-Wno-unknown-pragmas $AM_CPPFLAGS";; + clang*) + dnl the more recent versions support the deprecated-register warning, + dnl which is very annoying with Qt4.x right now. AM_CXXFLAGS="$AM_CXXFLAGS -Wno-deprecated-register";; - *) - AS_CASE([$host], [*cygwin*], - [cxx11_flags="-std=gnu++11"], - [cxx11_flags="-std=c++11"]);; esac - # cxx11_flags is useful when running preprocessor alone - # (see detection of regex). - AM_CXXFLAGS="$cxx11_flags $AM_CXXFLAGS" -fi - -LYX_CXX_CXX11 -if test $lyx_use_cxx11 = no; then - AC_ERROR([A C++11 compatible compiler is required]) fi -LYX_CXX_USE_REGEX([$cxx11_flags]) ]) dnl Usage: LYX_USE_INCLUDED_BOOST : select if the included boost should @@ -392,15 +450,24 @@ AC_DEFUN([LYX_USE_INCLUDED_BOOST],[ AM_CONDITIONAL(USE_INCLUDED_BOOST, test x$lyx_cv_with_included_boost = xyes) AC_MSG_RESULT([$lyx_cv_with_included_boost]) if test x$lyx_cv_with_included_boost = xyes ; then + lyx_included_libs="$lyx_included_libs boost" BOOST_INCLUDES='-I$(top_srcdir)/3rdparty/boost' - BOOST_LIBS='$(top_builddir)/3rdparty/boost/liblyxboost.a' + if test $lyx_std_regex = yes ; then + BOOST_LIBS="" + else + BOOST_LIBS='$(top_builddir)/3rdparty/boost/liblyxboost.a' + fi else - AC_LANG_PUSH(C++) - save_LIBS=$LIBS + BOOST_INCLUDES= + if test $lyx_std_regex = yes ; then + BOOST_LIBS="" + else + AC_LANG_PUSH(C++) + save_LIBS=$LIBS - AC_MSG_CHECKING([for multithreaded boost libraries]) - LIBS="$save_LIBS -lboost_regex-mt $LIBTHREAD" - AC_LINK_IFELSE( + AC_MSG_CHECKING([for multithreaded boost libraries]) + LIBS="$save_LIBS -lboost_regex-mt $LIBTHREAD" + AC_LINK_IFELSE( [AC_LANG_PROGRAM([#include ], [boost::regex reg;])], [AC_MSG_RESULT([yes]) @@ -416,23 +483,20 @@ AC_DEFUN([LYX_USE_INCLUDED_BOOST],[ [AC_MSG_RESULT([no]) AC_MSG_ERROR([cannot find suitable boost library (do not use --without-included-boost)]) ]) - ]) - LIBS=$save_LIBS - AC_LANG_POP(C++) - BOOST_INCLUDES= - if test $lyx_std_regex = yes ; then - BOOST_LIBS="" - else - BOOST_LIBS="-lboost_regex${BOOST_MT}" - fi - - dnl In general, system boost libraries are incompatible with - dnl the use of stdlib-debug in libstdc++. See ticket #9736 for - dnl details. - if test $enable_stdlib_debug = "yes" ; then + ]) + LIBS=$save_LIBS + AC_LANG_POP(C++) + + dnl In general, system boost libraries are incompatible with + dnl the use of stdlib-debug in libstdc++. See ticket #9736 for + dnl details. + if test $enable_stdlib_debug = "yes" ; then LYX_WARNING([Compiling LyX with stdlib-debug and system boost libraries may lead to crashes. Consider using --disable-stdlib-debug or removing --without-included-boost.]) + fi + + BOOST_LIBS="-lboost_regex${BOOST_MT}" fi fi AC_SUBST(BOOST_INCLUDES) @@ -445,12 +509,14 @@ dnl be used. AC_DEFUN([LYX_USE_INCLUDED_ICONV],[ AC_MSG_CHECKING([whether to use included iconv library]) AC_ARG_WITH(included-iconv, - [AC_HELP_STRING([--without-included-iconv], [do not use the iconv lib supplied with LyX, try to find one in the system directories - compilation will abort if nothing suitable is found])], + [AC_HELP_STRING([--with-included-iconv], [use the iconv lib supplied with LyX instead of the system one])], [lyx_cv_with_included_iconv=$withval], [lyx_cv_with_included_iconv=no]) AM_CONDITIONAL(USE_INCLUDED_ICONV, test x$lyx_cv_with_included_iconv = xyes) AC_MSG_RESULT([$lyx_cv_with_included_iconv]) if test x$lyx_cv_with_included_iconv = xyes ; then + lyx_included_libs="$lyx_included_libs iconv" + dnl Some bits from libiconv configure.ac to avoid a nested configure call: AC_EILSEQ AC_TYPE_MBSTATE_T @@ -509,12 +575,13 @@ dnl be used. AC_DEFUN([LYX_USE_INCLUDED_ZLIB],[ AC_MSG_CHECKING([whether to use included zlib library]) AC_ARG_WITH(included-zlib, - [AC_HELP_STRING([--without-included-zlib], [do not use the zlib lib supplied with LyX, try to find one in the system directories - compilation will abort if nothing suitable is found])], + [AC_HELP_STRING([--with-included-zlib], [use the zlib lib supplied with LyX instead of the system one])], [lyx_cv_with_included_zlib=$withval], [lyx_cv_with_included_zlib=no]) AM_CONDITIONAL(USE_INCLUDED_ZLIB, test x$lyx_cv_with_included_zlib = xyes) AC_MSG_RESULT([$lyx_cv_with_included_zlib]) if test x$lyx_cv_with_included_zlib = xyes ; then + lyx_included_libs="$lyx_included_libs zlib" ZLIB_INCLUDES='-I$(top_srcdir)/3rdparty/zlib/1.2.8 -I$(top_builddir)/3rdparty/zlib' ZLIB_LIBS='$(top_builddir)/3rdparty/zlib/liblyxzlib.a' mkdir -p 3rdparty/zlib @@ -560,31 +627,44 @@ fi dnl Usage: LYX_USE_INCLUDED_MYTHES : select if the included MyThes should dnl be used. AC_DEFUN([LYX_USE_INCLUDED_MYTHES],[ - AC_MSG_CHECKING([whether to use included MyThes library]) - AC_ARG_WITH(included-mythes, - [AC_HELP_STRING([--without-included-mythes], [do not use the MyThes lib supplied with LyX, try to find one in the system directories - compilation will abort if nothing suitable is found])], - [lyx_cv_with_included_mythes=$withval], - [lyx_cv_with_included_mythes=yes]) - AM_CONDITIONAL(USE_INCLUDED_MYTHES, test x$lyx_cv_with_included_mythes = xyes) - AC_MSG_RESULT([$lyx_cv_with_included_mythes]) - if test x$lyx_cv_with_included_mythes != xyes ; then - AC_LANG_PUSH(C++) - AC_CHECK_HEADER(mythes.hxx,[ac_cv_header_mythes_h=yes lyx_cv_mythes_h_location=""]) - if test x$ac_cv_header_mythes_h != xyes; then - AC_CHECK_HEADER(mythes/mythes.hxx,[ac_cv_header_mythes_h=yes lyx_cv_mythes_h_location=""]) - fi - AC_CHECK_LIB(mythes, main, [MYTHES_LIBS="-lmythes" lyx_mythes=yes], [lyx_mythes=no]) - if test x$lyx_mythes != xyes; then - AC_CHECK_LIB(mythes-1.2, main, [MYTHES_LIBS="-lmythes-1.2" lyx_mythes=yes], [lyx_mythes=no]) - fi - AC_LANG_POP(C++) - if test x$lyx_mythes != xyes -o x$ac_cv_header_mythes_h != xyes; then - AC_MSG_ERROR([cannot find suitable MyThes library (do not use --without-included-mythes)]) - fi - AC_DEFINE(USE_EXTERNAL_MYTHES, 1, [Define as 1 to use an external MyThes library]) - AC_DEFINE_UNQUOTED(MYTHES_H_LOCATION,$lyx_cv_mythes_h_location,[Location of mythes.hxx]) - AC_SUBST(MYTHES_LIBS) - fi + AC_ARG_WITH(included-mythes, + [AC_HELP_STRING([--with-included-mythes], [force to use the MyThes lib supplied with LyX])], + [use_included_mythes=$withval], + [use_included_mythes=no]) + if test x$use_included_mythes != xyes ; then + AC_LANG_PUSH(C++) + use_included_mythes=yes + AC_CHECK_HEADERS([mythes.hxx mythes/mythes.hxx], + [mythes_h_location="<$ac_header>" + save_LIBS=$LIBS + AC_MSG_CHECKING([checking for MyThes library]) + for ac_lib in mythes mythes-1.2 ; do + LIBS="-l$ac_lib $save_LIBS" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([#include ] + [#include $mythes_h_location], [MyThes dummy("idx","dat")])], + [MYTHES_LIBS=-l$ac_lib + AC_MSG_RESULT([$MYTHES_LIBS]) + use_included_mythes=no]) + done + if test $use_included_mythes != no ; then + AC_MSG_RESULT([not found]) + fi + break]) + AC_LANG_POP(C++) + fi + if test $use_included_mythes = yes ; then + mythes_h_location="" + MYTHES_INCLUDES='-I$(top_srcdir)/3rdparty/mythes/1.2.5/' + MYTHES_LIBS='$(top_builddir)/3rdparty/mythes/liblyxmythes.a' + lyx_included_libs="$lyx_included_libs mythes" + fi + AM_CONDITIONAL(USE_INCLUDED_MYTHES, test x$use_included_mythes = xyes) + AC_DEFINE_UNQUOTED(MYTHES_H_LOCATION,$mythes_h_location,[Location of mythes.hxx]) + AC_SUBST(MYTHES_INCLUDES) + AC_SUBST(MYTHES_LIBS) + AC_MSG_CHECKING([whether to use included MyThes library]) + AC_MSG_RESULT([$use_included_mythes]) ]) @@ -601,7 +681,8 @@ AC_DEFUN([LYX_WITH_DIR],[ test "x$with_$3" = xyes && with_$3=$5 lyx_cv_$3="$with_$3" fi - AC_MSG_RESULT($lyx_cv_$3)]) + AC_MSG_RESULT($lyx_cv_$3) +]) dnl Usage: LYX_LOOP_DIR(value,action) @@ -675,8 +756,8 @@ rm -f conftest*]) AC_DEFUN([LYX_USE_PACKAGING], [AC_MSG_CHECKING([what packaging should be used]) AC_ARG_WITH(packaging, - [AC_HELP_STRING([--with-packaging=THIS], [use THIS packaging for installation: - Possible values: posix, windows, macosx, haiku])], + [AC_HELP_STRING([--with-packaging=STR], [set packaging for installation among: + posix, windows, macosx, haiku (default is autodetected)])], [lyx_use_packaging="$withval"], [ case $host in *-apple-darwin*) lyx_use_packaging=macosx ;; @@ -817,9 +898,17 @@ dnl Defines HAVE_DEF_{NAME} AC_DEFUN([LYX_CHECK_DEF], [LYX_AH_CHECK_DEF($1, $2) AC_MSG_CHECKING([whether $1 is defined by header $2]) + save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$AM_CPPFLAGS $CPPFLAGS" + save_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$AM_CXXFLAGS $CXXFLAGS" + AC_LANG_PUSH(C++) AC_TRY_COMPILE([#include <$2>], [$3], lyx_have_def_name=yes, lyx_have_def_name=no) + AC_LANG_POP(C++) + CXXFLAGS=$save_CXXFLAGS + CPPFLAGS=$save_CPPFLAGS AC_MSG_RESULT($lyx_have_def_name) if test "x$lyx_have_def_name" = xyes; then AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_DEF_$1)) @@ -847,23 +936,3 @@ AC_DEFUN([LYX_SET_VERSION_INFO], AC_SUBST(LYX_USERDIR_VER,"$lyx_userdir_ver") ]) -# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) -# --------------------------------------------------------------------------- -# Copied from autoconf 2.68, added a check that python version is < 3.0 -# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION. -# Run ACTION-IF-FALSE otherwise. -# This test uses sys.hexversion instead of the string equivalent (first -# word of sys.version), in order to cope with versions such as 2.2c1. -# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000). -AC_DEFUN([AM_PYTHON_CHECK_VERSION], - [prog="import sys -# split strings by '.' and convert to numeric. Append some zeros -# because we need at least 4 digits for the hex conversion. -# map returns an iterator in Python 3.0 and a list in 2.x -minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]] -minverhex = 0 -maxverhex = 50331648 # = 3.0.0.0 -# xrange is not present in Python 3.0 and range returns an iterator -for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] -sys.exit(sys.hexversion < minverhex or sys.hexversion >= maxverhex)" - AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])