summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.fetch1
-rw-r--r--configure.ac9
-rwxr-xr-xdownload.lst2
-rw-r--r--external/openssl/ExternalProject_openssl.mk4
4 files changed, 15 insertions, 1 deletions
diff --git a/Makefile.fetch b/Makefile.fetch
index cbc51b221672..4816ed63fc80 100644
--- a/Makefile.fetch
+++ b/Makefile.fetch
@@ -193,6 +193,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 3e1c51a3b18b..157e7bc88692 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1473,6 +1473,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.
@@ -8943,6 +8948,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 be68617a23db..0b22720c9316 100755
--- a/download.lst
+++ b/download.lst
@@ -126,6 +126,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 ea5f8b22b1c8..c22ec7bfc417 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):