1*58b9f456SAndroid Build Coastguard Workerimport os 2*58b9f456SAndroid Build Coastguard Workerimport sys 3*58b9f456SAndroid Build Coastguard Worker 4*58b9f456SAndroid Build Coastguard Worker# Tell pylint that we know config and lit_config exist somewhere. 5*58b9f456SAndroid Build Coastguard Workerif 'PYLINT_IMPORT' in os.environ: 6*58b9f456SAndroid Build Coastguard Worker config = object() 7*58b9f456SAndroid Build Coastguard Worker lit_config = object() 8*58b9f456SAndroid Build Coastguard Worker 9*58b9f456SAndroid Build Coastguard Workerndk = os.getenv('NDK') 10*58b9f456SAndroid Build Coastguard Workerif ndk is None: 11*58b9f456SAndroid Build Coastguard Worker sys.exit('The environment variable NDK must point to an NDK toolchain.') 12*58b9f456SAndroid Build Coastguard Worker 13*58b9f456SAndroid Build Coastguard Workertop = os.getenv('ANDROID_BUILD_TOP') 14*58b9f456SAndroid Build Coastguard Workerout_dir = os.getenv('ANDROID_PRODUCT_OUT') 15*58b9f456SAndroid Build Coastguard Worker 16*58b9f456SAndroid Build Coastguard Workerif top is None or out_dir is None: 17*58b9f456SAndroid Build Coastguard Worker sys.exit('ANDROID_BUILD_TOP or ANDROID_PRODUCT_OUT is not set. Have you ' 18*58b9f456SAndroid Build Coastguard Worker 'run lunch?') 19*58b9f456SAndroid Build Coastguard Worker 20*58b9f456SAndroid Build Coastguard Workerconfig.cxx_under_test = os.path.join( 21*58b9f456SAndroid Build Coastguard Worker top, "prebuilts/clang/linux-x86/host/3.6/bin/clang++") 22*58b9f456SAndroid Build Coastguard Workerconfig.std = "c++11" 23*58b9f456SAndroid Build Coastguard Workerconfig.libcxx_src_root = os.path.join(top, "external/libcxx") 24*58b9f456SAndroid Build Coastguard Workerconfig.libcxx_obj_root = os.path.join(top, "external/libcxx") 25*58b9f456SAndroid Build Coastguard Workerconfig.cxx_library_root = os.path.join(out_dir, 'system/lib') 26*58b9f456SAndroid Build Coastguard Workerconfig.enable_exceptions = "True" 27*58b9f456SAndroid Build Coastguard Workerconfig.enable_rtti = "True" 28*58b9f456SAndroid Build Coastguard Workerconfig.enable_shared = "False" 29*58b9f456SAndroid Build Coastguard Workerconfig.enable_32bit = "False" 30*58b9f456SAndroid Build Coastguard Workerconfig.enable_threads = "True" 31*58b9f456SAndroid Build Coastguard Workerconfig.enable_monotonic_clock = "True" 32*58b9f456SAndroid Build Coastguard Workerconfig.cxx_abi = "libcxxabi" 33*58b9f456SAndroid Build Coastguard Workerconfig.use_sanitizer = "" 34*58b9f456SAndroid Build Coastguard Workerconfig.configuration_variant = "libcxx.ndk" 35*58b9f456SAndroid Build Coastguard Workerconfig.target_triple = "armv7a-linux-androideabi" 36*58b9f456SAndroid Build Coastguard Workerconfig.sysroot = os.path.join(ndk, "platforms/android-21/arch-arm/") 37*58b9f456SAndroid Build Coastguard Workerconfig.gcc_toolchain = os.path.join( 38*58b9f456SAndroid Build Coastguard Worker top, "prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9") 39*58b9f456SAndroid Build Coastguard Worker 40*58b9f456SAndroid Build Coastguard Worker# Let the main config do the real work. 41*58b9f456SAndroid Build Coastguard Workerlit_config.load_config( 42*58b9f456SAndroid Build Coastguard Worker config, os.path.join(top, "external/libcxx/test/lit.cfg")) 43