---- php-7.0/ext/pcre/config0.m4~ 2015-05-24 14:39:04.000000000 +0300
-+++ php-7.0/ext/pcre/config0.m4 2015-05-24 14:53:49.980250297 +0300
+--- php-7.2.0RC4/ext/pcre/config0.m4~ 2017-10-15 16:17:20.000000000 +0300
++++ php-7.2.0RC4/ext/pcre/config0.m4 2017-10-15 18:34:27.673725678 +0300
@@ -11,7 +11,7 @@
if test "$PHP_PCRE_REGEX" != "yes" && test "$PHP_PCRE_REGEX" != "no"; then
+ 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,13 @@
- AC_MSG_ERROR([The PCRE extension requires PCRE library version >= 6.6])
- fi
+@@ -52,12 +52,13 @@
+ ],[
+ -L$PCRE_LIBDIR
+ ])
- 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,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
PHPAPI pcre* pcre_get_compiled_regex(zend_string *regex, pcre_extra **extra, int *options);
PHPAPI pcre* pcre_get_compiled_regex_ex(zend_string *regex, pcre_extra **extra, int *preg_options, int *coptions);
-@@ -56,14 +78,18 @@
+@@ -78,18 +78,23 @@ typedef struct {
int refcount;
} pcre_cache_entry;
+PCRE_EXTERN
PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex);
+ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache_ex(zend_string *regex, int locale_aware);
+PCRE_EXTERN
PHPAPI void php_pcre_match_impl( pcre_cache_entry *pce, char *subject, int subject_len, zval *return_value,
PHPAPI void php_pcre_split_impl( pcre_cache_entry *pce, zend_string *subject_str, zval *return_value,
zend_long limit_val, zend_long flags);
++PCRE_EXTERN
+ PHPAPI void php_pcre_grep_impl( pcre_cache_entry *pce, zval *input, zval *return_value,
+ zend_long flags);
+
--- php-5.3.1.pcre/ext/pcre/php_pcre.c 2009-11-30 21:38:01.759684456 +0000
+++ php-7.2.0beta1/ext/pcre/php_pcre.c 2017-07-22 12:42:57.878062137 +0300
@@ -21,6 +21,9 @@
#include "php_pcre.h"
#include "ext/standard/info.h"
#include "ext/standard/basic_functions.h"
-@@ -28,6 +31,15 @@
-
- #if HAVE_PCRE || HAVE_BUNDLED_PCRE
-
-+#if COMPILE_DL_PCRE
-+//extern void *pcre_get_compiled_regex_p;
-+//extern void *pcre_get_compiled_regex_cache_p;
-+//extern void *php_pcre_replace_impl_p;
-+//extern void *php_pcre_match_impl_p;
-+//extern void *php_pcre_split_impl_p;
-+#endif
-+
-+
- #include "ext/standard/php_string.h"
-
- #define PREG_PATTERN_ORDER 1
-@@ -208,6 +220,14 @@
+@@ -208,6 +211,14 @@
REGISTER_LONG_CONSTANT("PREG_JIT_STACKLIMIT_ERROR", PHP_PCRE_JIT_STACKLIMIT_ERROR, CONST_CS | CONST_PERSISTENT);
REGISTER_STRING_CONSTANT("PCRE_VERSION", (char *)pcre_version(), CONST_CS | CONST_PERSISTENT);
return SUCCESS;
}
/* }}} */
---- 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;
+--- php-7.2.0RC5/ext/standard/basic_functions.c 2017-10-28 21:08:47.383549141 +0300
++++ php-7.2.0RC5/ext/standard/basic_functions.c 2017-10-28 21:10:20.625051932 +0300
+@@ -113,6 +113,15 @@
+ PHPAPI php_basic_globals basic_globals;
+ #endif
+#if COMPILE_DL_PCRE
-+// will be visible in here
-+PHPAPI pcre* (*pcre_get_compiled_regex_p)(zend_string *regex, pcre_extra **extra, int *options);
++// for pcre shared patch symbol
++void *pcre_get_compiled_regex_p;
++void *pcre_get_compiled_regex_cache_p;
++void *php_pcre_replace_impl_p;
++void *php_pcre_match_impl_p;
++void *php_pcre_split_impl_p;
+#endif
+
- #define DEFAULT_SECTION_NAME "Default Browser Capability Settings"
+ #include "php_fopen_wrappers.h"
+ #include "streamsfuncs.h"
- /* 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--
+ --EXPECTF--
[PHP Modules]
%a
-pcre
if test -f "$(top_builddir)/modules/$$i.la"; then \
. $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
fi; \
---- php-7.2.0beta1/ext/spl/spl_iterators.h 2017-07-18 18:58:54.000000000 +0300
-+++ php-7.2.0beta1-pcre-shared/ext/spl/spl_iterators.h 2017-07-24 22:55:20.641679202 +0300
-@@ -24,9 +24,15 @@
- #include "php.h"
- #include "php_spl.h"
- #if HAVE_PCRE || HAVE_BUNDLED_PCRE
-+
-+#if COMPILE_DL_PCRE
-+// make pcre symbols will be declared here
-+#define COMPILE_DL_PCRE_NOEXTERN
- #include "ext/pcre/php_pcre.h"
- #endif
-
-+#endif
-+
- #define spl_ce_Traversable zend_ce_traversable
- #define spl_ce_Iterator zend_ce_iterator
- #define spl_ce_Aggregate zend_ce_aggregate