Use APP_STL=none for prebuild-stlport.

Otherwise, libsupc++.a will be linked.

Change-Id: I059a798d39fcc22a2033a8753db2c5d076eba83a
Integrate abcc codebase.

This CL needs https://android-review.googlesource.com/#/c/66545/

Integrated abcc will be used after llvm 3.3 (included) by default.
If we want to build python version, we can add --use-python to build-llvm.sh.

Every host-related will be put under <abcc>/host/.
Every device-related will be put under <abcc>/device/.
Other common-based will be put under <abcc>.

The usage is just the same like before. No learning curve issue.
On host, we can dump information if we use --verbose.
On device, we can -DVERBOSE=1 to dump info to logcat.

Also, fix one bug on run-tests.sh. We need to copy instead of
soft link, otherwise the second abi won't be tested.

Change-Id: Ib95a3aabb40dc85bf73f8a35254108688ac654b7

Conflicts:
	build/tools/build-llvm.sh
	tests/abcc/jni/main.cpp
Improve ndk-build output + fix double-quotes on Windows.

This patche slightly improves the ndk-build output for individual
build steps, i.e.:

  BEFORE:
     Compile <abi>  : <some details>

  AFTER:
     [abi] Compile  : <some details>

The reason for this is that there are some build steps which didn't
include the <abi>, which is ambiguous when doing a multi-ABI build with
lots of parallel jobs.

Note that for ARM, 'Compile arm' or 'Compile thumb' are still being
used to distinguish between 32-bit ARM and 16 or 16/32 Thumb compilation
modes. This only affects Compile and Compile++ build steps.

+ Fix the extra-quoting issue on Windows described
  by https://code.google.com/p/android/issues/detail?id=60649

Change-Id: Ib0bb7587f7113d488696e1c820d89adabad3070c

Conflicts:
	toolchains/arm-linux-androideabi-4.8/setup.mk
	toolchains/mipsel-linux-android-4.8/setup.mk
	toolchains/x86-4.8/setup.mk
Switch to use gccunwind library.

Change-Id: Ia622aabff6e1909a7cc49b3d649a426801a6534f

Conflicts:
	build/tools/make-standalone-toolchain.sh
[experimental] test libc++ built by clang; link tests with compiler-rt

Trying to make libc++ work with clang
1. Turns out libc++ needs some features exists in clang to work.  Previously
   we compile all STL in NDK with default compiler which is gcc 4.6.
   In this experiment, we switch to clang3.3 (exists since r9)

   ./build/tools/build-cxx-stl.sh --stl=libc++ --ndk-dir=$NDK --llvm-version=3.3

2. Clang needs compiler-rt for helpers used by code expanded
   from intrinsics (eg. __atomic_exchange).  This patch add -lcompiler_rt*
   for linker.

3. Misc fixes:
   a) pass "-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS",
      accroding to llvm-libc++/libcxx/test/lit.cfg for linux
   b) pass "$TOOLCHAIN_CFLAGS $TOOLCHAIN_LDFLAGS", mainly for armeabi-v7a
   c) pass -mthumb for arm
   d) pass -O2 -g for all by default
   e) add -latomic, for __atomic_is_lock_free
   f) consolidate TARGET_PATH
   g) adb push *dat to TARGET_PATH because some tests depends on them

To test:
  cd $NDK
  ./build/tools/build-compiler-rt.sh -j32 --ndk-dir=$NDK --abis=armeabi,armeabi-v7a,x86,mips \
    --src-dir=/tmp/ndk-$USER/src/llvm-3.3/compiler-rt --llvm-version=3.3
  ./build/tools/build-cxx-stl.sh --stl=libc++ --ndk-dir=$NDK --abis=armeabi,armeabi-v7a,x86,mips \
    --llvm-version=3.3

  cd $NDK
  ./build/tools/make-standalone-toolchain.sh --platform=android-9 --llvm-version=3.3 \
    --install-dir=/path/to/ndk/standalone/ndk-api9-arm --arch=arm

  cd $NDK/sources/cxx-stl/llvm-libc++/libcxx/test
  PATH=/path/to/ndk/standalone/ndk-api9-arm:$PATH \
    ./testit_android --abi=armeabi-v7a --cxx=arm-linux-androideabi-clang++

Fail tests count drop from 682 to ~126 (out of total 4418) for armeabi-v7a/x86/mips

Change-Id: I213448129f82b70542fca4e4603fb50e023a1f9e

Conflicts:
	sources/cxx-stl/llvm-libc++/libcxx/test/testit_android