diff options
author | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2022-08-04 19:11:01 +0200 |
---|---|---|
committer | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2022-08-04 20:00:19 +0200 |
commit | 951a1016d3c381252d2d32131c1ad1ec68a2b190 (patch) | |
tree | dab061435f41bf3f4a14589c43bf3859e4d436b4 /modules | |
parent | bed2482ce20fb9efdf4caed73df8032c5c6dea04 (diff) |
[Scons] Implement module dependency sorting.
Modules can now call:
env.module_add_dependencies(name: str, deps: list, optional: bool)
To add required or optional dependencies during the "can_build" step.
Required dependencies will be checked and the module will be not be
enabled when they are missing, printing a warning to notify the user.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/gdscript/config.py | 1 | ||||
-rw-r--r-- | modules/msdfgen/config.py | 3 | ||||
-rw-r--r-- | modules/text_server_adv/SCsub | 4 | ||||
-rw-r--r-- | modules/text_server_fb/SCsub | 4 | ||||
-rw-r--r-- | modules/theora/config.py | 3 | ||||
-rw-r--r-- | modules/vorbis/config.py | 3 |
6 files changed, 11 insertions, 7 deletions
diff --git a/modules/gdscript/config.py b/modules/gdscript/config.py index 61ce6185a5..a7d5c406e9 100644 --- a/modules/gdscript/config.py +++ b/modules/gdscript/config.py @@ -1,4 +1,5 @@ def can_build(env, platform): + env.module_add_dependencies("gdscript", ["jsonrpc", "websocket"], True) return True diff --git a/modules/msdfgen/config.py b/modules/msdfgen/config.py index 653e466a74..631894400d 100644 --- a/modules/msdfgen/config.py +++ b/modules/msdfgen/config.py @@ -1,5 +1,6 @@ def can_build(env, platform): - return env.module_check_dependencies("msdfgen", ["freetype"]) + env.module_add_dependencies("msdfgen", ["freetype"]) + return True def configure(env): diff --git a/modules/text_server_adv/SCsub b/modules/text_server_adv/SCsub index 73e5c2bf74..96240ca8dc 100644 --- a/modules/text_server_adv/SCsub +++ b/modules/text_server_adv/SCsub @@ -36,8 +36,8 @@ def make_icu_data(target, source, env): # Thirdparty source files thirdparty_obj = [] -freetype_enabled = env.module_check_dependencies("text_server_adv", ["freetype"], True) -msdfgen_enabled = env.module_check_dependencies("text_server_adv", ["msdfgen"], True) +freetype_enabled = "freetype" in env.module_list +msdfgen_enabled = "msdfgen" in env.module_list if env["builtin_harfbuzz"]: env_harfbuzz = env_modules.Clone() diff --git a/modules/text_server_fb/SCsub b/modules/text_server_fb/SCsub index ca9322e450..59e0ca90a4 100644 --- a/modules/text_server_fb/SCsub +++ b/modules/text_server_fb/SCsub @@ -3,8 +3,8 @@ Import("env") Import("env_modules") -freetype_enabled = env.module_check_dependencies("text_server_fb", ["freetype"], True) -msdfgen_enabled = env.module_check_dependencies("text_server_fb", ["msdfgen"], True) +freetype_enabled = "freetype" in env.module_list +msdfgen_enabled = "msdfgen" in env.module_list env_text_server_fb = env_modules.Clone() diff --git a/modules/theora/config.py b/modules/theora/config.py index 7f354a8fda..9a27e8e132 100644 --- a/modules/theora/config.py +++ b/modules/theora/config.py @@ -1,7 +1,8 @@ def can_build(env, platform): if env["arch"].startswith("rv"): return False - return env.module_check_dependencies("theora", ["ogg", "vorbis"]) + env.module_add_dependencies("theora", ["ogg", "vorbis"]) + return True def configure(env): diff --git a/modules/vorbis/config.py b/modules/vorbis/config.py index 7ce885a37a..a231ef179d 100644 --- a/modules/vorbis/config.py +++ b/modules/vorbis/config.py @@ -1,5 +1,6 @@ def can_build(env, platform): - return env.module_check_dependencies("vorbis", ["ogg"]) + env.module_add_dependencies("vorbis", ["ogg"]) + return True def configure(env): |