config.suffixes = ['.ll', '.c', '.cpp']
def getRoot(config):
if not config.parent:
return config
return getRoot(config.parent)
root = getRoot(config)
targets = set(root.targets_to_build.split())
if ('X86' in targets) | ('AArch64' in targets) | ('ARM' in targets) | \
('Mips' in targets) | ('PowerPC' in targets) | ('SystemZ' in targets):
config.unsupported = False
else:
config.unsupported = True
# FIXME: autoconf and cmake produce different arch names. We should normalize
# them before getting here.
if root.host_arch not in ['i386', 'x86', 'x86_64',
'AArch64', 'ARM', 'Mips', 'PowerPC', 'ppc64', 'SystemZ']:
config.unsupported = True
if 'armv7' in root.host_arch:
config.unsupported = False
if 'i386-apple-darwin' in root.target_triple:
config.unsupported = True
if 'powerpc' in root.target_triple and not 'powerpc64' in root.target_triple:
config.unsupported = True