import platform
target_triple_components = config.target_triple.split('-')
config.available_features.update(target_triple_components)

# Only run the tests in platforms where XRay instrumentation is supported.
supported_targets = [
    'amd64', 'x86_64', 'x86_64h', 'arm', 'aarch64', 'arm64', 'powerpc64le', 'mips',
    'mipsel', 'mips64', 'mips64el'
]

# Only on platforms we support.
supported_oses = [
    'Linux', 'FreeBSD'
]

triple_set = set(target_triple_components)
if len(triple_set.intersection(supported_targets)) == 0:
  config.unsupported = True

# Do not run for 'android' despite being linux.
if platform.system() not in supported_oses or 'android' in triple_set:
  config.unsupported = True

if config.enable_shared:
  config.available_features.update(['enable_shared'])
