]> granicus.if.org Git - php/commitdiff
- fix build with ICU < 4.2, add ICU_VERSION for m4 checks
authorPierre Joye <pajoye@php.net>
Tue, 15 Feb 2011 08:28:03 +0000 (08:28 +0000)
committerPierre Joye <pajoye@php.net>
Tue, 15 Feb 2011 08:28:03 +0000 (08:28 +0000)
acinclude.m4
ext/intl/config.m4
ext/intl/php_intl.c

index cad22bf5086f3780504958831cd4ab15a3299bde..9d38902ca072d75e7cca12a17530fbdb4698aeaf 100644 (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)
index ca1f348d6aa230002d525d1a32f8299a71b54ff1..0477c7f59dd02d56697597938c5d71504e96221b 100755 (executable)
@@ -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)
index 0512847fa1a6672d3f057299b8c8d0f339ad996b..ab5640486ddfc64e88b6ae0f44b3cd1f11f234b8 100755 (executable)
 
 #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 );