X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=config%2Flyxinclude.m4;h=30697d7352d9a141de819747ab545b698b3201d4;hb=6df72ef648b38ff858f24b6d10b3d1326f4cb0ca;hp=057caf491c371bb366a50cc80b93831628801127;hpb=bde1bee24e26b586b20eb3813396e2d49f1aee91;p=lyx.git diff --git a/config/lyxinclude.m4 b/config/lyxinclude.m4 index 057caf491c..30697d7352 100644 --- a/config/lyxinclude.m4 +++ b/config/lyxinclude.m4 @@ -239,15 +239,6 @@ AC_ARG_ENABLE(stdlib-debug, [enable_stdlib_debug=no])] ) -AC_ARG_ENABLE(concept-checks, - AC_HELP_STRING([--enable-concept-checks],[enable concept checks]),, - [AS_CASE([$build_type], [dev*|pre*], [enable_concept_checks=yes], - [enable_concept_checks=no])] - if test x$USE_QT5 = xyes ; then - enable_concept_checks=no - fi -) - ### set up optimization AC_ARG_ENABLE(optimization, AC_HELP_STRING([--enable-optimization[=value]],[enable compiler optimisation]),, @@ -263,13 +254,8 @@ case $enable_optimization in *) lyx_optim=${enable_optimization};; esac -AC_ARG_ENABLE(pch, - AC_HELP_STRING([--enable-pch],[enable precompiled headers]),, - enable_pch=no;) -lyx_pch_comp=no - AC_ARG_ENABLE(cxx11, - AC_HELP_STRING([--enable-cxx11],[enable C++11 mode (default: enabled for known good compilers)]),, + AC_HELP_STRING([--disable-cxx11],[disable C++11 mode (default: enabled for known good compilers)]),, enable_cxx11=auto;) AC_ARG_ENABLE(assertions, @@ -312,18 +298,10 @@ if test x$GXX = xyes; then fi dnl Warnings are for preprocessor too if test x$enable_warnings = xyes ; then - case $gxx_version in - 4.0*|4.1*|4.2*|4.3*|4.4*|4.5*|4.6*|4.7*|4.8*|clang) - AM_CPPFLAGS="$AM_CPPFLAGS -Wall -Wextra" - ;; - *) - AM_CPPFLAGS="$AM_CPPFLAGS -Wall -Wextra -Wfloat-conversion" - ;; - esac + AM_CPPFLAGS="$AM_CPPFLAGS -Wall -Wextra -Wno-deprecated-declarations" fi case $gxx_version in 2.*|3.*) AC_ERROR([gcc 4.x is required]);; - *) test $enable_pch = yes && lyx_pch_comp=yes ;; esac if test x$enable_stdlib_debug = xyes ; then dnl FIXME: for clang/libc++, one should define _LIBCPP_DEBUG2=0 @@ -336,15 +314,6 @@ if test x$GXX = xyes; then ;; esac fi - if test x$enable_concept_checks = xyes ; then - case $gxx_version in - 4.*) - lyx_flags="$lyx_flags concept-checks" - dnl FIXME check whether this makes sense with clang/libc++ - AC_DEFINE(_GLIBCXX_CONCEPT_CHECKS, 1, [libstdc++ concept checking]) - ;; - esac - fi dnl enable_cxx11 can be yes/no/auto. dnl By default, it is auto and we enable C++11 when possible if test x$enable_cxx11 != xno ; then @@ -362,13 +331,15 @@ if test x$GXX = xyes; then dnl the deprecated-register warning is very annoying with Qt4.x right now. AM_CXXFLAGS="$AM_CXXFLAGS -std=c++11 -Wno-deprecated-register";; *) - AM_CXXFLAGS="$AM_CXXFLAGS -std=c++11" - AS_CASE([$host], [*cygwin*], [AM_CXXFLAGS="$AM_CXXFLAGS -U__STRICT_ANSI__"]);; + AS_CASE([$host], [*cygwin*], + [AM_CXXFLAGS="$AM_CXXFLAGS -std=gnu++11"], + [AM_CXXFLAGS="$AM_CXXFLAGS -std=c++11"]);; esac fi LYX_CXX_CXX11 if test $lyx_use_cxx11 = yes ; then + AC_CHECK_HEADER([regex], [lyx_std_regex=yes], [lyx_std_regex=no]) 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 @@ -379,16 +350,17 @@ if test x$GXX = xyes; then else lyx_std_regex=yes fi - - if test $lyx_std_regex = yes ; then - lyx_flags="$lyx_flags stdregex" - AC_DEFINE([LYX_USE_STD_REGEX], 1, [define to 1 if std::regex should be preferred to boost::regex]) - fi fi +else + dnl This is not gcc, not sure what setup we can do + AC_CHECK_HEADER([regex], [lyx_std_regex=yes], [lyx_std_regex=no]) +fi + +if test $lyx_std_regex = yes ; then + lyx_flags="$lyx_flags stdregex" + AC_DEFINE([LYX_USE_STD_REGEX], 1, [define to 1 if std::regex should be preferred to boost::regex]) fi AM_CONDITIONAL([LYX_USE_STD_REGEX], test $lyx_std_regex = yes) -test "$lyx_pch_comp" = yes && lyx_flags="$lyx_flags pch" -AM_CONDITIONAL(LYX_BUILD_PCH, test "$lyx_pch_comp" = yes) ])dnl dnl Usage: LYX_USE_INCLUDED_BOOST : select if the included boost should @@ -435,6 +407,15 @@ AC_DEFUN([LYX_USE_INCLUDED_BOOST],[ else BOOST_LIBS="-lboost_regex${BOOST_MT} -lboost_signals${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 + 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 fi AC_SUBST(BOOST_INCLUDES) AC_SUBST(BOOST_LIBS)