summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--acinclude.m41
-rwxr-xr-xext/intl/config.m415
-rwxr-xr-xext/intl/php_intl.c13
3 files changed, 18 insertions, 11 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index cad22bf508..9d38902ca0 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -2243,6 +2243,7 @@ AC_DEFUN([PHP_SETUP_ICU],[
AC_MSG_ERROR([ICU version 3.4 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)
diff --git a/ext/intl/config.m4 b/ext/intl/config.m4
index ca1f348d6a..0477c7f59d 100755
--- a/ext/intl/config.m4
+++ b/ext/intl/config.m4
@@ -9,7 +9,14 @@ if test "$PHP_INTL" != "no"; then
PHP_SETUP_ICU(INTL_SHARED_LIBADD)
PHP_SUBST(INTL_SHARED_LIBADD)
PHP_REQUIRE_CXX()
-
+ 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
PHP_NEW_EXTENSION(intl, php_intl.c \
intl_error.c \
intl_convert.c \
@@ -59,11 +66,7 @@ if test "$PHP_INTL" != "no"; then
transliterator/transliterator_class.c \
transliterator/transliterator_methods.c \
idn/idn.c \
- spoofchecker/spoofchecker_class.c \
- spoofchecker/spoofchecker.c\
- spoofchecker/spoofchecker_create.c\
- spoofchecker/spoofchecker_main.c, $ext_shared,,$ICU_INCS)
-
+ $icu_spoof_src, $ext_shared,,$ICU_INCS)
PHP_ADD_BUILD_DIR($ext_builddir/collator)
PHP_ADD_BUILD_DIR($ext_builddir/common)
PHP_ADD_BUILD_DIR($ext_builddir/formatter)
diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c
index 0512847fa1..ab5640486d 100755
--- a/ext/intl/php_intl.c
+++ b/ext/intl/php_intl.c
@@ -70,10 +70,12 @@
#include "idn/idn.h"
-#include "spoofchecker/spoofchecker_class.h"
-#include "spoofchecker/spoofchecker.h"
-#include "spoofchecker/spoofchecker_create.h"
-#include "spoofchecker/spoofchecker_main.h"
+#if U_ICU_VERSION_MAJOR_NUM > 3 && U_ICU_VERSION_MINOR_NUM >=2
+# include "spoofchecker/spoofchecker_class.h"
+# include "spoofchecker/spoofchecker.h"
+# include "spoofchecker/spoofchecker_create.h"
+# include "spoofchecker/spoofchecker_main.h"
+#endif
#include "msgformat/msgformat.h"
#include "common/common_error.h"
@@ -638,12 +640,13 @@ PHP_MINIT_FUNCTION( intl )
/* Expose IDN constants to PHP scripts. */
idn_register_constants(INIT_FUNC_ARGS_PASSTHRU);
+#if U_ICU_VERSION_MAJOR_NUM > 3 && U_ICU_VERSION_MINOR_NUM >=2
/* Register 'Spoofchecker' PHP class */
spoofchecker_register_Spoofchecker_class( TSRMLS_C );
/* Expose Spoofchecker constants to PHP scripts */
spoofchecker_register_constants( INIT_FUNC_ARGS_PASSTHRU );
-
+#endif
/* Global error handling. */
intl_error_init( NULL TSRMLS_CC );