summaryrefslogtreecommitdiffstats
path: root/6.patch
diff options
context:
space:
mode:
Diffstat (limited to '6.patch')
-rw-r--r--6.patch121
1 files changed, 121 insertions, 0 deletions
diff --git a/6.patch b/6.patch
new file mode 100644
index 0000000..4d826d8
--- /dev/null
+++ b/6.patch
@@ -0,0 +1,121 @@
+From 50e219b0df0d66357dfd504475a041b545d9330d Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Thu, 9 Nov 2017 14:31:44 +0100
+Subject: [PATCH] allow to use system broti library
+
+---
+ config.m4 | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++----------
+ php_brotli.h | 1 -
+ 2 files changed, 56 insertions(+), 12 deletions(-)
+
+diff --git a/config.m4 b/config.m4
+index c7f7a4c..5010df0 100644
+--- a/config.m4
++++ b/config.m4
+@@ -1,38 +1,83 @@
+ dnl config.m4 for extension brotli
+
+-dnl Check PHP version:
++dnl Check PHP version ID:
+ AC_MSG_CHECKING(PHP version)
+ if test ! -z "$phpincludedir"; then
+- PHP_VERSION=`grep 'PHP_VERSION ' $phpincludedir/main/php_version.h | sed -e 's/.*"\([[0-9\.]]*\)".*/\1/g' 2>/dev/null`
++ PHP_VERSION_ID=`grep 'PHP_VERSION_ID' $phpincludedir/main/php_version.h | sed -e 's/.* \([[0-9]]*\)/\1/g' 2>/dev/null`
+ elif test ! -z "$PHP_CONFIG"; then
+- PHP_VERSION=`$PHP_CONFIG --version 2>/dev/null`
++ PHP_VERSION_ID=`$PHP_CONFIG --vernum 2>/dev/null`
+ fi
+
+-if test x"$PHP_VERSION" = "x"; then
++if test x"$PHP_VERSION_ID" = "x"; then
+ AC_MSG_WARN([none])
+ else
+- PHP_MAJOR_VERSION=`echo $PHP_VERSION | sed -e 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/g' 2>/dev/null`
+- PHP_MINOR_VERSION=`echo $PHP_VERSION | sed -e 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/g' 2>/dev/null`
+- PHP_RELEASE_VERSION=`echo $PHP_VERSION | sed -e 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/g' 2>/dev/null`
+- AC_MSG_RESULT([$PHP_VERSION])
++ AC_MSG_RESULT($PHP_VERSION_ID)
+ fi
+
+-if test $PHP_MAJOR_VERSION -lt 5; then
++if test $PHP_VERSION_ID -lt 50000; then
+ AC_MSG_ERROR([need at least PHP 5 or newer])
+ fi
+
+ PHP_ARG_ENABLE(brotli, whether to enable brotli support,
+ [ --enable-brotli Enable brotli support])
+
++PHP_ARG_WITH(libbrotli, whether to use system brotli library,
++[ --with-libbrotli=DIR Use libbrotli], no, no)
++
+ if test "$PHP_BROTLI" != "no"; then
+
++ BROTLI_MIN_VERSION=0.6
++
++ if test "$PHP_LIBBROTLI" != "no"; then
++ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
++
++ AC_MSG_CHECKING(for libbrotlienc)
++ if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libbrotlienc; then
++ if $PKG_CONFIG libbrotlienc --atleast-version $BROTLI_MIN_VERSION; then
++ LIBBROTLIENC_CFLAGS=`$PKG_CONFIG libbrotlienc --cflags`
++ LIBBROTLIENC_LIBS=`$PKG_CONFIG libbrotlienc --libs`
++ LIBBROTLIENC_VERSION=`$PKG_CONFIG libbrotlienc --modversion`
++ AC_MSG_RESULT(from pkgconfig: version $LIBBROTLIENC_VERSION found)
++ else
++ AC_MSG_ERROR(system libbrotlienc must be upgraded to version >= $BROTLI_MIN_VERSION)
++ fi
++ else
++ AC_MSG_ERROR(system libbrotlienc not found)
++ fi
++ PHP_EVAL_INCLINE($LIBBROTLIENC_CFLAGS)
++ PHP_EVAL_LIBLINE($LIBBROTLIENC_LIBS, BROTLI_SHARED_LIBADD)
++
++ AC_MSG_CHECKING(for libbrotlidec)
++ if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libbrotlidec; then
++ if $PKG_CONFIG libbrotlidec --atleast-version $BROTLI_MIN_VERSION; then
++ LIBBROTLIDEC_CFLAGS=`$PKG_CONFIG libbrotlidec --cflags`
++ LIBBROTLIDEC_LIBS=`$PKG_CONFIG libbrotlidec --libs`
++ LIBBROTLIDEC_VERSION=`$PKG_CONFIG libbrotlidec --modversion`
++ AC_MSG_RESULT(from pkgconfig: version $LIBBROTLIDEC_VERSION found)
++ else
++ AC_MSG_ERROR(system libbrotlienc must be upgraded to version >= $BROTLI_MIN_VERSION)
++ fi
++ else
++ AC_MSG_ERROR(system libbrotlienc not found)
++ fi
++ PHP_EVAL_INCLINE($LIBBROTLIDEC_CFLAGS)
++ PHP_EVAL_LIBLINE($LIBBROTLIDEC_LIBS, BROTLI_SHARED_LIBADD)
++ AC_DEFINE_UNQUOTED(BROTLI_LIB_VERSION, "$LIBBROTLIDEC_VERSION", [system library version])
++ else
++ AC_MSG_CHECKING(for brotli)
++ AC_MSG_RESULT(use bundled copy)
++ AC_DEFINE_UNQUOTED(BROTLI_LIB_VERSION, "1.0.1", [bundled library version])
++
+ BROTLI_COMMON_SOURCES="brotli/c/common/dictionary.c"
+ BROTLI_ENC_SOURCES="brotli/c/enc/backward_references.c brotli/c/enc/backward_references_hq.c brotli/c/enc/bit_cost.c brotli/c/enc/block_splitter.c brotli/c/enc/brotli_bit_stream.c brotli/c/enc/cluster.c brotli/c/enc/compress_fragment.c brotli/c/enc/compress_fragment_two_pass.c brotli/c/enc/dictionary_hash.c brotli/c/enc/encode.c brotli/c/enc/entropy_encode.c brotli/c/enc/histogram.c brotli/c/enc/literal_cost.c brotli/c/enc/memory.c brotli/c/enc/metablock.c brotli/c/enc/static_dict.c brotli/c/enc/utf8_util.c"
+ BROTLI_DEC_SOURCES="brotli/c/dec/bit_reader.c brotli/c/dec/decode.c brotli/c/dec/huffman.c brotli/c/dec/state.c"
++ fi
+
+- PHP_SUBST(BROTLI_SHARED_LIBADD)
++ PHP_SUBST(BROTLI_SHARED_LIBADD)
+
+- PHP_NEW_EXTENSION(brotli, brotli.c $BROTLI_COMMON_SOURCES $BROTLI_ENC_SOURCES $BROTLI_DEC_SOURCES, $ext_shared)
++ PHP_NEW_EXTENSION(brotli, brotli.c $BROTLI_COMMON_SOURCES $BROTLI_ENC_SOURCES $BROTLI_DEC_SOURCES, $ext_shared)
+
++ if test -n "$BROTLI_COMMON_SOURCES" ; then
+ PHP_ADD_INCLUDE([$ext_srcdir/brotli/c/include])
++ fi
+ fi
+diff --git a/php_brotli.h b/php_brotli.h
+index 4405001..773af76 100644
+--- a/php_brotli.h
++++ b/php_brotli.h
+@@ -6,7 +6,6 @@ extern "C" {
+ #endif
+
+ #define BROTLI_EXT_VERSION "0.5.0"
+-#define BROTLI_LIB_VERSION "1.0.1"
+
+ extern zend_module_entry brotli_module_entry;
+ #define phpext_brotli_ptr &brotli_module_entry