]> git.pld-linux.org Git - packages/php.git/blame - pcre-shared.patch
up to php-7.2.0RC6, likely last RC
[packages/php.git] / pcre-shared.patch
CommitLineData
0f6cc514
ER
1--- php-7.2.0RC4/ext/pcre/config0.m4~ 2017-10-15 16:17:20.000000000 +0300
2+++ php-7.2.0RC4/ext/pcre/config0.m4 2017-10-15 18:34:27.673725678 +0300
c0240cb1 3@@ -11,7 +11,7 @@
4
5 if test "$PHP_PCRE_REGEX" != "yes" && test "$PHP_PCRE_REGEX" != "no"; then
6 AC_MSG_CHECKING([for PCRE headers location])
7- for i in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/include $PHP_PCRE_REGEX/include/pcre $PHP_PCRE_REGEX/local/include; do
8+ for i in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/include $PHP_PCRE_REGEX/include/pcre $PHP_PCRE_REGEX/local/include /usr/include; do
9 test -f $i/pcre.h && PCRE_INCDIR=$i
10 done
11
12@@ -21,7 +21,7 @@
13 AC_MSG_RESULT([$PCRE_INCDIR])
14
15 AC_MSG_CHECKING([for PCRE library location])
16- for j in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/$PHP_LIBDIR; do
17+ for j in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/$PHP_LIBDIR /usr/$PHP_LIBDIR; do
18 test -f $j/libpcre.a || test -f $j/libpcre.$SHLIB_SUFFIX_NAME && PCRE_LIBDIR=$j
19 done
20
0f6cc514
ER
21@@ -52,12 +52,13 @@
22 ],[
23 -L$PCRE_LIBDIR
24 ])
c0240cb1 25- PHP_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR)
26+ PHP_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR, PCRE_SHARED_LIBADD)
27
28 AC_DEFINE(HAVE_PCRE, 1, [ ])
29 PHP_ADD_INCLUDE($PCRE_INCDIR)
f4ee12ea
ER
30- PHP_NEW_EXTENSION(pcre, php_pcre.c, no,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
31+ PHP_NEW_EXTENSION(pcre, php_pcre.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
c0240cb1 32 PHP_INSTALL_HEADERS([ext/pcre], [php_pcre.h])
33+ EXTRA_LIBS="$EXTRA_LIBS -lpcre"
34 else
35 AC_MSG_CHECKING([for PCRE library to use])
36 AC_MSG_RESULT([bundled])
f4ee12ea
ER
37@@ -61,7 +62,7 @@
38 pcrelib/pcre_version.c pcrelib/pcre_xclass.c \
39 pcrelib/pcre_jit_compile.c"
40 PHP_PCRE_CFLAGS="-DHAVE_CONFIG_H -I@ext_srcdir@/pcrelib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
553dd2f2
ER
41- PHP_NEW_EXTENSION(pcre, $pcrelib_sources php_pcre.c, no,,$PHP_PCRE_CFLAGS)
42+ PHP_NEW_EXTENSION(pcre, $pcrelib_sources php_pcre.c, $ext_shared,,$PHP_PCRE_CFLAGS)
c0240cb1 43 PHP_ADD_BUILD_DIR($ext_builddir/pcrelib)
44 PHP_INSTALL_HEADERS([ext/pcre], [php_pcre.h pcrelib/])
45 AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ])
f389261f
ER
46--- php-7.2.0beta1/ext/pcre/php_pcre.h 2017-07-22 12:35:11.071146616 +0300
47+++ php-7.2.0beta1/ext/pcre/php_pcre.h 2017-07-22 12:41:01.858859537 +0300
48@@ -33,7 +33,29 @@
49 #include <locale.h>
c0240cb1 50 #endif
51
f389261f
ER
52+#if !defined(COMPILE_DL_PCRE_NOREDIRECT)
53+#define pcre_get_compiled_regex (*pcre_get_compiled_regex_p)
54+#define pcre_get_compiled_regex_cache (*pcre_get_compiled_regex_cache_p)
55+#define php_pcre_replace_impl (*php_pcre_replace_impl_p)
56+#define php_pcre_match_impl (*php_pcre_match_impl_p)
57+#define php_pcre_split_impl (*php_pcre_split_impl_p)
58+#if !defined(COMPILE_DL_PCRE_NOEXTERN)
59+# define PCRE_EXTERN extern
c0240cb1 60+#else
f389261f 61+# define PCRE_EXTERN
c0240cb1 62+#endif
f389261f
ER
63+#else
64+// for pcre.c
65+#define PCRE_EXTERN
66+extern void *pcre_get_compiled_regex_p;
67+extern void *pcre_get_compiled_regex_cache_p;
68+extern void *php_pcre_replace_impl_p;
69+extern void *php_pcre_match_impl_p;
70+extern void *php_pcre_split_impl_p;
71+#endif
72+
73 PHPAPI zend_string *php_pcre_replace(zend_string *regex, zend_string *subject_str, char *subject, int subject_len, zend_string *replace_str, int limit, int *replace_count);
74+PCRE_EXTERN
75 PHPAPI pcre* pcre_get_compiled_regex(zend_string *regex, pcre_extra **extra, int *options);
f4ee12ea 76 PHPAPI pcre* pcre_get_compiled_regex_ex(zend_string *regex, pcre_extra **extra, int *preg_options, int *coptions);
c0240cb1 77
f389261f
ER
78@@ -56,14 +78,18 @@
79 int refcount;
80 } pcre_cache_entry;
81
82+PCRE_EXTERN
83 PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex);
84
85+PCRE_EXTERN
86 PHPAPI void php_pcre_match_impl( pcre_cache_entry *pce, char *subject, int subject_len, zval *return_value,
87 zval *subpats, int global, int use_flags, zend_long flags, zend_long start_offset);
88
89+PCRE_EXTERN
90 PHPAPI zend_string *php_pcre_replace_impl(pcre_cache_entry *pce, zend_string *subject_str, char *subject, int subject_len, zend_string *replace_str,
91 int limit, int *replace_count);
92
93+PCRE_EXTERN
94 PHPAPI void php_pcre_split_impl( pcre_cache_entry *pce, zend_string *subject_str, zval *return_value,
95 zend_long limit_val, zend_long flags);
96
97--- php-5.3.1.pcre/ext/pcre/php_pcre.c 2009-11-30 21:38:01.759684456 +0000
98+++ php-7.2.0beta1/ext/pcre/php_pcre.c 2017-07-22 12:42:57.878062137 +0300
99@@ -21,6 +21,9 @@
100 #include "php.h"
101 #include "php_ini.h"
102 #include "php_globals.h"
103+#if COMPILE_DL_PCRE
104+#define COMPILE_DL_PCRE_NOREDIRECT
105+#endif
106 #include "php_pcre.h"
107 #include "ext/standard/info.h"
108 #include "ext/standard/basic_functions.h"
8379f0e0 109@@ -208,6 +211,14 @@
f389261f 110 REGISTER_LONG_CONSTANT("PREG_JIT_STACKLIMIT_ERROR", PHP_PCRE_JIT_STACKLIMIT_ERROR, CONST_CS | CONST_PERSISTENT);
c0240cb1 111 REGISTER_STRING_CONSTANT("PCRE_VERSION", (char *)pcre_version(), CONST_CS | CONST_PERSISTENT);
112
113+#if COMPILE_DL_PCRE
114+ pcre_get_compiled_regex_p = pcre_get_compiled_regex;
f389261f
ER
115+ pcre_get_compiled_regex_cache_p = pcre_get_compiled_regex_cache;
116+ php_pcre_replace_impl_p = php_pcre_replace_impl;
117+ php_pcre_match_impl_p = php_pcre_match_impl;
118+ php_pcre_split_impl_p = php_pcre_split_impl;
c0240cb1 119+#endif
120+
121 return SUCCESS;
122 }
123 /* }}} */
1e0b2f69
ER
124--- php-7.2.0RC5/ext/standard/basic_functions.c 2017-10-28 21:08:47.383549141 +0300
125+++ php-7.2.0RC5/ext/standard/basic_functions.c 2017-10-28 21:10:20.625051932 +0300
126@@ -113,6 +113,15 @@
127 PHPAPI php_basic_globals basic_globals;
128 #endif
c0240cb1 129
130+#if COMPILE_DL_PCRE
1e0b2f69
ER
131+// for pcre shared patch symbol
132+void *pcre_get_compiled_regex_p;
133+void *pcre_get_compiled_regex_cache_p;
134+void *php_pcre_replace_impl_p;
135+void *php_pcre_match_impl_p;
136+void *php_pcre_split_impl_p;
c0240cb1 137+#endif
138+
1e0b2f69
ER
139 #include "php_fopen_wrappers.h"
140 #include "streamsfuncs.h"
c0240cb1 141
c0240cb1 142--- php-5.3.2/sapi/cli/tests/018.phpt~ 2008-03-17 16:05:39.000000000 +0200
143+++ php-5.3.2/sapi/cli/tests/018.phpt 2010-03-16 20:41:11.341251246 +0200
144@@ -20,8 +20,6 @@
145 --EXPECTF--
146 [PHP Modules]
147 %a
148-pcre
149-%a
150
151 [Zend Modules]
152 %aDone
5dde8673
ER
153--- php-7.0.0beta3/main/php_ini.c~ 2015-08-26 18:50:15.000000000 +0300
154+++ php-7.0.0beta3/main/php_ini.c 2015-08-26 22:33:59.126957396 +0300
155@@ -765,8 +765,8 @@
156 */
157 void php_ini_register_extensions(void)
158 {
159- zend_llist_apply(&extension_lists.engine, php_load_zend_extension_cb);
160 zend_llist_apply(&extension_lists.functions, php_load_php_extension_cb);
161+ zend_llist_apply(&extension_lists.engine, php_load_zend_extension_cb);
162
163 zend_llist_destroy(&extension_lists.engine);
164 zend_llist_destroy(&extension_lists.functions);
736fd708
ER
165--- php-5.3.1/ext/phar/Makefile.frag~ 2009-07-23 15:48:04.000000000 +0000
166+++ php-5.3.1/ext/phar/Makefile.frag 2009-11-30 16:10:29.687175948 +0000
167@@ -10,7 +10,7 @@
168 $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
169 if test "x$(PHP_MODULES)" != "x"; then \
170 $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
171- for i in spl bz2 zlib phar; do \
172+ for i in pcre spl bz2 zlib phar; do \
173 if test -f "$(top_builddir)/modules/$$i.la"; then \
174 . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
175 fi; \
This page took 0.064401 seconds and 4 git commands to generate.