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