[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.
This commit is contained in:
Fabio Alessandrelli
2022-08-04 19:11:01 +02:00
parent bed2482ce2
commit 951a1016d3
8 changed files with 57 additions and 23 deletions

View File

@ -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()