1 #!/bin/bash 2 3 if [ -z "$NDK" ]; then 4 >&2 echo "Error: $$NDK must be set in your environment." 5 exit 1 6 fi 7 8 ABI=$1 9 if [ -z "$ABI" ]; then 10 >&2 echo "usage: $(basename $0) ABI" 11 exit 1 12 fi 13 14 case "$ABI" in 15 armeabi*) 16 ARCH=arm 17 TRIPLE=arm-linux-androideabi 18 ;; 19 arm64-v8a) 20 ARCH=arm64 21 TRIPLE=aarch64-linux-android 22 ;; 23 mips) 24 ARCH=mips 25 TRIPLE=mipsel-linux-android 26 ;; 27 mips64) 28 ARCH=mips64 29 TRIPLE=mips64el-linux-android 30 ;; 31 x86) 32 ARCH=x86 33 TRIPLE=i686-linux-android 34 ;; 35 x86_64) 36 ARCH=x86_64 37 TRIPLE=x86_64-linux-android 38 ;; 39 *) 40 >&2 echo "Unknown ABI: $ABI" 41 exit 1 42 ;; 43 esac 44 45 HOST_TAG=linux-x86_64 46 47 LIT_ARGS=${@:2} 48 49 LIBCXX_DIR=$NDK/sources/cxx-stl/llvm-libc++/libcxx 50 sed -e "s:%ABI%:$ABI:g" -e "s:%TRIPLE%:$TRIPLE:g" \ 51 -e "s:%ARCH%:$ARCH:g" \ 52 $LIBCXX_DIR/test/lit.ndk.cfg.in > $LIBCXX_DIR/test/lit.site.cfg 53 54 adb push $LIBCXX_DIR/../libs/$ABI/libc++_shared.so /data/local/tmp 55 lit -sv $LIT_ARGS $LIBCXX_DIR/test 56