diff options
author | Anatol Belski <ab@php.net> | 2018-03-28 18:00:28 +0200 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2018-03-28 18:01:44 +0200 |
commit | 710284cbc4a54cac0a9ec4ea29a7486e0d99a33b (patch) | |
tree | 35974499c556a3ebb7cff51253f395fb1fd97875 | |
parent | ac4d9fd0557cefe7a833bf1b0e97078010789a95 (diff) | |
download | php-git-710284cbc4a54cac0a9ec4ea29a7486e0d99a33b.tar.gz |
Fixed bug #76153 Intl compilation fails with icu4c 61.1
Additionally, ICU >= 59.1 requires C++11, so add the flags. Some
refactoring is needed to comply with the latest recommended build
options, such as automatic icu namespace addition.
-rw-r--r-- | acinclude.m4 | 3 | ||||
-rw-r--r-- | ext/intl/config.m4 | 2 | ||||
-rw-r--r-- | ext/intl/config.w32 | 2 |
3 files changed, 5 insertions, 2 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index 0e6fb5de85..3881b2da93 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -2248,6 +2248,9 @@ AC_DEFUN([PHP_SETUP_ICU],[ ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio` PHP_EVAL_INCLINE($ICU_INCS) PHP_EVAL_LIBLINE($ICU_LIBS, $1) + + ICU_EXTRA_FLAGS=`$ICU_CONFIG --cxxflags` + ICU_EXTRA_FLAGS="$ICU_EXTRA_FLAGS -DU_USING_ICU_NAMESPACE=1" fi ]) diff --git a/ext/intl/config.m4 b/ext/intl/config.m4 index ca2cd822f4..a496d8d70c 100644 --- a/ext/intl/config.m4 +++ b/ext/intl/config.m4 @@ -86,7 +86,7 @@ if test "$PHP_INTL" != "no"; then breakiterator/codepointiterator_methods.cpp \ uchar/uchar.c \ idn/idn.c \ - $icu_spoof_src, $ext_shared,,$ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1,cxx) + $icu_spoof_src, $ext_shared,,$ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 $ICU_EXTRA_FLAGS,cxx) PHP_ADD_BUILD_DIR($ext_builddir/collator) PHP_ADD_BUILD_DIR($ext_builddir/converter) PHP_ADD_BUILD_DIR($ext_builddir/common) diff --git a/ext/intl/config.w32 b/ext/intl/config.w32 index 5b37d934bd..328288be3d 100644 --- a/ext/intl/config.w32 +++ b/ext/intl/config.w32 @@ -130,7 +130,7 @@ if (PHP_INTL != "no") { ADD_FLAG("LIBS_INTL", "iculx.lib"); } - ADD_FLAG("CFLAGS_INTL", "/EHsc"); + ADD_FLAG("CFLAGS_INTL", "/EHsc /D U_USING_ICU_NAMESPACE=1"); AC_DEFINE("HAVE_INTL", 1, "Internationalization support enabled"); } else { WARNING("intl not enabled; libraries and/or headers not found"); |