1#!/usr/bin/env python3 2 3import os 4import string 5import sys 6 7class Template(string.Template): 8 delimiter = "@" 9 10class 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 21try: 22 sysroot = os.environ['OECORE_NATIVE_SYSROOT'] 23except KeyError: 24 print("Not in environment setup, bailing") 25 sys.exit(1) 26 27template_file = os.path.join(sysroot, 'usr/share/cmake/SDKToolchainConfig.cmake.template') 28cross_file = os.path.join(sysroot, 'usr/share/cmake/%s-toolchain.cmake' % (os.path.basename(os.environ["OECORE_TARGET_SYSROOT"]))) 29with 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) 34