diff --git a/build_handwritten.yaml b/build_handwritten.yaml
index 51d58924f96..51815a3afeb 100644
--- a/build_handwritten.yaml
+++ b/build_handwritten.yaml
@@ -224,6 +224,7 @@ php_config_m4:
- grpc
- address_sorting
- boringssl
+ - re2
- z
headers:
- src/php/ext/grpc/byte_buffer.h
diff --git a/config.m4 b/config.m4
index 442df6ccbcb..6e1a41dad77 100644
--- a/config.m4
+++ b/config.m4
@@ -894,6 +894,29 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/ssl/tls13_server.cc \
third_party/boringssl-with-bazel/src/ssl/tls_method.cc \
third_party/boringssl-with-bazel/src/ssl/tls_record.cc \
+ third_party/re2/re2/bitstate.cc \
+ third_party/re2/re2/compile.cc \
+ third_party/re2/re2/dfa.cc \
+ third_party/re2/re2/filtered_re2.cc \
+ third_party/re2/re2/mimics_pcre.cc \
+ third_party/re2/re2/nfa.cc \
+ third_party/re2/re2/onepass.cc \
+ third_party/re2/re2/parse.cc \
+ third_party/re2/re2/perl_groups.cc \
+ third_party/re2/re2/prefilter.cc \
+ third_party/re2/re2/prefilter_tree.cc \
+ third_party/re2/re2/prog.cc \
+ third_party/re2/re2/re2.cc \
+ third_party/re2/re2/regexp.cc \
+ third_party/re2/re2/set.cc \
+ third_party/re2/re2/simplify.cc \
+ third_party/re2/re2/stringpiece.cc \
+ third_party/re2/re2/tostring.cc \
+ third_party/re2/re2/unicode_casefold.cc \
+ third_party/re2/re2/unicode_groups.cc \
+ third_party/re2/util/pcre.cc \
+ third_party/re2/util/rune.cc \
+ third_party/re2/util/strutil.cc \
third_party/upb/upb/decode.c \
third_party/upb/upb/def.c \
third_party/upb/upb/encode.c \
@@ -1068,5 +1091,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/x509)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/x509v3)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/ssl)
+ PHP_ADD_BUILD_DIR($ext_builddir/third_party/re2/re2)
+ PHP_ADD_BUILD_DIR($ext_builddir/third_party/re2/util)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb)
fi
diff --git a/config.w32 b/config.w32
index d8365fc9782..63dc65c6c8b 100644
--- a/config.w32
+++ b/config.w32
@@ -862,6 +862,29 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\ssl\\tls13_server.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\tls_method.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\tls_record.cc " +
+ "third_party\\re2\\re2\\bitstate.cc " +
+ "third_party\\re2\\re2\\compile.cc " +
+ "third_party\\re2\\re2\\dfa.cc " +
+ "third_party\\re2\\re2\\filtered_re2.cc " +
+ "third_party\\re2\\re2\\mimics_pcre.cc " +
+ "third_party\\re2\\re2\\nfa.cc " +
+ "third_party\\re2\\re2\\onepass.cc " +
+ "third_party\\re2\\re2\\parse.cc " +
+ "third_party\\re2\\re2\\perl_groups.cc " +
+ "third_party\\re2\\re2\\prefilter.cc " +
+ "third_party\\re2\\re2\\prefilter_tree.cc " +
+ "third_party\\re2\\re2\\prog.cc " +
+ "third_party\\re2\\re2\\re2.cc " +
+ "third_party\\re2\\re2\\regexp.cc " +
+ "third_party\\re2\\re2\\set.cc " +
+ "third_party\\re2\\re2\\simplify.cc " +
+ "third_party\\re2\\re2\\stringpiece.cc " +
+ "third_party\\re2\\re2\\tostring.cc " +
+ "third_party\\re2\\re2\\unicode_casefold.cc " +
+ "third_party\\re2\\re2\\unicode_groups.cc " +
+ "third_party\\re2\\util\\pcre.cc " +
+ "third_party\\re2\\util\\rune.cc " +
+ "third_party\\re2\\util\\strutil.cc " +
"third_party\\upb\\upb\\decode.c " +
"third_party\\upb\\upb\\def.c " +
"third_party\\upb\\upb\\encode.c " +
@@ -1107,6 +1130,9 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\x509");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\x509v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\ssl");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\re2");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\re2\\re2");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\re2\\util");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\zlib");
diff --git a/package.xml b/package.xml
index f9a00ed29e3..77c10ced9cd 100644
--- a/package.xml
+++ b/package.xml
@@ -1717,6 +1717,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+