diff --git a/NEWS b/NEWS index 27864da656b..972f83c6391 100644 --- a/NEWS +++ b/NEWS @@ -24,6 +24,9 @@ PHP NEWS . Fixed bug GH-13563 (Setting bool values via env in FPM config fails). (Jakub Zelenka) +- Intl: + . Fixed build for icu 74 and onwards. (dunglas) + - MySQLnd: . Fix shift out of bounds on 32-bit non-fast-path platforms. (nielsdos) diff --git a/ext/intl/config.m4 b/ext/intl/config.m4 index dd687bcd97d..48f5147ca7b 100644 --- a/ext/intl/config.m4 +++ b/ext/intl/config.m4 @@ -80,7 +80,16 @@ if test "$PHP_INTL" != "no"; then breakiterator/codepointiterator_methods.cpp" PHP_REQUIRE_CXX() - PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX) + + AC_MSG_CHECKING([if intl requires -std=gnu++17]) + AS_IF([test "$PKG_CONFIG icu-uc --atleast-version=74"],[ + AC_MSG_RESULT([yes]) + PHP_CXX_COMPILE_STDCXX(17, mandatory, PHP_INTL_STDCXX) + ],[ + AC_MSG_RESULT([no]) + PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX) + ]) + PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $PHP_INTL_STDCXX $ICU_CXXFLAGS" case $host_alias in *cygwin*) PHP_INTL_CXX_FLAGS="$PHP_INTL_CXX_FLAGS -D_POSIX_C_SOURCE=200809L"