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:
Fabio Alessandrelli 2018-02-10 14:06:38 +01:00
parent 9e2b1b3b00
commit bd3c27ba78
4 changed files with 88 additions and 82 deletions

View file

@ -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_libvpx', "Use the builtin libvpx 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_pcre2', "Use the builtin pcre2 library)", True))
opts.Add(BoolVariable('builtin_recast', "Use the builtin recast library", True))

View file

@ -5,10 +5,9 @@ Import('env_modules')
env_mbed_tls = env_modules.Clone()
# Thirdparty source files
thirdparty_dir = "#thirdparty/mbedtls/library/"
thirdparty_sources = [
if env['builtin_mbedtls']:
# Thirdparty source files
thirdparty_sources = [
"aes.c",
"aesni.c",
"arc4.c",
@ -81,11 +80,12 @@ thirdparty_sources = [
"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/"])
thirdparty_dir = "#thirdparty/mbedtls/library/"
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
env_mbed_tls.add_source_files(env.modules_sources, "*.cpp")

View file

@ -71,6 +71,7 @@ else:
wrapper_includes = ["#thirdparty/lws/mbedtls_wrapper/include/" + inc for inc in ["internal", "openssl", "platform", ""]]
env_lws.Append(CPPPATH=wrapper_includes)
if env['builtin_mbedtls']:
mbedtls_includes = "#thirdparty/mbedtls/include"
env_lws.Append(CPPPATH=[mbedtls_includes])

View file

@ -152,6 +152,10 @@ def configure(env):
# 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']:
env.ParseConfig('pkg-config libwebp --cflags --libs')