summaryrefslogtreecommitdiff
path: root/modules/modules_builders.py
blob: 22431625559931b8b270d2696462af302d9af853 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
"""Functions used to generate source files during build time

All such functions are invoked in a subprocess on Windows to prevent build flakiness.
"""

from platform_methods import subprocess_main


def generate_modules_enabled(target, source, env):
    with open(target[0].path, "w") as f:
        for module in env.module_list:
            f.write("#define %s\n" % ("MODULE_" + module.upper() + "_ENABLED"))


def generate_modules_tests(target, source, env):
    import os
    import glob

    with open(target[0].path, "w") as f:
        for name, path in env.module_list.items():
            headers = glob.glob(os.path.join(path, "tests", "*.h"))
            for h in headers:
                f.write('#include "%s"\n' % (os.path.normpath(h)))


if __name__ == "__main__":
    subprocess_main(globals())