]> git.lyx.org Git - lyx.git/blobdiff - config/lyxinclude.m4
Fix wrong listings preamble encoding (bug #9382)
[lyx.git] / config / lyxinclude.m4
index 815abab3e3d2a7acf2b2234415785d8ec2f315a0..0bcf731dc2cc0b8ee51acb208d42a5a2e4afeb88 100644 (file)
@@ -62,6 +62,18 @@ AC_MSG_RESULT([$withval])
 ])
 
 
+dnl Check whether to configure for Qt5. Default is Qt4.
+dnl
+AC_DEFUN([LYX_CHECK_QT5],[
+AC_MSG_CHECKING([whether Qt5 is requested])
+AC_ARG_ENABLE([qt5],
+  [  --enable-qt5            use Qt5 for building],
+  USE_QT5=$enableval, USE_QT5=no)
+AC_MSG_RESULT([$USE_QT5])
+AC_SUBST([USE_QT5])
+])
+
+
 dnl Usage: LYX_WARNING(message)  Displays the warning "message" and sets the
 dnl flag lyx_warning to yes.
 AC_DEFUN([LYX_WARNING],[
@@ -185,6 +197,10 @@ AC_LANG_POP(C++)
 
 if test $lyx_cv_lib_stdcxx = "yes" ; then
   AC_DEFINE(STD_STRING_USES_COW, 1, [std::string uses copy-on-write])
+else
+  if test $lyx_cv_prog_clang = "yes" ; then
+    AC_DEFINE(USE_LLVM_LIBCPP, 1, [use libc++ provided by llvm instead of GNU libstdc++])
+  fi
 fi
 
 ### We might want to get or shut warnings.
@@ -215,6 +231,9 @@ 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
@@ -253,6 +272,7 @@ if test "x$enable_assertions" = xyes ; then
 fi
 
 # set the compiler options correctly.
+lyx_std_regex=no
 if test x$GXX = xyes; then
   dnl clang++ pretends to be g++ 4.2.1; this is not useful
   if test x$CLANG = xno; then
@@ -281,6 +301,9 @@ if test x$GXX = xyes; then
     fi
   fi
   if test "$ac_env_CPPFLAGS_set" != set; then
+    if test x$USE_QT5 = xyes ; then
+        AS_CASE([$host], [*mingw*|*cygwin*], [], [CPPFLAGS="-fPIC $CPPFLAGS"])
+    fi
     if test x$enable_warnings = xyes ; then
         case $gxx_version in
             3.1*|3.2*|3.3*)
@@ -332,13 +355,31 @@ if test x$GXX = xyes; then
              lyx_flags="$lyx_flags c++11-mode"
              CXXFLAGS="-std=gnu++0x $CXXFLAGS"
              ;;
-         4.7*|4.8*)
+         4.7*|4.8*|4.9*)
              lyx_flags="$lyx_flags c++11-mode"
              CXXFLAGS="-std=gnu++11 $CXXFLAGS"
              ;;
       esac
+      if test x$CLANG = xno || test $lyx_cv_lib_stdcxx = yes; then
+        dnl <regex> 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.9*)
+          lyx_flags="$lyx_flags stdregex"
+          lyx_std_regex=yes
+          ;;
+        esac
+      else
+          lyx_flags="$lyx_flags stdregex"
+          lyx_std_regex=yes
+      fi
+
+      if test $lyx_std_regex = yes ; then
+        AC_DEFINE([LYX_USE_STD_REGEX], 1, [define to 1 if std::regex should be preferred to boost::regex])
+      fi
   fi
 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
@@ -382,7 +423,11 @@ AC_DEFUN([LYX_USE_INCLUDED_BOOST],[
            LIBS=$save_LIBS
            AC_LANG_POP(C++)
            BOOST_INCLUDES=
-           BOOST_LIBS="-lboost_regex${BOOST_MT} -lboost_signals${BOOST_MT}"
+           if test $lyx_std_regex = yes ; then
+             BOOST_LIBS="-lboost_signals${BOOST_MT}"
+           else
+             BOOST_LIBS="-lboost_regex${BOOST_MT} -lboost_signals${BOOST_MT}"
+           fi
        fi
        AC_SUBST(BOOST_INCLUDES)
        AC_SUBST(BOOST_LIBS)