Fix check for newer versions of ICU (#14186)

* Fix check for newer versions of ICU

The previous test would always trigger, even if the version of ICU
installed didn't require C++17. This was because it incorrectly used
the `test` program, which broke the build on systems without a C++17
compiler.

Tested with macOS 14 and i 7.2.

* Fix broken ICU version check for definition

Same as the previous fix for C++17.

---------

Co-authored-by: Peter Kokot <peterkokot@gmail.com>
This commit is contained in:
Calvin Buckley 2024-05-10 14:20:17 -03:00 committed by GitHub
parent 217b753a3d
commit 4e21a26db2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 4 deletions

View File

@ -1929,9 +1929,8 @@ AC_DEFUN([PHP_SETUP_ICU],[
ICU_CFLAGS="$ICU_CFLAGS -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1"
ICU_CXXFLAGS="$ICU_CXXFLAGS -DUNISTR_FROM_CHAR_EXPLICIT=explicit -DUNISTR_FROM_STRING_EXPLICIT=explicit"
if test "$PKG_CONFIG icu-io --atleast-version=60"; then
ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1"
fi
AS_IF([$PKG_CONFIG icu-io --atleast-version=60],
[ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1"])
])
dnl

View File

@ -82,7 +82,7 @@ if test "$PHP_INTL" != "no"; then
PHP_REQUIRE_CXX()
AC_MSG_CHECKING([if intl requires -std=gnu++17])
AS_IF([test "$PKG_CONFIG icu-uc --atleast-version=74"],[
AS_IF([$PKG_CONFIG icu-uc --atleast-version=74],[
AC_MSG_RESULT([yes])
PHP_CXX_COMPILE_STDCXX(17, mandatory, PHP_INTL_STDCXX)
],[