Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/3328

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/28/3328/1

build: new --disable-openssl flag

Most of the components included in LibreOffice
already support alternative TLS libraries (e.g.
NSS, GnuTLS).

Change-Id: If00c348046fdbc88156f3d89c25e874e7e9bd04c
---
M config_host.mk.in
M configure.ac
2 files changed, 46 insertions(+), 15 deletions(-)



diff --git a/config_host.mk.in b/config_host.mk.in
index ec1542a..d794d16 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -98,6 +98,7 @@
 export DISABLE_EXPORT=@DISABLE_EXPORT@
 export DISABLE_LINKOO=@DISABLE_LINKOO@
 export DISABLE_NEON=@DISABLE_NEON@
+export DISABLE_OPENSSL=@DISABLE_OPENSSL@
 export DISABLE_PYTHON=@DISABLE_PYTHON@
 export DISABLE_SCRIPTING=@DISABLE_SCRIPTING@
 export DLLTOOL=@DLLTOOL@
diff --git a/configure.ac b/configure.ac
index 470ec8d..9c1f2e9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1169,6 +1169,13 @@
         [MACOSX only: on MacOSX pkg-config can cause trouble. by default if one is found in the 
PATH, an error is issued. This flag turn that error into a warning.]),
 )
 
+AC_ARG_ENABLE(openssl,
+    AS_HELP_STRING([--disable-openssl],
+        [Disable using libssl/libcrypto from OpenSSL. If disabled,
+         components will either use GNUTLS or NSS. Work in progress,
+         use only if you are hacking on it.]),
+,enable_openssl=yes)
+
 dnl ===================================================================
 dnl Optional Packages (--with/without-)
 dnl ===================================================================
@@ -8099,6 +8106,10 @@
         AC_DEFINE(USE_TLS_OPENSSL)
         TLS=OPENSSL
 
+        if test "$enable_openssl" != "yes"; then
+            AC_MSG_ERROR(["Disabling OpenSSL was requested, but the requested TLS to use is 
actually OpenSSL."])
+        fi
+
         # warn that OpenSSL has been selected but not all TLS code has this option
         AC_MSG_WARN([TLS/SSL implementation to use is OpenSSL but some code may still be depending 
on NSS or GNUTLS])
         add_warning "TLS/SSL implementation to use is OpenSSL but some code may still be depending 
on NSS or GNUTLS"
@@ -8115,8 +8126,13 @@
         ;;
     esac
 else
-    AC_DEFINE(USE_TLS_OPENSSL)
-    TLS=OPENSSL
+    if test "$enable_openssl" = "yes"; then
+        AC_DEFINE(USE_TLS_OPENSSL)
+        TLS=OPENSSL
+    else
+        AC_DEFINE(USE_TLS_NSS)
+        TLS=NSS
+    fi
 fi
 AC_MSG_RESULT([$TLS])
 AC_SUBST(TLS)
@@ -8515,21 +8531,35 @@
 dnl ===================================================================
 dnl Check for system openssl
 dnl ===================================================================
-if 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
-    with_system_openssl=yes
-    SYSTEM_OPENSSL=YES
-    OPENSSL_CFLAGS=
-    OPENSSL_LIBS="-lssl -lcrypto"
+DISABLE_OPENSSL="NO"
+AC_MSG_CHECKING([whether to disable OpenSSL usage])
+if test "$enable_openssl" = "yes"; then
+    AC_MSG_RESULT([no])
+    if 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
+        with_system_openssl=yes
+        SYSTEM_OPENSSL=YES
+        OPENSSL_CFLAGS=
+        OPENSSL_LIBS="-lssl -lcrypto"
+    else
+        libo_CHECK_SYSTEM_MODULE([openssl],[OPENSSL],[openssl])
+    fi
+    if test "$with_system_openssl" = "yes"; then
+        libo_MINGW_CHECK_DLL([SSL], [libssl])
+        libo_MINGW_CHECK_DLL([CRYPTO], [libcrypto])
+    fi
 else
-    libo_CHECK_SYSTEM_MODULE([openssl],[OPENSSL],[openssl])
+    AC_MSG_RESULT([yes])
+    DISABLE_OPENSSL=YES
+
+    # warn that although OpenSSL is disabled, system libraries may be depending on it
+    AC_MSG_WARN([OpenSSL has been disabled. No code compiled by LibO will make use of it but 
system librares may create indirect dependencies])
+    add_warning "OpenSSL has been disabled. No code compiled by LibO will make use of it but 
system librares may create indirect dependencies"
 fi
-if test "$with_system_openssl" = "yes"; then
-    libo_MINGW_CHECK_DLL([libssl])
-    libo_MINGW_CHECK_DLL([libcrypto])
-fi
+
+AC_SUBST([DISABLE_OPENSSL])
 
 dnl ===================================================================
 dnl Check for system redland

-- 
To view, visit https://gerrit.libreoffice.org/3328
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If00c348046fdbc88156f3d89c25e874e7e9bd04c
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Andres Gomez <agomez@igalia.com>


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.