diff options
| author | Spencer Jackson <spencer.jackson@mongodb.com> | 2018-03-06 18:33:23 -0500 |
|---|---|---|
| committer | Spencer Jackson <spencer.jackson@mongodb.com> | 2018-04-10 18:52:31 -0400 |
| commit | b94082c75466269096084c1385aa9c30af05161f (patch) | |
| tree | eebd4537be2f4f2e02eae869551d73e75a060a61 /SConstruct | |
| parent | 4e1fff07b0d76337232abc682fbbe13c546e5c13 (diff) | |
| download | mongo-b94082c75466269096084c1385aa9c30af05161f.tar.gz | |
SERVER-34390: Static link OpenSSL on OS X
Diffstat (limited to 'SConstruct')
| -rw-r--r-- | SConstruct | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/SConstruct b/SConstruct index f012e1a27d9..c0890782982 100644 --- a/SConstruct +++ b/SConstruct @@ -2753,9 +2753,11 @@ def doConfigure(myenv): def checkOpenSSL(conf): sslLibName = "ssl" cryptoLibName = "crypto" + sslLinkDependencies = ["crypto", "dl"] if conf.env.TargetOSIs('windows'): sslLibName = "ssleay32" cryptoLibName = "libeay32" + sslLinkDependencies = ["libeay32"] # Add the SSL binaries to the zip file distribution def addOpenSslLibraryToDistArchive(file_name): @@ -2813,15 +2815,6 @@ def doConfigure(myenv): pass if not conf.CheckLibWithHeader( - sslLibName, - ["openssl/ssl.h"], - "C", - "SSL_version(NULL);", - autoadd=True): - maybeIssueDarwinSSLAdvice(conf.env) - conf.env.ConfError("Couldn't find OpenSSL ssl.h header and library") - - if not conf.CheckLibWithHeader( cryptoLibName, ["openssl/crypto.h"], "C", @@ -2830,6 +2823,23 @@ def doConfigure(myenv): maybeIssueDarwinSSLAdvice(conf.env) conf.env.ConfError("Couldn't find OpenSSL crypto.h header and library") + def CheckLibSSL(context): + res = SCons.Conftest.CheckLib(context, + libs=[sslLibName], + extra_libs=sslLinkDependencies, + header='#include "openssl/ssl.h"', + language="C", + call="SSL_version(NULL);", + autoadd=True) + context.did_show_result = 1 + return not res + + conf.AddTest("CheckLibSSL", CheckLibSSL) + + if not conf.CheckLibSSL(): + maybeIssueDarwinSSLAdvice(conf.env) + conf.env.ConfError("Couldn't find OpenSSL ssl.h header and library") + def CheckLinkSSL(context): test_body = """ #include <openssl/err.h> |
