[Libreoffice-commits] core.git: Branch 'libreoffice-5-1' - configure.ac download.lst external/openssl Makefile.fetch

Tor Lillqvist tml at collabora.com
Thu Jan 7 00:57:35 PST 2016


 Makefile.fetch                              |    1 +
 configure.ac                                |    9 +++++++++
 download.lst                                |    2 ++
 external/openssl/ExternalProject_openssl.mk |    4 +++-
 4 files changed, 15 insertions(+), 1 deletion(-)

New commits:
commit 59903419ab177402cc394e282bf24cf05f8f3441
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Dec 10 16:57:36 2015 +0200

    Add --with-prebuilt-openssl
    
    Don't ask.
    
    Oh well, if you want to know: For some people, like me, Cygwin and its
    Perl run into horrible trouble with the fork() emulation when building
    OpenSSL. (But my Cygwin works fine for all else in the build. Go
    figure.)
    
    So I came up with a way to use prebuilt OpenSSL binaries. Not to be
    used for release builds, of course (and the configury checks for
    that), as long as our policy is to build all we can from sources.
    
    Change-Id: Ic303bdf0c620c5122aca3d646fa1f0587221e70f
    (cherry picked from commit cf029192e4ac9ce0e24ddfd880f5f9d557cf9c28)

diff --git a/Makefile.fetch b/Makefile.fetch
index 8b2da4e..1e5c984 100644
--- a/Makefile.fetch
+++ b/Makefile.fetch
@@ -192,6 +192,7 @@ $(WORKDIR)/download: $(BUILDDIR)/config_host.mk $(SRCDIR)/download.lst $(SRCDIR)
 		$(call fetch_Optional,PAGEMAKER,PAGEMAKER_TARBALL) \
 		$(call fetch_Optional,POPPLER,POPPLER_TARBALL) \
 		$(call fetch_Optional,POSTGRESQL,POSTGRESQL_TARBALL) \
+		$(call fetch_Optional,PREBUILT_OPENSSL,PREBUILT_OPENSSL_TARBALL) \
 		$(call fetch_Optional,PYTHON,PYTHON_TARBALL) \
 		$(call fetch_Optional,REDLAND,RAPTOR_TARBALL) \
 		$(call fetch_Optional,REDLAND,RASQAL_TARBALL) \
diff --git a/configure.ac b/configure.ac
index c5579eb..96a6048 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1469,6 +1469,11 @@ AC_ARG_ENABLE(openssl,
          use only if you are hacking on it.]),
 ,enable_openssl=yes)
 
+AC_ARG_WITH(prebuilt-openssl,
+    AS_HELP_STRING([--with-prebuilt-openssl],
+        [Don't build OpenSSL but use prebuilt binaries. Only for use on Windows, when you can't build it,
+         thanks to the Cygwin fork() problem when running the Perl disaster in OpenSSL's build system.]))
+
 AC_ARG_ENABLE(library-bin-tar,
     AS_HELP_STRING([--enable-library-bin-tar],
         [Enable the building and reused of tarball of binary build for some 'external' libraries.
@@ -8926,6 +8931,10 @@ if test "$with_system_nss" = "yes"; then
     libo_MINGW_CHECK_DLL([ssl3])
 fi
 
+if test $_os = WINNT -a -z "$ENABLE_RELEASE_BUILD" -a "$with_prebuilt_openssl" = yes; then
+    BUILD_TYPE="$BUILD_TYPE PREBUILT_OPENSSL"
+fi
+
 dnl ===================================================================
 dnl Check for system mozilla headers
 dnl ===================================================================
diff --git a/download.lst b/download.lst
index 26912a5..b3f0cad 100755
--- a/download.lst
+++ b/download.lst
@@ -124,6 +124,8 @@ export PNG_TARBALL := libpng-1.6.19.tar.gz
 export POPPLER_MD5SUM := 35c0660065d023365e9854c13e289d12
 export POPPLER_TARBALL := poppler-0.26.4.tar.gz
 export POSTGRESQL_TARBALL := c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2
+export PREBUILT_OPENSSL_MD5SUM=b91f5c21ab18e8ad993b94092479c39a
+export PREBUILT_OPENSSL_TARBALL=prebuilt-openssl.tar.bz2
 
 ifeq ($(PYTHON_VERSION_MINOR),3)
 export PYTHON_MD5SUM := 803a75927f8f241ca78633890c798021
diff --git a/external/openssl/ExternalProject_openssl.mk b/external/openssl/ExternalProject_openssl.mk
index ea5f8b2..c22ec7b 100644
--- a/external/openssl/ExternalProject_openssl.mk
+++ b/external/openssl/ExternalProject_openssl.mk
@@ -60,6 +60,8 @@ OPENSSL_PLATFORM := \
 
 ifeq ($(COM),MSC)
 $(call gb_ExternalProject_get_state_target,openssl,build):
+	$(if $(filter PREBUILT_OPENSSL,$(BUILD_TYPE)),\
+		cd $(BUILDDIR) && $(GNUTAR) -x -f $(gb_UnpackedTarget_TARFILE_LOCATION)/$(PREBUILT_OPENSSL_TARBALL),\
 	$(call gb_ExternalProject_run,build,\
 		export CC="$(shell cygpath -w $(filter-out -%,$(CC))) $(filter -%,$(CC))" \
 		&& export PERL="$(shell cygpath -w $(PERL))" \
@@ -68,7 +70,7 @@ $(call gb_ExternalProject_get_state_target,openssl,build):
 		&& cmd /c "ms\do_ms.bat $(PERL) $(OPENSSL_PLATFORM)" \
 		&& unset MAKEFLAGS \
 		&& nmake -f "ms\ntdll.mak" \
-	)
+	))
 
 else
 $(call gb_ExternalProject_get_state_target,openssl,build):


More information about the Libreoffice-commits mailing list