Enable use of the standard container classes by default

This is mostly, even if not completely, compatible with the previous
default build using wxUSE_STD_CONTAINERS=0, so try enabling this by
default again. Hopefully it should work better now than the last time we
tried it, see 01871bf642 (Add wxUSE_STD_CONTAINERS and turn it on by
default., 2011-03-30) and the subsequent 7311debd0d (Don't use the
standard containers by default., 2011-05-13).

See #22718.
This commit is contained in:
Vadim Zeitlin 2023-04-10 16:06:04 +01:00
parent de1dca5ff1
commit e273d45c9b
9 changed files with 28 additions and 38 deletions

View file

@ -84,7 +84,7 @@ wx_option(wxUSE_NO_RTTI "disable RTTI support" OFF)
wx_option(wxUSE_STD_IOSTREAM "use standard C++ streams" ON) wx_option(wxUSE_STD_IOSTREAM "use standard C++ streams" ON)
wx_option(wxUSE_STL "use standard C++ classes for everything" OFF) wx_option(wxUSE_STL "use standard C++ classes for everything" OFF)
set(wxTHIRD_PARTY_LIBRARIES ${wxTHIRD_PARTY_LIBRARIES} wxUSE_STL "use C++ STL classes") set(wxTHIRD_PARTY_LIBRARIES ${wxTHIRD_PARTY_LIBRARIES} wxUSE_STL "use C++ STL classes")
wx_dependent_option(wxUSE_STD_CONTAINERS "use standard C++ container classes" ON "wxUSE_STL" OFF) wx_option(wxUSE_STD_CONTAINERS "use standard C++ container classes" ON)
wx_option(wxUSE_UNICODE_UTF8 "use UTF-8 representation for strings" OFF) wx_option(wxUSE_UNICODE_UTF8 "use UTF-8 representation for strings" OFF)
wx_dependent_option(wxUSE_UTF8_LOCALE_ONLY "only support UTF-8 locales in UTF-8 build" ON "wxUSE_UNICODE_UTF8" OFF) wx_dependent_option(wxUSE_UTF8_LOCALE_ONLY "only support UTF-8 locales in UTF-8 build" ON "wxUSE_UNICODE_UTF8" OFF)

9
configure vendored
View file

@ -2086,7 +2086,7 @@ Optional Features:
--disable-shared create static library instead of shared --disable-shared create static library instead of shared
--enable-cxx11 obsolete option doing nothing --enable-cxx11 obsolete option doing nothing
--enable-stl use standard C++ classes for everything --enable-stl use standard C++ classes for everything
--enable-std_containers use standard C++ container classes --disable-std_containers disable use of standard C++ container classes
--disable-std_iostreams disable use of standard C++ stream classes --disable-std_iostreams disable use of standard C++ stream classes
--enable-std_string_conv_in_wxstring provide implicit conversion to std::string in wxString --enable-std_string_conv_in_wxstring provide implicit conversion to std::string in wxString
--disable-unsafe_conv_in_wxstring disable unsafe implicit conversions in wxString --disable-unsafe_conv_in_wxstring disable unsafe implicit conversions in wxString
@ -4023,8 +4023,6 @@ esac
DEFAULT_wxUSE_ALL_FEATURES=yes DEFAULT_wxUSE_ALL_FEATURES=yes
DEFAULT_wxUSE_STD_CONTAINERS=no
DEFAULT_wxUSE_DMALLOC=no DEFAULT_wxUSE_DMALLOC=no
DEFAULT_wxUSE_LIBCURL=auto DEFAULT_wxUSE_LIBCURL=auto
DEFAULT_wxUSE_LIBGNOMEVFS=no DEFAULT_wxUSE_LIBGNOMEVFS=no
@ -5578,11 +5576,8 @@ fi
eval "$wx_cv_use_stl" eval "$wx_cv_use_stl"
if test "$wxUSE_STL" = "yes"; then
DEFAULT_wxUSE_STD_CONTAINERS=yes
fi
enablestring= enablestring=disable
defaultval= defaultval=
if test -z "$defaultval"; then if test -z "$defaultval"; then
if test x"$enablestring" = xdisable; then if test x"$enablestring" = xdisable; then

View file

@ -310,8 +310,6 @@ dnl wxUSE_ALL_FEATURES which is the only which has to be set to "yes" by
dnl default) dnl default)
DEFAULT_wxUSE_ALL_FEATURES=yes DEFAULT_wxUSE_ALL_FEATURES=yes
DEFAULT_wxUSE_STD_CONTAINERS=no
dnl libraries disabled by default or requiring some special handling dnl libraries disabled by default or requiring some special handling
DEFAULT_wxUSE_DMALLOC=no DEFAULT_wxUSE_DMALLOC=no
DEFAULT_wxUSE_LIBCURL=auto DEFAULT_wxUSE_LIBCURL=auto
@ -642,10 +640,7 @@ WX_ARG_DISABLE(shared, [ --disable-shared create static library inst
AC_ARG_ENABLE(cxx11, [ --enable-cxx11 obsolete option doing nothing]) AC_ARG_ENABLE(cxx11, [ --enable-cxx11 obsolete option doing nothing])
AC_ARG_WITH(cxx, [ --with-cxx=11|14|17|20 use the given C++ dialect], [wxWITH_CXX="$withval"]) AC_ARG_WITH(cxx, [ --with-cxx=11|14|17|20 use the given C++ dialect], [wxWITH_CXX="$withval"])
WX_ARG_ENABLE(stl, [ --enable-stl use standard C++ classes for everything], wxUSE_STL) WX_ARG_ENABLE(stl, [ --enable-stl use standard C++ classes for everything], wxUSE_STL)
if test "$wxUSE_STL" = "yes"; then WX_ARG_DISABLE(std_containers,[ --disable-std_containers disable use of standard C++ container classes], wxUSE_STD_CONTAINERS)
DEFAULT_wxUSE_STD_CONTAINERS=yes
fi
WX_ARG_ENABLE(std_containers,[ --enable-std_containers use standard C++ container classes], wxUSE_STD_CONTAINERS)
WX_ARG_DISABLE(std_iostreams,[ --disable-std_iostreams disable use of standard C++ stream classes], wxUSE_STD_IOSTREAM) WX_ARG_DISABLE(std_iostreams,[ --disable-std_iostreams disable use of standard C++ stream classes], wxUSE_STD_IOSTREAM)
WX_ARG_ENABLE(std_string_conv_in_wxstring, [ --enable-std_string_conv_in_wxstring provide implicit conversion to std::string in wxString], wxUSE_STD_STRING_CONV_IN_WXSTRING) WX_ARG_ENABLE(std_string_conv_in_wxstring, [ --enable-std_string_conv_in_wxstring provide implicit conversion to std::string in wxString], wxUSE_STD_STRING_CONV_IN_WXSTRING)
WX_ARG_DISABLE(unsafe_conv_in_wxstring, [ --disable-unsafe_conv_in_wxstring disable unsafe implicit conversions in wxString], wxUSE_UNSAFE_WXSTRING_CONV) WX_ARG_DISABLE(unsafe_conv_in_wxstring, [ --disable-unsafe_conv_in_wxstring disable unsafe implicit conversions in wxString], wxUSE_UNSAFE_WXSTRING_CONV)

View file

@ -283,11 +283,11 @@
// Use standard C++ containers to implement all wx container classes. // Use standard C++ containers to implement all wx container classes.
// //
// Default is 0 for compatibility reasons. // Default is 1.
// //
// Recommended setting: 1 unless compatibility with the official wxWidgets // Recommended setting: 1 unless you really need to set it to 0 to preserve
// build and/or the existing code is a concern. // compatibility with the existing code.
#define wxUSE_STD_CONTAINERS 0 #define wxUSE_STD_CONTAINERS 1
// Use standard C++ streams if 1 instead of wx streams in some places. If // Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used instead. // disabled, wx streams are used instead.

View file

@ -284,11 +284,11 @@
// Use standard C++ containers to implement all wx container classes. // Use standard C++ containers to implement all wx container classes.
// //
// Default is 0 for compatibility reasons. // Default is 1.
// //
// Recommended setting: 1 unless compatibility with the official wxWidgets // Recommended setting: 1 unless you really need to set it to 0 to preserve
// build and/or the existing code is a concern. // compatibility with the existing code.
#define wxUSE_STD_CONTAINERS 0 #define wxUSE_STD_CONTAINERS 1
// Use standard C++ streams if 1 instead of wx streams in some places. If // Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used instead. // disabled, wx streams are used instead.

View file

@ -284,11 +284,11 @@
// Use standard C++ containers to implement all wx container classes. // Use standard C++ containers to implement all wx container classes.
// //
// Default is 0 for compatibility reasons. // Default is 1.
// //
// Recommended setting: 1 unless compatibility with the official wxWidgets // Recommended setting: 1 unless you really need to set it to 0 to preserve
// build and/or the existing code is a concern. // compatibility with the existing code.
#define wxUSE_STD_CONTAINERS 0 #define wxUSE_STD_CONTAINERS 1
// Use standard C++ streams if 1 instead of wx streams in some places. If // Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used instead. // disabled, wx streams are used instead.

View file

@ -290,11 +290,11 @@
// Use standard C++ containers to implement all wx container classes. // Use standard C++ containers to implement all wx container classes.
// //
// Default is 0 for compatibility reasons. // Default is 1.
// //
// Recommended setting: 1 unless compatibility with the official wxWidgets // Recommended setting: 1 unless you really need to set it to 0 to preserve
// build and/or the existing code is a concern. // compatibility with the existing code.
#define wxUSE_STD_CONTAINERS 0 #define wxUSE_STD_CONTAINERS 1
// Use standard C++ streams if 1 instead of wx streams in some places. If // Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used instead. // disabled, wx streams are used instead.

View file

@ -280,11 +280,11 @@
// Use standard C++ containers to implement all wx container classes. // Use standard C++ containers to implement all wx container classes.
// //
// Default is 0 for compatibility reasons. // Default is 1.
// //
// Recommended setting: 1 unless compatibility with the official wxWidgets // Recommended setting: 1 unless you really need to set it to 0 to preserve
// build and/or the existing code is a concern. // compatibility with the existing code.
#define wxUSE_STD_CONTAINERS 0 #define wxUSE_STD_CONTAINERS 1
// Use standard C++ streams if 1 instead of wx streams in some places. If // Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used instead. // disabled, wx streams are used instead.

View file

@ -283,11 +283,11 @@
// Use standard C++ containers to implement all wx container classes. // Use standard C++ containers to implement all wx container classes.
// //
// Default is 0 for compatibility reasons. // Default is 1.
// //
// Recommended setting: 1 unless compatibility with the official wxWidgets // Recommended setting: 1 unless you really need to set it to 0 to preserve
// build and/or the existing code is a concern. // compatibility with the existing code.
#define wxUSE_STD_CONTAINERS 0 #define wxUSE_STD_CONTAINERS 1
// Use standard C++ streams if 1 instead of wx streams in some places. If // Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used instead. // disabled, wx streams are used instead.