- fix build with ICU < 4.2, add ICU_VERSION for m4 checks

This commit is contained in:
Pierre Joye 2011-02-15 08:28:03 +00:00
parent b58c6f5ede
commit 71f5af6c70
3 changed files with 18 additions and 11 deletions

View file

@ -2243,6 +2243,7 @@ AC_DEFUN([PHP_SETUP_ICU],[
AC_MSG_ERROR([ICU version 3.4 or later is required]) AC_MSG_ERROR([ICU version 3.4 or later is required])
fi fi
ICU_VERSION=$icu_version
ICU_INCS=`$ICU_CONFIG --cppflags-searchpath` ICU_INCS=`$ICU_CONFIG --cppflags-searchpath`
ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio` ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio`
PHP_EVAL_INCLINE($ICU_INCS) PHP_EVAL_INCLINE($ICU_INCS)

View file

@ -9,7 +9,14 @@ if test "$PHP_INTL" != "no"; then
PHP_SETUP_ICU(INTL_SHARED_LIBADD) PHP_SETUP_ICU(INTL_SHARED_LIBADD)
PHP_SUBST(INTL_SHARED_LIBADD) PHP_SUBST(INTL_SHARED_LIBADD)
PHP_REQUIRE_CXX() 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 \ PHP_NEW_EXTENSION(intl, php_intl.c \
intl_error.c \ intl_error.c \
intl_convert.c \ intl_convert.c \
@ -59,11 +66,7 @@ if test "$PHP_INTL" != "no"; then
transliterator/transliterator_class.c \ transliterator/transliterator_class.c \
transliterator/transliterator_methods.c \ transliterator/transliterator_methods.c \
idn/idn.c \ idn/idn.c \
spoofchecker/spoofchecker_class.c \ $icu_spoof_src, $ext_shared,,$ICU_INCS)
spoofchecker/spoofchecker.c\
spoofchecker/spoofchecker_create.c\
spoofchecker/spoofchecker_main.c, $ext_shared,,$ICU_INCS)
PHP_ADD_BUILD_DIR($ext_builddir/collator) PHP_ADD_BUILD_DIR($ext_builddir/collator)
PHP_ADD_BUILD_DIR($ext_builddir/common) PHP_ADD_BUILD_DIR($ext_builddir/common)
PHP_ADD_BUILD_DIR($ext_builddir/formatter) PHP_ADD_BUILD_DIR($ext_builddir/formatter)

View file

@ -70,10 +70,12 @@
#include "idn/idn.h" #include "idn/idn.h"
#include "spoofchecker/spoofchecker_class.h" #if U_ICU_VERSION_MAJOR_NUM > 3 && U_ICU_VERSION_MINOR_NUM >=2
#include "spoofchecker/spoofchecker.h" # include "spoofchecker/spoofchecker_class.h"
#include "spoofchecker/spoofchecker_create.h" # include "spoofchecker/spoofchecker.h"
#include "spoofchecker/spoofchecker_main.h" # include "spoofchecker/spoofchecker_create.h"
# include "spoofchecker/spoofchecker_main.h"
#endif
#include "msgformat/msgformat.h" #include "msgformat/msgformat.h"
#include "common/common_error.h" #include "common/common_error.h"
@ -638,12 +640,13 @@ PHP_MINIT_FUNCTION( intl )
/* Expose IDN constants to PHP scripts. */ /* Expose IDN constants to PHP scripts. */
idn_register_constants(INIT_FUNC_ARGS_PASSTHRU); idn_register_constants(INIT_FUNC_ARGS_PASSTHRU);
#if U_ICU_VERSION_MAJOR_NUM > 3 && U_ICU_VERSION_MINOR_NUM >=2
/* Register 'Spoofchecker' PHP class */ /* Register 'Spoofchecker' PHP class */
spoofchecker_register_Spoofchecker_class( TSRMLS_C ); spoofchecker_register_Spoofchecker_class( TSRMLS_C );
/* Expose Spoofchecker constants to PHP scripts */ /* Expose Spoofchecker constants to PHP scripts */
spoofchecker_register_constants( INIT_FUNC_ARGS_PASSTHRU ); spoofchecker_register_constants( INIT_FUNC_ARGS_PASSTHRU );
#endif
/* Global error handling. */ /* Global error handling. */
intl_error_init( NULL TSRMLS_CC ); intl_error_init( NULL TSRMLS_CC );