Patrick Williams | 4585273 | 2022-04-02 08:58:32 -0500 | [diff] [blame^] | 1 | #!/usr/bin/env python3 |
| 2 | |
| 3 | import os |
| 4 | import string |
| 5 | import sys |
| 6 | |
| 7 | class Template(string.Template): |
| 8 | delimiter = "@" |
| 9 | |
| 10 | class Environ(): |
| 11 | def __getitem__(self, name): |
| 12 | if name == "OECORE_SDK_SYS": |
| 13 | return os.path.basename(os.environ["OECORE_NATIVE_SYSROOT"]) |
| 14 | elif name == "OECORE_TARGET_SYS": |
| 15 | return os.path.basename(os.environ["OECORE_TARGET_SYSROOT"]) |
| 16 | elif name == "OECORE_TARGET_ALIAS": |
| 17 | return os.path.basename(os.environ["TARGET_PREFIX"].strip("-")) |
| 18 | else: |
| 19 | return os.environ[name] |
| 20 | |
| 21 | try: |
| 22 | sysroot = os.environ['OECORE_NATIVE_SYSROOT'] |
| 23 | except KeyError: |
| 24 | print("Not in environment setup, bailing") |
| 25 | sys.exit(1) |
| 26 | |
| 27 | template_file = os.path.join(sysroot, 'usr/share/cmake/SDKToolchainConfig.cmake.template') |
| 28 | cross_file = os.path.join(sysroot, 'usr/share/cmake/%s-toolchain.cmake' % (os.path.basename(os.environ["OECORE_TARGET_SYSROOT"]))) |
| 29 | with open(template_file) as in_file: |
| 30 | template = in_file.read() |
| 31 | output = Template(template).substitute(Environ()) |
| 32 | with open(cross_file, "w") as out_file: |
| 33 | out_file.write(output) |