cbbea6084d
We already had `MODULE_*_ENABLED` defines but only in the modules
environment, and a few custom `*_ENABLED` defines in the main env
when we needed the information in core.
Now this is defined in a single header which can be included in the
files that need this information.
(cherry picked from commit b7297fb39c
)
29 lines
706 B
Python
29 lines
706 B
Python
#!/usr/bin/env python
|
|
|
|
Import("env")
|
|
|
|
import os
|
|
|
|
import modules_builders
|
|
|
|
env_modules = env.Clone()
|
|
|
|
Export("env_modules")
|
|
|
|
env.CommandNoCache("modules_enabled.gen.h", Value(env.module_list), modules_builders.generate_modules_enabled)
|
|
|
|
env.modules_sources = []
|
|
env_modules.add_source_files(env.modules_sources, "register_module_types.gen.cpp")
|
|
|
|
for name, path in env.module_list.items():
|
|
if not os.path.isabs(path):
|
|
SConscript(name + "/SCsub") # Built-in.
|
|
else:
|
|
SConscript(path + "/SCsub") # Custom.
|
|
|
|
if env["split_libmodules"]:
|
|
env.split_lib("modules", env_lib=env_modules)
|
|
else:
|
|
lib = env_modules.add_library("modules", env.modules_sources)
|
|
|
|
env.Prepend(LIBS=[lib])
|