[Libreoffice-commits] core.git: Get bundled openssl to be used on OS X too, at least on OS X <10.7

Stephan Bergmann sbergman at redhat.com
Tue Jan 21 09:44:50 PST 2014


On 01/20/2014 04:05 PM, Douglas Mencken wrote:
> commit 8ae8d5165c29cb899e6a8a57d1021a844ac30b30
> Author: Douglas Mencken <dougmencken at gmail.com>
> Date:   Mon Dec 30 10:55:47 2013 -0500
>
>      Get bundled openssl to be used on OS X too, at least on OS X <10.7

So looking at the context of the below configure.ac change, 
MAC_OS_X_VERSION_MIN_REQUIRED >= 1070 (thus incl. the "official" Mac OS 
X 64-bit builds, for a baseline of OS X 10.8) already used LO's own 
bundled openssl, while other builds for Mac OS X (thus incl. the 
"official" Mac OS X 32-bit builds, for a baseline of OS X 10.6) used to 
use the OS X openssl.  What is the rationale for switching the latter to 
use LO's own bundled openssl instead?

>      Also note that OpenSSL is incompatible with -fvisibility=hidden on OS X

Why?  What exactly did not work?  (For my local --enable-64-bit build I 
see that e.g. libpostgresql-sdbc-impllo.dylib now exports lots of _SSL_* 
symbols that it used to not export, which seemingly used to work fine.)

>      Change-Id: I1fc3cf4d515ef210f996cb04ba9c1b3216109137
>      Reviewed-on: https://gerrit.libreoffice.org/7233
>      Reviewed-by: Caolán McNamara <caolanm at redhat.com>
>      Tested-by: Caolán McNamara <caolanm at redhat.com>
>
> diff --git a/configure.ac b/configure.ac
> index 9e5f7de..eb024d7 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -9375,19 +9375,11 @@ if test "$enable_openssl" = "yes"; then
>           #
>           # http://stackoverflow.com/questions/7406946/why-is-apple-deprecating-openssl-in-macos-10-7-lion
>           # http://stackoverflow.com/questions/7475914/libcrypto-deprecated-on-mac-os-x-10-7-lion
> -        #
> -        # They apparently got fed up with the unstable ABI of
> -        # OpenSSL, or something, and recommend you either move to
> -        # their "Common Crypto Architecture", or, if you have to stay
> -        # with OpenSSL, just build it yourself statically and bundle
> -        # with your application.
>
>           with_system_openssl=no
>           libo_CHECK_SYSTEM_MODULE([openssl],[OPENSSL],[openssl])
> -    elif test "$_os" = "Darwin" -o "$_os" = "NetBSD" -o "$_os" = "OpenBSD" -o \
> -            "$_os" = "DragonFly" && test "$with_system_openssl" != "no"; then
> -        # Mac OS builds should get out without extra stuff is the Mac porters'
> -        # wish. And pkg-config is although Xcode ships a .pc for openssl
> +    elif test "$_os" = "NetBSD" -o "$_os" = "OpenBSD" -o "$_os" = "DragonFly" \
> +            && test "$with_system_openssl" != "no"; then
>           with_system_openssl=yes
>           SYSTEM_OPENSSL=YES
>           OPENSSL_CFLAGS=
> diff --git a/external/openssl/ExternalProject_openssl.mk b/external/openssl/ExternalProject_openssl.mk
> index 919e354..d04c186 100644
> --- a/external/openssl/ExternalProject_openssl.mk
> +++ b/external/openssl/ExternalProject_openssl.mk
> @@ -83,7 +83,7 @@ $(call gb_ExternalProject_get_state_target,openssl,build):
>   				$(if $(SYSBASE),-I$(SYSBASE)/usr/include -L$(SYSBASE)/usr/lib)) \
>   			$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
>   		&& $(MAKE) build_libs \
> -			CC="$(CC) -fPIC $(if $(filter-out WNT,$(OS)),\
> +			CC="$(CC) -fPIC $(if $(filter-out WNT MACOSX,$(OS)),\
>   			$(if $(filter TRUE,$(HAVE_GCC_VISIBILITY_FEATURE)),\
>   			-fvisibility=hidden))" \
>   	)



More information about the LibreOffice mailing list