[Libreoffice-commits] core.git: external/curl

Stephan Bergmann sbergman at redhat.com
Thu Sep 7 07:17:16 UTC 2017


 external/curl/ExternalProject_curl.mk |    1 
 external/curl/UnpackedTarball_curl.mk |    1 
 external/curl/zlib.patch.0            |  100 ++++++++++++++++++++++++++++++++++
 3 files changed, 102 insertions(+)

New commits:
commit 6a478cf43f647458e507de21c4c1edb70679ac74
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Sep 6 23:28:46 2017 +0200

    Pass --without-system-zlib into external/curl
    
    For (implicit) --with-zlib, curl's configure would insist on calling pkg-config
    and insist on using -lz to link against the zlib library.  None of that fits
    LO's --without-system-zlib option.
    
    So make curl's configure honor any passed in ZLIB_CLFAGS/LIBS (unless --without-
    zlib were explicitly specified; also, ZLIB_CLFAGS/LIBS would override any
    explicitly specified --with-zlib=PATH, which could be considered an error, but
    we do never explicitly specify --with-zlib=PATH in
    external/curl/ExternalProject_curl.mk, anyway).
    
    Both ZLIB_CLFAGS/LIBS are set in config_host.mk, so are always set as env vars,
    so would already be visible to curl's configure.  I nevertheless pass them into
    curl's configure explicitly in external/curl/ExternalProject_curl.mk, to make
    that more obvious.
    
    With (implicit) --with-system-zlib, LO's configure.ac will set ZLIB_LIBS and
    leave ZLIB_CFLAGS empty (and checks that zlib.h is indeed available without any
    ZLIB_CLFAGS being necessary).  And with --without-system-zlib, LO's configure.ac
    will set both ZLIB_CFLAGS/LIBS.  So curl's configure, as invoked from
    external/curl/ExternalProject_curl.mk, will now always go into the newly added
    case honoring any passed in ZLIB_CLFAGS/LIBS, which should thus always work out
    nicely and use the same zlib settings as configured for LO itself.
    
    (For documentation purposes, external/curl/zlib.patch.0 also contains the
    changes to curl's configure.ac that are reflected in the changes to curl's
    configure.)
    
    Change-Id: Icf5eefe44a7f9beb8a43a9af381f46e5c8b98b04
    Reviewed-on: https://gerrit.libreoffice.org/42032
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/external/curl/ExternalProject_curl.mk b/external/curl/ExternalProject_curl.mk
index d6590c368193..bd03275d4888 100644
--- a/external/curl/ExternalProject_curl.mk
+++ b/external/curl/ExternalProject_curl.mk
@@ -60,6 +60,7 @@ $(call gb_ExternalProject_get_state_target,curl,build):
 			$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
 			CPPFLAGS='$(curl_CPPFLAGS)' \
 			LDFLAGS='$(curl_LDFLAGS)' \
+			ZLIB_CFLAGS='$(ZLIB_CFLAGS)' ZLIB_LIBS='$(ZLIB_LIBS)' \
 		&& cd lib \
 		&& $(MAKE) \
 	)
diff --git a/external/curl/UnpackedTarball_curl.mk b/external/curl/UnpackedTarball_curl.mk
index 5eba91f73f17..b0d103204430 100644
--- a/external/curl/UnpackedTarball_curl.mk
+++ b/external/curl/UnpackedTarball_curl.mk
@@ -22,6 +22,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,curl,\
 	external/curl/curl-msvc-disable-protocols.patch.1 \
 	external/curl/curl-msvc-schannel.patch.1 \
 	external/curl/curl-7.26.0_win-proxy.patch \
+	external/curl/zlib.patch.0 \
 ))
 
 ifeq ($(SYSTEM_NSS),)
diff --git a/external/curl/zlib.patch.0 b/external/curl/zlib.patch.0
new file mode 100644
index 000000000000..87614c7703f7
--- /dev/null
+++ b/external/curl/zlib.patch.0
@@ -0,0 +1,100 @@
+--- configure
++++ configure
+@@ -937,8 +937,8 @@
+ ZLIB_LIBS
+ HAVE_LIBZ_FALSE
+ HAVE_LIBZ_TRUE
+-HAVE_LIBZ
+ PKGCONFIG
++HAVE_LIBZ
+ CURL_DISABLE_GOPHER
+ CURL_DISABLE_SMTP
+ CURL_DISABLE_SMB
+@@ -20709,7 +20709,6 @@
+ clean_CPPFLAGS=$CPPFLAGS
+ clean_LDFLAGS=$LDFLAGS
+ clean_LIBS=$LIBS
+-ZLIB_LIBS=""
+ 
+ # Check whether --with-zlib was given.
+ if test "${with_zlib+set}" = set; then :
+@@ -20718,6 +20719,7 @@
+ 
+ 
+ if test "$OPT_ZLIB" = "no" ; then
++    ZLIB_LIBS=""
+     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: zlib disabled" >&5
+ $as_echo "$as_me: WARNING: zlib disabled" >&2;}
+ else
+@@ -20725,6 +20725,21 @@
+     OPT_ZLIB=""
+   fi
+ 
++ if test -n "$ZLIB_CFLAGS$ZLIB_LIBS"; then
++  CPPFLAGS="$CPPFLAGS $ZLIB_CFLAGS"
++  LIBS="$ZLIB_LIBS $LIBS"
++  HAVE_LIBZ="1"
++
++
++$as_echo "#define HAVE_ZLIB_H 1" >>confdefs.h
++
++
++$as_echo "#define HAVE_LIBZ 1" >>confdefs.h
++
++  AMFIXLIB="1"
++ else
++  ZLIB_LIBS=""
++
+ 
+     if test -n "$PKG_CONFIG"; then
+       PKGCONFIG="$PKG_CONFIG"
+@@ -21005,6 +21020,7 @@
+ $as_echo "$as_me: found both libz and libz.h header" >&6;}
+     curl_zlib_msg="enabled"
+   fi
++ fi
+ fi
+ 
+  if test x"$AMFIXLIB" = x1; then
+--- configure.ac
++++ configure.ac
+@@ -880,19 +880,30 @@
+ clean_CPPFLAGS=$CPPFLAGS
+ clean_LDFLAGS=$LDFLAGS
+ clean_LIBS=$LIBS
+-ZLIB_LIBS=""
+ AC_ARG_WITH(zlib,
+ AC_HELP_STRING([--with-zlib=PATH],[search for zlib in PATH])
+ AC_HELP_STRING([--without-zlib],[disable use of zlib]),
+                [OPT_ZLIB="$withval"])
+ 
+ if test "$OPT_ZLIB" = "no" ; then
++    ZLIB_LIBS=""
+     AC_MSG_WARN([zlib disabled])
+ else
+   if test "$OPT_ZLIB" = "yes" ; then
+     OPT_ZLIB=""
+   fi
+ 
++ if test -n "$ZLIB_CFLAGS$ZLIB_LIBS"; then
++  CPPFLAGS="$CPPFLAGS $ZLIB_CFLAGS"
++  LIBS="$ZLIB_LIBS $LIBS"
++  HAVE_LIBZ="1"
++  AC_SUBST(HAVE_LIBZ)
++  AC_DEFINE(HAVE_ZLIB_H, 1, [if you have the zlib.h header file])
++  AC_DEFINE(HAVE_LIBZ, 1, [if zlib is available])
++  AMFIXLIB="1"
++ else
++  ZLIB_LIBS=""
++
+   CURL_CHECK_PKGCONFIG(zlib)
+ 
+   if test "$PKGCONFIG" != "no" ; then
+@@ -975,6 +986,7 @@
+     AC_MSG_NOTICE([found both libz and libz.h header])
+     curl_zlib_msg="enabled"
+   fi
++ fi
+ fi
+ 
+ dnl set variable for use in automakefile(s)


More information about the Libreoffice-commits mailing list