mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-21 17:51:03 +00:00
Clean up after removal of strfwd.h
Remove autoconf tests for whether std::string uses COW, since this is forbidden by C++11 standard. Forbid the use of gcc 4.9 (which still uses COW). Remove code in debug.h that added forward declarations for LLVM's libc++, since we do not do forward declarations anymore. Remove configure test for libc++.
This commit is contained in:
parent
1f7e8d3ffe
commit
09684899d6
5
INSTALL
5
INSTALL
@ -52,8 +52,9 @@ You will also probably need GNU m4 (perhaps installed as gm4).
|
|||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
|
|
||||||
First of all, you will need a C++11 standard conforming compiler, like g++ (at
|
First of all, you will need a C++11 standard conforming compiler, like
|
||||||
least 5.0, to have proper std::regex & std::string) or clang++.
|
g++ (at least 5.0, to have proper std::regex & std::string) or
|
||||||
|
clang++.
|
||||||
|
|
||||||
LyX makes great use of the C++ Standard Library. This means that gcc
|
LyX makes great use of the C++ Standard Library. This means that gcc
|
||||||
users will have to install the relevant libstdc++ library to be able
|
users will have to install the relevant libstdc++ library to be able
|
||||||
|
@ -248,19 +248,6 @@ AC_DEFUN([LYX_LIB_STDCXX],
|
|||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
dnl Usage: LYX_LIB_STDCXX_CXX11_ABI: set lyx_cv_lib_stdcxx_cxx11_abi to yes
|
|
||||||
dnl if the STL library is GNU libstdc++ and the C++11 ABI is used.
|
|
||||||
AC_DEFUN([LYX_LIB_STDCXX_CXX11_ABI],
|
|
||||||
[AC_CACHE_CHECK([whether STL is libstdc++ using the C++11 ABI],
|
|
||||||
[lyx_cv_lib_stdcxx_cxx11_abi],
|
|
||||||
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include<vector>]], [[
|
|
||||||
#if ! defined(_GLIBCXX_USE_CXX11_ABI) || ! _GLIBCXX_USE_CXX11_ABI
|
|
||||||
this is not libstdc++ using the C++11 ABI
|
|
||||||
#endif
|
|
||||||
]])],[lyx_cv_lib_stdcxx_cxx11_abi=yes],[lyx_cv_lib_stdcxx_cxx11_abi=no])])
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
AC_DEFUN([LYX_PROG_CXX],
|
AC_DEFUN([LYX_PROG_CXX],
|
||||||
[AC_REQUIRE([AC_PROG_CXX])
|
[AC_REQUIRE([AC_PROG_CXX])
|
||||||
AC_REQUIRE([AC_PROG_CXXCPP])
|
AC_REQUIRE([AC_PROG_CXXCPP])
|
||||||
@ -275,22 +262,9 @@ AC_LANG_PUSH(C++)
|
|||||||
LYX_PROG_CLANG
|
LYX_PROG_CLANG
|
||||||
LYX_CXX_CXX11_FLAGS($enable_cxx_mode)
|
LYX_CXX_CXX11_FLAGS($enable_cxx_mode)
|
||||||
LYX_LIB_STDCXX
|
LYX_LIB_STDCXX
|
||||||
LYX_LIB_STDCXX_CXX11_ABI
|
|
||||||
LYX_CXX_USE_CALL_ONCE
|
LYX_CXX_USE_CALL_ONCE
|
||||||
AC_LANG_POP(C++)
|
AC_LANG_POP(C++)
|
||||||
|
|
||||||
if test $lyx_cv_lib_stdcxx = "yes" ; then
|
|
||||||
if test $lyx_cv_lib_stdcxx_cxx11_abi = "yes" ; then
|
|
||||||
AC_DEFINE(USE_GLIBCXX_CXX11_ABI, 1, [use GNU libstdc++ with C++11 ABI])
|
|
||||||
else
|
|
||||||
AC_DEFINE(STD_STRING_USES_COW, 1, [std::string uses copy-on-write])
|
|
||||||
fi
|
|
||||||
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.
|
### We might want to get or shut warnings.
|
||||||
AC_ARG_ENABLE(warnings,
|
AC_ARG_ENABLE(warnings,
|
||||||
AS_HELP_STRING([--enable-warnings],[tell the compiler to display more warnings]),,
|
AS_HELP_STRING([--enable-warnings],[tell the compiler to display more warnings]),,
|
||||||
@ -363,7 +337,7 @@ if test x$GXX = xyes; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
case $gxx_version in
|
case $gxx_version in
|
||||||
2.*|3.*|4.@<:@0-8@:>@*) AC_MSG_ERROR([gcc >= 4.9 is required]);;
|
2.*|3.*|4.*) AC_MSG_ERROR([gcc >= 5 is required]);;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
AM_CXXFLAGS="$lyx_optim $AM_CXXFLAGS"
|
AM_CXXFLAGS="$lyx_optim $AM_CXXFLAGS"
|
||||||
|
@ -17,20 +17,6 @@
|
|||||||
|
|
||||||
#include "support/docstring.h"
|
#include "support/docstring.h"
|
||||||
|
|
||||||
// Forward definitions do not work with libc++
|
|
||||||
// but ios_base has already been defined in strfwd
|
|
||||||
// if compiling with it
|
|
||||||
#ifndef USE_LLVM_LIBCPP
|
|
||||||
namespace std {
|
|
||||||
|
|
||||||
class ios_base;
|
|
||||||
|
|
||||||
template<typename CharT, typename Traits> class basic_streambuf;
|
|
||||||
typedef basic_streambuf<char, char_traits<char> > streambuf;
|
|
||||||
|
|
||||||
} // namespace std
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
// Make sure at compile time that sizeof(unsigned long long) >= 8
|
// Make sure at compile time that sizeof(unsigned long long) >= 8
|
||||||
typedef char p__LINE__[ (sizeof(unsigned long long) > 7) ? 1 : -1];
|
typedef char p__LINE__[ (sizeof(unsigned long long) > 7) ? 1 : -1];
|
||||||
|
Loading…
Reference in New Issue
Block a user