| From 03fecab78f9fa747ad8ab3484e7ca00c0148321d Mon Sep 17 00:00:00 2001 |
| From: Changqing Li <changqing.li@windriver.com> |
| Date: Sun, 28 Apr 2019 16:45:02 +0800 |
| Subject: [PATCH] From: Hugh McMaster <hugh.mcmaster@outlook.com> Date: Wed, 5 |
| Dec 2018 23:27:30 +1100 Subject: ext/intl: Use pkg-config to detect icu |
| |
| The developers of icu recommend using pkg-config to detect icu, |
| because icu-config is deprecated. |
| |
| Upstream-Status: Pending |
| |
| update to version 7.3.4 |
| Signed-off-by: Changqing Li <changqing.li@windriver.com> |
| --- |
| acinclude.m4 | 95 ++++++------------------------------------------------ |
| ext/intl/config.m4 | 16 ++++----- |
| 2 files changed, 15 insertions(+), 96 deletions(-) |
| |
| diff --git a/acinclude.m4 b/acinclude.m4 |
| index 7d77c33..86b0ecc 100644 |
| --- a/acinclude.m4 |
| +++ b/acinclude.m4 |
| @@ -2158,92 +2158,15 @@ dnl |
| dnl Common setup macro for ICU |
| dnl |
| AC_DEFUN([PHP_SETUP_ICU],[ |
| - PHP_ARG_WITH(icu-dir,, |
| - [ --with-icu-dir=DIR Specify where ICU libraries and headers can be found], DEFAULT, no) |
| - |
| - if test "$PHP_ICU_DIR" = "no"; then |
| - PHP_ICU_DIR=DEFAULT |
| - fi |
| - |
| - AC_MSG_CHECKING([for location of ICU headers and libraries]) |
| - found_icu=no |
| - |
| - dnl First try to find pkg-config |
| - if test -z "$PKG_CONFIG"; then |
| - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) |
| - fi |
| - |
| - dnl If pkg-config is found try using it |
| - if test "$PHP_ICU_DIR" = "DEFAULT" && test -x "$PKG_CONFIG" && $PKG_CONFIG --exists icu-uc icu-io icu-i18n; then |
| - if $PKG_CONFIG --atleast-version=40 icu-uc; then |
| - found_icu=yes |
| - icu_version_full=`$PKG_CONFIG --modversion icu-uc` |
| - ac_IFS=$IFS |
| - IFS="." |
| - set $icu_version_full |
| - IFS=$ac_IFS |
| - icu_version=`expr [$]1 \* 1000 + [$]2` |
| - AC_MSG_RESULT([found $icu_version_full]) |
| - |
| - ICU_LIBS=`$PKG_CONFIG --libs icu-uc icu-io icu-i18n` |
| - ICU_INCS=`$PKG_CONFIG --cflags-only-I icu-uc icu-io icu-i18n` |
| - ICU_CXXFLAGS="-DU_USING_ICU_NAMESPACE=1" |
| - |
| - AC_MSG_RESULT([found $ICU_VERSION]) |
| - |
| - PHP_EVAL_LIBLINE($ICU_LIBS, $1) |
| - PHP_EVAL_INCLINE($ICU_INCS) |
| - else |
| - AC_MSG_ERROR([ICU version 4.0 or later required.]) |
| - fi |
| - fi |
| - |
| - dnl If pkg-config fails for some reason, revert to the old method |
| - if test "$found_icu" = "no"; then |
| - if test "$PHP_ICU_DIR" = "DEFAULT"; then |
| - dnl Try to find icu-config |
| - AC_PATH_PROG(ICU_CONFIG, icu-config, no, [$PATH:/usr/local/bin]) |
| - else |
| - ICU_CONFIG="$PHP_ICU_DIR/bin/icu-config" |
| - fi |
| - |
| - dnl Trust icu-config to know better what the install prefix is.. |
| - icu_install_prefix=`$ICU_CONFIG --prefix 2> /dev/null` |
| - if test "$?" != "0" || test -z "$icu_install_prefix"; then |
| - AC_MSG_RESULT([not found]) |
| - AC_MSG_ERROR([Unable to detect ICU prefix or $ICU_CONFIG failed. Please verify ICU install prefix and make sure icu-config works.]) |
| - else |
| - AC_MSG_RESULT([$icu_install_prefix]) |
| - |
| - dnl Check ICU version |
| - AC_MSG_CHECKING([for ICU 4.0 or greater]) |
| - icu_version_full=`$ICU_CONFIG --version` |
| - ac_IFS=$IFS |
| - IFS="." |
| - set $icu_version_full |
| - IFS=$ac_IFS |
| - icu_version=`expr [$]1 \* 1000 + [$]2` |
| - AC_MSG_RESULT([found $icu_version_full]) |
| - |
| - if test "$icu_version" -lt "4000"; then |
| - AC_MSG_ERROR([ICU version 4.0 or later is required]) |
| - fi |
| - |
| - ICU_VERSION=$icu_version |
| - ICU_INCS=`$ICU_CONFIG --cppflags-searchpath` |
| - ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio` |
| - PHP_EVAL_INCLINE($ICU_INCS) |
| - PHP_EVAL_LIBLINE($ICU_LIBS, $1) |
| - |
| - ICU_CXXFLAGS=`$ICU_CONFIG --cxxflags` |
| - if test "$icu_version" -ge "49000"; then |
| - ICU_CXXFLAGS="$ICU_CXXFLAGS -DUNISTR_FROM_CHAR_EXPLICIT=explicit -DUNISTR_FROM_STRING_EXPLICIT=explicit" |
| - ICU_CFLAGS="-DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1" |
| - fi |
| - if test "$icu_version" -ge "60000"; then |
| - ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1" |
| - fi |
| - fi |
| + PKG_CHECK_MODULES([ICU], [icu-io >= 50.1]) |
| + PHP_EVAL_INCLINE($ICU_CFLAGS) |
| + PHP_EVAL_LIBLINE($ICU_LIBS, $1) |
| + |
| + 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 $PKG_CONFIG icu-io --atleast-version=60; then |
| + ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1" |
| fi |
| ]) |
| |
| diff --git a/ext/intl/config.m4 b/ext/intl/config.m4 |
| index 4b9f469..fdae88a 100644 |
| --- a/ext/intl/config.m4 |
| +++ b/ext/intl/config.m4 |
| @@ -9,15 +9,7 @@ if test "$PHP_INTL" != "no"; then |
| PHP_SETUP_ICU(INTL_SHARED_LIBADD) |
| PHP_SUBST(INTL_SHARED_LIBADD) |
| PHP_REQUIRE_CXX() |
| - INTL_COMMON_FLAGS="$ICU_INCS $ICU_CFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" |
| - if test "$icu_version" -ge "4002"; then |
| - icu_spoof_src=" spoofchecker/spoofchecker_class.c \ |
| - spoofchecker/spoofchecker.c\ |
| - spoofchecker/spoofchecker_create.c\ |
| - spoofchecker/spoofchecker_main.c" |
| - else |
| - icu_spoof_src="" |
| - fi |
| + INTL_COMMON_FLAGS="$ICU_CFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" |
| PHP_NEW_EXTENSION(intl, php_intl.c \ |
| intl_error.c \ |
| intl_convert.c \ |
| @@ -68,7 +60,11 @@ if test "$PHP_INTL" != "no"; then |
| transliterator/transliterator_methods.c \ |
| uchar/uchar.c \ |
| idn/idn.c \ |
| - $icu_spoof_src, $ext_shared,,$INTL_COMMON_FLAGS,cxx) |
| + spoofchecker/spoofchecker_class.c \ |
| + spoofchecker/spoofchecker.c\ |
| + spoofchecker/spoofchecker_create.c\ |
| + spoofchecker/spoofchecker_main.c \ |
| + , $ext_shared,,$INTL_COMMON_FLAGS,cxx) |
| |
| PHP_INTL_CXX_SOURCES="intl_convertcpp.cpp \ |
| common/common_enum.cpp \ |
| -- |
| 2.7.4 |
| |