Define std-related symbols in configure when using C++11 too

Even though we don't need to perform the checks for the availability of
<unordered_map> or <type_traits> headers when using C++11 because we can
safely assume they're indeed available, we still need to define the
corresponding symbols, as if the checks were performed, so that the code
inside and outside the library could test them in any case, whether
we're using C++11 or not.
This commit is contained in:
Vadim Zeitlin
2017-12-30 22:45:24 +01:00
parent f6dddd9228
commit 00b3b323de
2 changed files with 24 additions and 3 deletions

14
configure vendored
View File

@@ -19111,8 +19111,20 @@ if test "x$COMPAQCXX" = "xyes"; then
CXXFLAGS="-w0 -msg_disable basclsnondto,unrimpret,intconlosbit"
fi
if test "$HAVE_CXX11" != "1" ; then
if test "$HAVE_CXX11" = "1" ; then
$as_echo "#define HAVE_STD_WSTRING 1" >>confdefs.h
$as_echo "#define HAVE_STD_STRING_COMPARE 1" >>confdefs.h
$as_echo "#define HAVE_STD_UNORDERED_MAP 1" >>confdefs.h
$as_echo "#define HAVE_STD_UNORDERED_SET 1" >>confdefs.h
$as_echo "#define HAVE_TYPE_TRAITS 1" >>confdefs.h
else
ac_ext=cpp

View File

@@ -1818,8 +1818,17 @@ if test "x$COMPAQCXX" = "xyes"; then
fi
dnl The checks below are for ancient compilers and are unnecessary when using
dnl C++11.
if test "$HAVE_CXX11" != "1" ; then
dnl C++11, but we still need to define the symbols that would have been defined
dnl by them if we did run them.
if test "$HAVE_CXX11" = "1" ; then
AC_DEFINE(HAVE_STD_WSTRING)
AC_DEFINE(HAVE_STD_STRING_COMPARE)
AC_DEFINE(HAVE_STD_UNORDERED_MAP)
AC_DEFINE(HAVE_STD_UNORDERED_SET)
AC_DEFINE(HAVE_TYPE_TRAITS)
else dnl Not using C++11, so we do need to run the checks.
dnl check for iostream (as opposed to iostream.h) standard header
WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))