]> git.pld-linux.org Git - packages/php.git/blob - pcre-shared.patch
update pcre-shared.patch
[packages/php.git] / pcre-shared.patch
1 --- php-7.0/ext/pcre/config0.m4~        2015-05-24 14:39:04.000000000 +0300
2 +++ php-7.0/ext/pcre/config0.m4 2015-05-24 14:53:49.980250297 +0300
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      
21 @@ -43,12 +43,13 @@
22        AC_MSG_ERROR([The PCRE extension requires PCRE library version >= 6.6])
23      fi
24  
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)
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)
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])
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"
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)
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, [ ])
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>
50  #endif
51  
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
60 +#else
61 +#      define PCRE_EXTERN
62 +#endif
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);
76  PHPAPI pcre* pcre_get_compiled_regex_ex(zend_string *regex, pcre_extra **extra, int *preg_options, int *coptions);
77  
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"
109 @@ -28,6 +31,15 @@
110  
111  #if HAVE_PCRE || HAVE_BUNDLED_PCRE
112  
113 +#if COMPILE_DL_PCRE
114 +//extern void *pcre_get_compiled_regex_p;
115 +//extern void *pcre_get_compiled_regex_cache_p;
116 +//extern void *php_pcre_replace_impl_p;
117 +//extern void *php_pcre_match_impl_p;
118 +//extern void *php_pcre_split_impl_p;
119 +#endif
120 +
121 +
122  #include "ext/standard/php_string.h"
123  
124  #define PREG_PATTERN_ORDER                     1
125 @@ -208,6 +220,14 @@
126         REGISTER_LONG_CONSTANT("PREG_JIT_STACKLIMIT_ERROR", PHP_PCRE_JIT_STACKLIMIT_ERROR, CONST_CS | CONST_PERSISTENT);
127         REGISTER_STRING_CONSTANT("PCRE_VERSION", (char *)pcre_version(), CONST_CS | CONST_PERSISTENT);
128  
129 +#if COMPILE_DL_PCRE
130 +       pcre_get_compiled_regex_p = pcre_get_compiled_regex;
131 +       pcre_get_compiled_regex_cache_p = pcre_get_compiled_regex_cache;
132 +       php_pcre_replace_impl_p = php_pcre_replace_impl;
133 +       php_pcre_match_impl_p = php_pcre_match_impl;
134 +       php_pcre_split_impl_p = php_pcre_split_impl;
135 +#endif
136 +
137         return SUCCESS;
138  }
139  /* }}} */
140 --- php-5.3.1/ext/standard/browscap.c   2009-06-06 02:40:49.000000000 +0000
141 +++ php-5.3.1.pcre/ext/standard/browscap.c      2009-11-30 21:33:00.775241138 +0000
142 @@ -31,6 +31,11 @@
143  static zval *current_section;
144  static char *current_section_name;
145  
146 +#if COMPILE_DL_PCRE
147 +// will be visible in here
148 +PHPAPI pcre* (*pcre_get_compiled_regex_p)(zend_string *regex, pcre_extra **extra, int *options);
149 +#endif
150 +
151  #define DEFAULT_SECTION_NAME "Default Browser Capability Settings"
152  
153  /* OBJECTS_FIXME: This whole extension needs going through. The use of objects looks pretty broken here */
154 --- php-5.3.2/sapi/cli/tests/018.phpt~  2008-03-17 16:05:39.000000000 +0200
155 +++ php-5.3.2/sapi/cli/tests/018.phpt   2010-03-16 20:41:11.341251246 +0200
156 @@ -20,8 +20,6 @@
157  --EXPECTF--     
158  [PHP Modules]
159  %a
160 -pcre
161 -%a
162  
163  [Zend Modules]
164  %aDone
165 --- php-7.0.0beta3/main/php_ini.c~      2015-08-26 18:50:15.000000000 +0300
166 +++ php-7.0.0beta3/main/php_ini.c       2015-08-26 22:33:59.126957396 +0300
167 @@ -765,8 +765,8 @@
168   */
169  void php_ini_register_extensions(void)
170  {
171 -       zend_llist_apply(&extension_lists.engine, php_load_zend_extension_cb);
172         zend_llist_apply(&extension_lists.functions, php_load_php_extension_cb);
173 +       zend_llist_apply(&extension_lists.engine, php_load_zend_extension_cb);
174  
175         zend_llist_destroy(&extension_lists.engine);
176         zend_llist_destroy(&extension_lists.functions);
177 --- php-5.3.1/ext/phar/Makefile.frag~   2009-07-23 15:48:04.000000000 +0000
178 +++ php-5.3.1/ext/phar/Makefile.frag    2009-11-30 16:10:29.687175948 +0000
179 @@ -10,7 +10,7 @@
180                 $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
181                 if test "x$(PHP_MODULES)" != "x"; then \
182                 $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
183 -               for i in spl bz2 zlib phar; do \
184 +               for i in pcre spl bz2 zlib phar; do \
185                         if test -f "$(top_builddir)/modules/$$i.la"; then \
186                                 . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
187                         fi; \
188 --- php-7.2.0beta1/ext/spl/spl_iterators.h      2017-07-18 18:58:54.000000000 +0300
189 +++ php-7.2.0beta1-pcre-shared/ext/spl/spl_iterators.h  2017-07-24 22:55:20.641679202 +0300
190 @@ -24,9 +24,15 @@
191  #include "php.h"
192  #include "php_spl.h"
193  #if HAVE_PCRE || HAVE_BUNDLED_PCRE
194 +
195 +#if COMPILE_DL_PCRE
196 +// make pcre symbols will be declared here
197 +#define COMPILE_DL_PCRE_NOEXTERN
198  #include "ext/pcre/php_pcre.h"
199  #endif
200  
201 +#endif
202 +
203  #define spl_ce_Traversable   zend_ce_traversable
204  #define spl_ce_Iterator      zend_ce_iterator
205  #define spl_ce_Aggregate     zend_ce_aggregate
This page took 0.077537 seconds and 4 git commands to generate.