mirror of
https://github.com/php/php-src.git
synced 2026-04-14 11:32:11 +02:00
ICU 59 already requires C++11 by default. The minimum version required by the core is 50, which is compiled with at least C++11 in many distros as package defs tell. Headers for ICU versions between ICU 50 and 58 look fine when included for C++11 compilation, the linking is thereof not affected. The macro PHP_CXX_COMPILE_STDCXX is based on https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html The patch consists on allowing to read the corresponding switch in a user defined variable instead of enforcing CXXFLAGS globally. That way, every ext or SAPI can decide, which C++ standard is to be used. The documentation is provided in the m4 file. C++11 is already somewhat older standard, C++14 were better. However issues with GCC < 5.0 and some other compilers are possibly to hit back. Still there's some time to check for C++14 for ext/intl, too. Having said that, C++11 in ext/intl and a mechanism to determine features is a good step towards better C++ support.