Home | History | Annotate | Download | only in libcxx
      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