import os
import sys

# Tell pylint that we know config and lit_config exist somewhere.
if 'PYLINT_IMPORT' in os.environ:
    config = object()
    lit_config = object()

ndk = os.getenv('NDK')
if ndk is None:
    sys.exit('The environment variable NDK must point to an NDK toolchain.')

top = os.getenv('ANDROID_BUILD_TOP')
out_dir = os.getenv('ANDROID_PRODUCT_OUT')

if top is None or out_dir is None:
    sys.exit('ANDROID_BUILD_TOP or ANDROID_PRODUCT_OUT is not set. Have you '
             'run lunch?')

config.cxx_under_test = os.path.join(
    top, "prebuilts/clang/linux-x86/host/3.6/bin/clang++")
config.std = "c++11"
config.libcxx_src_root = os.path.join(top, "external/libcxx")
config.libcxx_obj_root = os.path.join(top, "external/libcxx")
config.cxx_library_root = os.path.join(out_dir, 'system/lib')
config.enable_exceptions = "True"
config.enable_rtti = "True"
config.enable_shared = "False"
config.enable_32bit = "False"
config.enable_threads = "True"
config.enable_monotonic_clock = "True"
config.cxx_abi = "libcxxabi"
config.use_sanitizer = ""
config.configuration_variant = "libcxx.ndk"
config.target_triple = "armv7a-linux-androideabi"
config.sysroot = os.path.join(ndk, "platforms/android-21/arch-arm/")
config.gcc_toolchain = os.path.join(
    top, "prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9")

# Let the main config do the real work.
lit_config.load_config(
    config, os.path.join(top, "external/libcxx/test/lit.cfg"))
