- 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])
fi
ICU_VERSION=$icu_version
ICU_INCS=`$ICU_CONFIG --cppflags-searchpath`
ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio`
PHP_EVAL_INCLINE($ICU_INCS)

View File

@ -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)

View File

@ -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 );