diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-07-06 14:46:34 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-07-06 15:26:38 +0200 |
commit | 153c4a4c4fd9ab142004d3448d1de4923a15a871 (patch) | |
tree | c38a566c5c86177d490605e039d1f8a3085bfd1d | |
parent | b7c2fd2e9a7f01644e15fef86083a3e0e0221e4d (diff) | |
download | redot-engine-153c4a4c4fd9ab142004d3448d1de4923a15a871.tar.gz |
Linux: Allow unbundling brotli to use system library
-rw-r--r-- | SConstruct | 1 | ||||
-rw-r--r-- | core/SCsub | 2 | ||||
-rw-r--r-- | core/io/compression.cpp | 8 | ||||
-rw-r--r-- | platform/linuxbsd/detect.py | 3 |
4 files changed, 9 insertions, 5 deletions
diff --git a/SConstruct b/SConstruct index f65e6bab04..7e706e8e73 100644 --- a/SConstruct +++ b/SConstruct @@ -222,6 +222,7 @@ opts.Add(BoolVariable("use_precise_math_checks", "Math checks use very precise e opts.Add(BoolVariable("scu_build", "Use single compilation unit build", False)) # Thirdparty libraries +opts.Add(BoolVariable("builtin_brotli", "Use the built-in Brotli library", True)) opts.Add(BoolVariable("builtin_certs", "Use the built-in SSL certificates bundles", True)) opts.Add(BoolVariable("builtin_embree", "Use the built-in Embree library", True)) opts.Add(BoolVariable("builtin_enet", "Use the built-in ENet library", True)) diff --git a/core/SCsub b/core/SCsub index a0176f6c33..7e9cd97351 100644 --- a/core/SCsub +++ b/core/SCsub @@ -65,7 +65,7 @@ thirdparty_misc_sources = [thirdparty_misc_dir + file for file in thirdparty_mis env_thirdparty.add_source_files(thirdparty_obj, thirdparty_misc_sources) # Brotli -if env["brotli"]: +if env["brotli"] and env["builtin_brotli"]: thirdparty_brotli_dir = "#thirdparty/brotli/" thirdparty_brotli_sources = [ "common/constants.c", diff --git a/core/io/compression.cpp b/core/io/compression.cpp index ac4a637597..e36fb0afa4 100644 --- a/core/io/compression.cpp +++ b/core/io/compression.cpp @@ -35,13 +35,13 @@ #include "thirdparty/misc/fastlz.h" -#ifdef BROTLI_ENABLED -#include "thirdparty/brotli/include/brotli/decode.h" -#endif - #include <zlib.h> #include <zstd.h> +#ifdef BROTLI_ENABLED +#include <brotli/decode.h> +#endif + int Compression::compress(uint8_t *p_dst, const uint8_t *p_src, int p_src_size, Mode p_mode) { switch (p_mode) { case MODE_BROTLI: { diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py index 9faa73d6d2..6bde9233c2 100644 --- a/platform/linuxbsd/detect.py +++ b/platform/linuxbsd/detect.py @@ -240,6 +240,9 @@ def configure(env: "Environment"): if not env["builtin_zstd"]: env.ParseConfig("pkg-config libzstd --cflags --libs") + if env["brotli"] and not env["builtin_brotli"]: + env.ParseConfig("pkg-config libbrotlicommon libbrotlidec --cflags --libs") + # Sound and video libraries # Keep the order as it triggers chained dependencies (ogg needed by others, etc.) |