#!/usr/bin/env python3 import os import string import sys class Template(string.Template): delimiter = "@" class Environ(): def __getitem__(self, name): if name == "OECORE_SDK_SYS": return os.path.basename(os.environ["OECORE_NATIVE_SYSROOT"]) elif name == "OECORE_TARGET_SYS": return os.path.basename(os.environ["OECORE_TARGET_SYSROOT"]) elif name == "OECORE_TARGET_ALIAS": return os.path.basename(os.environ["TARGET_PREFIX"].strip("-")) else: return os.environ[name] try: sysroot = os.environ['OECORE_NATIVE_SYSROOT'] except KeyError: print("Not in environment setup, bailing") sys.exit(1) template_file = os.path.join(sysroot, 'usr/share/cmake/SDKToolchainConfig.cmake.template') cross_file = os.path.join(sysroot, 'usr/share/cmake/%s-toolchain.cmake' % (os.path.basename(os.environ["OECORE_TARGET_SYSROOT"]))) with open(template_file) as in_file: template = in_file.read() output = Template(template).substitute(Environ()) with open(cross_file, "w") as out_file: out_file.write(output)