]> TLD Linux GIT Repositories - packages/php.git/blobdiff - pcre-shared.patch
- PHP_5_4 branch from PLD
[packages/php.git] / pcre-shared.patch
diff --git a/pcre-shared.patch b/pcre-shared.patch
new file mode 100644 (file)
index 0000000..6bb1a70
--- /dev/null
@@ -0,0 +1,110 @@
+--- php-5.3.1/ext/pcre/config0.m4      2009-11-30 22:09:24.385647500 +0000
++++ php-5.3.24/ext/pcre/config0.m4     2013-04-17 13:37:52.761509001 +0300
+@@ -11,7 +11,7 @@
+   if test "$PHP_PCRE_REGEX" != "yes" && test "$PHP_PCRE_REGEX" != "no"; then
+     AC_MSG_CHECKING([for PCRE headers location])
+-    for i in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/include $PHP_PCRE_REGEX/include/pcre $PHP_PCRE_REGEX/local/include; do
++    for i in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/include $PHP_PCRE_REGEX/include/pcre $PHP_PCRE_REGEX/local/include /usr/include; do
+       test -f $i/pcre.h && PCRE_INCDIR=$i
+     done
+@@ -21,7 +21,7 @@
+     AC_MSG_RESULT([$PCRE_INCDIR])
+     AC_MSG_CHECKING([for PCRE library location])
+-    for j in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/$PHP_LIBDIR; do
++    for j in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/$PHP_LIBDIR /usr/$PHP_LIBDIR; do
+       test -f $j/libpcre.a || test -f $j/libpcre.$SHLIB_SUFFIX_NAME && PCRE_LIBDIR=$j
+     done
+     
+@@ -43,12 +43,14 @@
+       AC_MSG_ERROR([The PCRE extension requires PCRE library version >= 6.6])
+     fi
+-    PHP_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR)
++    PHP_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR, PCRE_SHARED_LIBADD)
+     
+     AC_DEFINE(HAVE_PCRE, 1, [ ])
+     PHP_ADD_INCLUDE($PCRE_INCDIR)
+-    PHP_NEW_EXTENSION(pcre, php_pcre.c, no)
++    PHP_NEW_EXTENSION(pcre, php_pcre.c, $ext_shared)
++    PHP_SUBST(PCRE_SHARED_LIBADD)
+     PHP_INSTALL_HEADERS([ext/pcre], [php_pcre.h])
++    EXTRA_LIBS="$EXTRA_LIBS -lpcre"
+   else
+     AC_MSG_CHECKING([for PCRE library to use])
+     AC_MSG_RESULT([bundled])
+--- php-5.3.1/ext/pcre/php_pcre.h      2009-11-30 20:59:04.046581246 +0200
++++ php-5.3.1.pcre/ext/pcre/php_pcre.h 2009-11-30 21:38:06.435493243 +0000
+@@ -34,7 +34,12 @@
+ #endif
+ PHPAPI char *php_pcre_replace(char *regex, int regex_len, char *subject, int subject_len, zval *replace_val, int is_callable_replace, int *result_len, int limit, int *replace_count TSRMLS_DC);
++#if COMPILE_DL_PCRE
++#define pcre_get_compiled_regex pcre_get_compiled_regex_p
++extern PHPAPI pcre* (*pcre_get_compiled_regex)(char *regex, pcre_extra **extra, int *options TSRMLS_DC);
++#else
+ PHPAPI pcre* pcre_get_compiled_regex(char *regex, pcre_extra **extra, int *options TSRMLS_DC);
++#endif
+ PHPAPI pcre* pcre_get_compiled_regex_ex(char *regex, pcre_extra **extra, int *preg_options, int *coptions TSRMLS_DC);
+ extern zend_module_entry pcre_module_entry;
+--- php-5.3.1/ext/pcre/php_pcre.c      2009-11-30 21:10:01.370473754 +0200
++++ php-5.3.1.pcre/ext/pcre/php_pcre.c 2009-11-30 21:38:01.759684456 +0000
+@@ -27,6 +27,11 @@
+ #if HAVE_PCRE || HAVE_BUNDLED_PCRE
++#if COMPILE_DL_PCRE
++#undef pcre_get_compiled_regex
++PHPAPI pcre* pcre_get_compiled_regex(char *regex, pcre_extra **extra, int *preg_options TSRMLS_DC);
++#endif
++
+ #include "ext/standard/php_string.h"
+ #define PREG_PATTERN_ORDER                    1
+@@ -153,6 +158,10 @@
+       REGISTER_LONG_CONSTANT("PREG_BAD_UTF8_OFFSET_ERROR", PHP_PCRE_BAD_UTF8_OFFSET_ERROR, CONST_CS | CONST_PERSISTENT);
+       REGISTER_STRING_CONSTANT("PCRE_VERSION", (char *)pcre_version(), CONST_CS | CONST_PERSISTENT);
++#if COMPILE_DL_PCRE
++      pcre_get_compiled_regex_p = pcre_get_compiled_regex;
++#endif
++
+       return SUCCESS;
+ }
+ /* }}} */
+@@ -429,6 +438,7 @@
+ }
+ /* }}} */
++
+ /* {{{ pcre_get_compiled_regex
+  */
+ PHPAPI pcre* pcre_get_compiled_regex(char *regex, pcre_extra **extra, int *preg_options TSRMLS_DC)
+--- php-5.3.1/ext/standard/browscap.c  2009-06-06 02:40:49.000000000 +0000
++++ php-5.3.1.pcre/ext/standard/browscap.c     2009-11-30 21:33:00.775241138 +0000
+@@ -31,6 +31,11 @@
+ static zval *current_section;
+ static char *current_section_name;
++#if COMPILE_DL_PCRE
++// will be visible in here
++PHPAPI pcre* (*pcre_get_compiled_regex_p)(char *regex, pcre_extra **extra, int *options TSRMLS_DC);
++#endif
++
+ #define DEFAULT_SECTION_NAME "Default Browser Capability Settings"
+ /* OBJECTS_FIXME: This whole extension needs going through. The use of objects looks pretty broken here */
+--- php-5.3.2/sapi/cli/tests/018.phpt~ 2008-03-17 16:05:39.000000000 +0200
++++ php-5.3.2/sapi/cli/tests/018.phpt  2010-03-16 20:41:11.341251246 +0200
+@@ -20,8 +20,6 @@
+ --EXPECTF--     
+ [PHP Modules]
+ %a
+-pcre
+-%a
+ [Zend Modules]
+ %aDone