Allow building with system wide mbedtls on X11
Using builtin_mbedtls=yes is still the default as many distributions do not ship with mbedtls included.
This commit is contained in:
parent
9e2b1b3b00
commit
bd3c27ba78
|
@ -181,6 +181,7 @@ opts.Add(BoolVariable('builtin_libtheora', "Use the builtin libtheora library",
|
||||||
opts.Add(BoolVariable('builtin_libvorbis', "Use the builtin libvorbis library", True))
|
opts.Add(BoolVariable('builtin_libvorbis', "Use the builtin libvorbis library", True))
|
||||||
opts.Add(BoolVariable('builtin_libvpx', "Use the builtin libvpx library", True))
|
opts.Add(BoolVariable('builtin_libvpx', "Use the builtin libvpx library", True))
|
||||||
opts.Add(BoolVariable('builtin_libwebp', "Use the builtin libwebp library", True))
|
opts.Add(BoolVariable('builtin_libwebp', "Use the builtin libwebp library", True))
|
||||||
|
opts.Add(BoolVariable('builtin_mbedtls', "Use the builtin mbedTLS library", True))
|
||||||
opts.Add(BoolVariable('builtin_opus', "Use the builtin opus library", True))
|
opts.Add(BoolVariable('builtin_opus', "Use the builtin opus library", True))
|
||||||
opts.Add(BoolVariable('builtin_pcre2', "Use the builtin pcre2 library)", True))
|
opts.Add(BoolVariable('builtin_pcre2', "Use the builtin pcre2 library)", True))
|
||||||
opts.Add(BoolVariable('builtin_recast', "Use the builtin recast library", True))
|
opts.Add(BoolVariable('builtin_recast', "Use the builtin recast library", True))
|
||||||
|
|
|
@ -5,87 +5,87 @@ Import('env_modules')
|
||||||
|
|
||||||
env_mbed_tls = env_modules.Clone()
|
env_mbed_tls = env_modules.Clone()
|
||||||
|
|
||||||
# Thirdparty source files
|
if env['builtin_mbedtls']:
|
||||||
thirdparty_dir = "#thirdparty/mbedtls/library/"
|
# Thirdparty source files
|
||||||
|
thirdparty_sources = [
|
||||||
|
"aes.c",
|
||||||
|
"aesni.c",
|
||||||
|
"arc4.c",
|
||||||
|
"asn1parse.c",
|
||||||
|
"asn1write.c",
|
||||||
|
"base64.c",
|
||||||
|
"bignum.c",
|
||||||
|
"blowfish.c",
|
||||||
|
"camellia.c",
|
||||||
|
"ccm.c",
|
||||||
|
"certs.c",
|
||||||
|
"cipher.c",
|
||||||
|
"cipher_wrap.c",
|
||||||
|
"cmac.c",
|
||||||
|
"ctr_drbg.c",
|
||||||
|
"debug.c",
|
||||||
|
"des.c",
|
||||||
|
"dhm.c",
|
||||||
|
"ecdh.c",
|
||||||
|
"ecdsa.c",
|
||||||
|
"ecjpake.c",
|
||||||
|
"ecp.c",
|
||||||
|
"ecp_curves.c",
|
||||||
|
"entropy.c",
|
||||||
|
"entropy_poll.c",
|
||||||
|
"error.c",
|
||||||
|
"gcm.c",
|
||||||
|
"havege.c",
|
||||||
|
"hmac_drbg.c",
|
||||||
|
"md2.c",
|
||||||
|
"md4.c",
|
||||||
|
"md5.c",
|
||||||
|
"md.c",
|
||||||
|
"md_wrap.c",
|
||||||
|
"memory_buffer_alloc.c",
|
||||||
|
"net_sockets.c",
|
||||||
|
"oid.c",
|
||||||
|
"padlock.c",
|
||||||
|
"pem.c",
|
||||||
|
"pk.c",
|
||||||
|
"pkcs11.c",
|
||||||
|
"pkcs12.c",
|
||||||
|
"pkcs5.c",
|
||||||
|
"pkparse.c",
|
||||||
|
"pk_wrap.c",
|
||||||
|
"pkwrite.c",
|
||||||
|
"platform.c",
|
||||||
|
"ripemd160.c",
|
||||||
|
"rsa.c",
|
||||||
|
"rsa_internal.c",
|
||||||
|
"sha1.c",
|
||||||
|
"sha256.c",
|
||||||
|
"sha512.c",
|
||||||
|
"ssl_cache.c",
|
||||||
|
"ssl_ciphersuites.c",
|
||||||
|
"ssl_cli.c",
|
||||||
|
"ssl_cookie.c",
|
||||||
|
"ssl_srv.c",
|
||||||
|
"ssl_ticket.c",
|
||||||
|
"ssl_tls.c",
|
||||||
|
"threading.c",
|
||||||
|
"timing.c",
|
||||||
|
"version.c",
|
||||||
|
"version_features.c",
|
||||||
|
"x509.c",
|
||||||
|
"x509_create.c",
|
||||||
|
"x509_crl.c",
|
||||||
|
"x509_crt.c",
|
||||||
|
"x509_csr.c",
|
||||||
|
"x509write_crt.c",
|
||||||
|
"x509write_csr.c",
|
||||||
|
"xtea.c"
|
||||||
|
]
|
||||||
|
|
||||||
thirdparty_sources = [
|
thirdparty_dir = "#thirdparty/mbedtls/library/"
|
||||||
"aes.c",
|
thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
|
||||||
"aesni.c",
|
env_mbed_tls.add_source_files(env.modules_sources, thirdparty_sources)
|
||||||
"arc4.c",
|
env_mbed_tls.Append(CPPPATH=["#thirdparty/mbedtls/include/"])
|
||||||
"asn1parse.c",
|
|
||||||
"asn1write.c",
|
|
||||||
"base64.c",
|
|
||||||
"bignum.c",
|
|
||||||
"blowfish.c",
|
|
||||||
"camellia.c",
|
|
||||||
"ccm.c",
|
|
||||||
"certs.c",
|
|
||||||
"cipher.c",
|
|
||||||
"cipher_wrap.c",
|
|
||||||
"cmac.c",
|
|
||||||
"ctr_drbg.c",
|
|
||||||
"debug.c",
|
|
||||||
"des.c",
|
|
||||||
"dhm.c",
|
|
||||||
"ecdh.c",
|
|
||||||
"ecdsa.c",
|
|
||||||
"ecjpake.c",
|
|
||||||
"ecp.c",
|
|
||||||
"ecp_curves.c",
|
|
||||||
"entropy.c",
|
|
||||||
"entropy_poll.c",
|
|
||||||
"error.c",
|
|
||||||
"gcm.c",
|
|
||||||
"havege.c",
|
|
||||||
"hmac_drbg.c",
|
|
||||||
"md2.c",
|
|
||||||
"md4.c",
|
|
||||||
"md5.c",
|
|
||||||
"md.c",
|
|
||||||
"md_wrap.c",
|
|
||||||
"memory_buffer_alloc.c",
|
|
||||||
"net_sockets.c",
|
|
||||||
"oid.c",
|
|
||||||
"padlock.c",
|
|
||||||
"pem.c",
|
|
||||||
"pk.c",
|
|
||||||
"pkcs11.c",
|
|
||||||
"pkcs12.c",
|
|
||||||
"pkcs5.c",
|
|
||||||
"pkparse.c",
|
|
||||||
"pk_wrap.c",
|
|
||||||
"pkwrite.c",
|
|
||||||
"platform.c",
|
|
||||||
"ripemd160.c",
|
|
||||||
"rsa.c",
|
|
||||||
"rsa_internal.c",
|
|
||||||
"sha1.c",
|
|
||||||
"sha256.c",
|
|
||||||
"sha512.c",
|
|
||||||
"ssl_cache.c",
|
|
||||||
"ssl_ciphersuites.c",
|
|
||||||
"ssl_cli.c",
|
|
||||||
"ssl_cookie.c",
|
|
||||||
"ssl_srv.c",
|
|
||||||
"ssl_ticket.c",
|
|
||||||
"ssl_tls.c",
|
|
||||||
"threading.c",
|
|
||||||
"timing.c",
|
|
||||||
"version.c",
|
|
||||||
"version_features.c",
|
|
||||||
"x509.c",
|
|
||||||
"x509_create.c",
|
|
||||||
"x509_crl.c",
|
|
||||||
"x509_crt.c",
|
|
||||||
"x509_csr.c",
|
|
||||||
"x509write_crt.c",
|
|
||||||
"x509write_csr.c",
|
|
||||||
"xtea.c"
|
|
||||||
]
|
|
||||||
|
|
||||||
thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
|
|
||||||
env_mbed_tls.add_source_files(env.modules_sources, thirdparty_sources)
|
|
||||||
env_mbed_tls.Append(CPPPATH=["#thirdparty/mbedtls/include/"])
|
|
||||||
|
|
||||||
# Module sources
|
# Module sources
|
||||||
env_mbed_tls.add_source_files(env.modules_sources, "*.cpp")
|
env_mbed_tls.add_source_files(env.modules_sources, "*.cpp")
|
||||||
|
|
|
@ -71,8 +71,9 @@ else:
|
||||||
wrapper_includes = ["#thirdparty/lws/mbedtls_wrapper/include/" + inc for inc in ["internal", "openssl", "platform", ""]]
|
wrapper_includes = ["#thirdparty/lws/mbedtls_wrapper/include/" + inc for inc in ["internal", "openssl", "platform", ""]]
|
||||||
env_lws.Append(CPPPATH=wrapper_includes)
|
env_lws.Append(CPPPATH=wrapper_includes)
|
||||||
|
|
||||||
mbedtls_includes = "#thirdparty/mbedtls/include"
|
if env['builtin_mbedtls']:
|
||||||
env_lws.Append(CPPPATH=[mbedtls_includes])
|
mbedtls_includes = "#thirdparty/mbedtls/include"
|
||||||
|
env_lws.Append(CPPPATH=[mbedtls_includes])
|
||||||
|
|
||||||
if env_lws["platform"] == "windows":
|
if env_lws["platform"] == "windows":
|
||||||
env_lws.Append(CPPPATH=[thirdparty_dir + helper_dir])
|
env_lws.Append(CPPPATH=[thirdparty_dir + helper_dir])
|
||||||
|
|
|
@ -152,6 +152,10 @@ def configure(env):
|
||||||
|
|
||||||
# FIXME: Check for existence of the libs before parsing their flags with pkg-config
|
# FIXME: Check for existence of the libs before parsing their flags with pkg-config
|
||||||
|
|
||||||
|
if not env['builtin_mbedtls']:
|
||||||
|
# mbedTLS does not provide a pkgconfig config yet. See https://github.com/ARMmbed/mbedtls/issues/228
|
||||||
|
env.Append(LIBS=['mbedtls', 'mbedcrypto', 'mbedx509'])
|
||||||
|
|
||||||
if not env['builtin_libwebp']:
|
if not env['builtin_libwebp']:
|
||||||
env.ParseConfig('pkg-config libwebp --cflags --libs')
|
env.ParseConfig('pkg-config libwebp --cflags --libs')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue