|  | 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")) |