# This testing configuration handles running the test suite against libc++ on
# AIX using a shared library.
#

lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg')

import lit.util
if lit.util.isAIXTriple(config.target_triple):
  # Add the AIX version to the triple here because there currently isn't a good
  # way to retrieve the AIX version in the driver.
  config.target_triple = lit.util.addAIXVersion(config.target_triple)

config.substitutions.append(('%{flags}', '-pthread'))
config.substitutions.append(('%{compile_flags}',
    '-nostdinc++ -D__LIBC_NO_CPP_MATH_OVERLOADS__ -I %{include-dir} -I %{libcxx-dir}/test/support'
))
config.substitutions.append(('%{link_flags}',
    '-nostdlib++ -L %{lib-dir} -lc++ -lc++abi -latomic -Wl,-bbigtoc'
))
config.substitutions.append(('%{exec}',
    '%{executor} --execdir %{temp} --env LIBPATH=%{lib-dir} -- '
))

# LIBCXX-AIX-FIXME is the feature name used to XFAIL the
# initial AIX failures until they can be properly diagnosed
# and fixed. This allows easier detection of new test failures
# and regressions. Note: New failures should not be suppressed
# using this feature. (Also see llvm.org/PR52188)
config.available_features.add('LIBCXX-AIX-FIXME')

import os, site
site.addsitedir(os.path.join('@LIBCXX_SOURCE_DIR@', 'utils'))
import libcxx.test.params, libcxx.test.config
libcxx.test.config.configure(
    libcxx.test.params.DEFAULT_PARAMETERS,
    libcxx.test.features.DEFAULT_FEATURES,
    config,
    lit_config
)
