mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
Cleanup support for std::regex with autotools
Do not link against system boost regex lib or build included boost regex when not needed.
This commit is contained in:
parent
dd2a8b616e
commit
41405babc5
@ -24,16 +24,35 @@ AM_CPPFLAGS += $(BOOST_INCLUDES)
|
||||
|
||||
if MONOLITHIC_BOOST
|
||||
|
||||
if LYX_USE_STD_REGEX
|
||||
|
||||
liblyxboost_a_SOURCES = \
|
||||
lyxboostsignals.cpp
|
||||
|
||||
else
|
||||
|
||||
liblyxboost_a_SOURCES = \
|
||||
lyxboost.cpp \
|
||||
libs/regex/src/instances.cpp \
|
||||
libs/regex/src/cpp_regex_traits.cpp \
|
||||
libs/regex/src/c_regex_traits.cpp
|
||||
|
||||
endif #LYX_USE_STD_REGEX
|
||||
|
||||
else
|
||||
|
||||
if LYX_USE_STD_REGEX
|
||||
|
||||
liblyxboost_a_SOURCES = \
|
||||
libs/signals/src/connection.cpp \
|
||||
libs/signals/src/named_slot_map.cpp \
|
||||
libs/signals/src/signal_base.cpp \
|
||||
libs/signals/src/slot.cpp \
|
||||
libs/signals/src/trackable.cpp
|
||||
|
||||
else
|
||||
|
||||
liblyxboost_a_SOURCES = \
|
||||
\
|
||||
libs/regex/src/internals.hpp \
|
||||
libs/regex/src/c_regex_traits.cpp \
|
||||
libs/regex/src/cpp_regex_traits.cpp \
|
||||
@ -55,4 +74,7 @@ liblyxboost_a_SOURCES = \
|
||||
libs/signals/src/slot.cpp \
|
||||
libs/signals/src/trackable.cpp
|
||||
|
||||
endif
|
||||
endif #LYX_USE_STD_REGEX
|
||||
|
||||
|
||||
endif #MONOLITHIC_BOOST
|
||||
|
@ -12,9 +12,4 @@
|
||||
#include "libs/regex/src/regex_debug.cpp"
|
||||
#include "libs/regex/src/winstances.cpp"
|
||||
|
||||
#include "libs/signals/src/connection.cpp"
|
||||
#include "libs/signals/src/named_slot_map.cpp"
|
||||
#include "libs/signals/src/signal_base.cpp"
|
||||
#include "libs/signals/src/slot.cpp"
|
||||
#include "libs/signals/src/trackable.cpp"
|
||||
|
||||
#include "lyxboostsignals.cpp"
|
||||
|
6
boost/lyxboostsignals.cpp
Normal file
6
boost/lyxboostsignals.cpp
Normal file
@ -0,0 +1,6 @@
|
||||
#include "libs/signals/src/connection.cpp"
|
||||
#include "libs/signals/src/named_slot_map.cpp"
|
||||
#include "libs/signals/src/signal_base.cpp"
|
||||
#include "libs/signals/src/slot.cpp"
|
||||
#include "libs/signals/src/trackable.cpp"
|
||||
|
@ -354,11 +354,30 @@ 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
|
||||
lyx_std_regex=no
|
||||
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
|
||||
AM_CONDITIONAL([LYX_USE_STD_REGEX], test $lyx_std_regex = yes)
|
||||
fi
|
||||
fi
|
||||
test "$lyx_pch_comp" = yes && lyx_flags="$lyx_flags pch"
|
||||
@ -404,8 +423,12 @@ AC_DEFUN([LYX_USE_INCLUDED_BOOST],[
|
||||
LIBS=$save_LIBS
|
||||
AC_LANG_POP(C++)
|
||||
BOOST_INCLUDES=
|
||||
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)
|
||||
])
|
||||
|
@ -285,15 +285,6 @@ char * strerror(int n);
|
||||
#define BOOST_NO_WSTRING 1
|
||||
#define BOOST_SIGNALS_NO_DEPRECATION_WARNING 1
|
||||
|
||||
// <regex> in gcc is unusable in versions less than 4.9.0
|
||||
// see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53631
|
||||
// clang defines __GNUC__ but how do the versions match?
|
||||
#ifndef LYX_USE_STD_REGEX
|
||||
# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 9) || __GNUC__ > 4 || defined(USE_LLVM_LIBCPP)
|
||||
# define LYX_USE_STD_REGEX
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __CYGWIN__
|
||||
# define NOMINMAX
|
||||
# define BOOST_POSIX 1
|
||||
|
Loading…
Reference in New Issue
Block a user