blob: d68aa61036c6f5a371e6b1d4c6d886593d07e71d [file] [log] [blame]
Stephen Hinese72448a2014-11-26 18:02:45 -08001#!/bin/bash -e
2
3# Copy binaries
4for b in bin/*; do
5 file=`basename $b`
Stephen Hinesf7805e22015-08-13 22:39:00 -07006 # Don't copy symlinks like clang++ or directories
7 if test -h $b || test -d $b; then
Stephen Hinese72448a2014-11-26 18:02:45 -08008 echo Skipping $file
9 else
10 echo Copying $file
11 cp -a `find ${ANDROID_HOST_OUT}/bin -name $file` $b
12 strip $b
13 fi
14done
15
Dan Albertc0077e32015-07-28 13:20:39 -070016# Copy static analyzer scripts.
17echo Copying static analyzer tools
18rm -rf tools/*
19mkdir -p tools
20cp -ar ${ANDROID_BUILD_TOP}/external/clang/tools/scan-build tools
21cp -ar ${ANDROID_BUILD_TOP}/external/clang/tools/scan-view tools
22
Stephen Hinese72448a2014-11-26 18:02:45 -080023# Copy libraries
24echo Copying libc++.so
Stephen Hines7a0f45b2014-12-03 19:14:52 -080025cp -a ${ANDROID_HOST_OUT}/lib/libc++.so lib/
26cp -a ${ANDROID_HOST_OUT}/lib64/libc++.so lib64/
Stephen Hinese72448a2014-11-26 18:02:45 -080027
28# Copy header files
29rm -rf lib/clang/*/include/*
30for i in `find ${ANDROID_BUILD_TOP}/external/clang/lib/Headers -mindepth 1 ! -name \*.mk -a ! -name Makefile -a ! -name CMakeLists.txt`; do
31 echo Copying `basename $i`
32 cp -a $i lib/clang/*/include/
33done
34
Stephen Hinese72448a2014-11-26 18:02:45 -080035# Copy over stdatomic.h from bionic
36echo Copying stdatomic.h
37cp -a ${ANDROID_BUILD_TOP}/bionic/libc/include/stdatomic.h lib/clang/*/include/
38
39echo Copying arm_neon.h
Stephen Hines9866aaf2015-03-19 16:40:06 -070040cp -a `find ${ANDROID_PRODUCT_OUT} -name arm_neon.h | head -n 1` lib/clang/*/include
Stephen Hinese72448a2014-11-26 18:02:45 -080041
Dan Albert23a26262015-01-25 16:17:26 -080042function copy_profile_rt() {
43 target=$1
44 arch=$2
45 obj=${ANDROID_BUILD_TOP}/out/target/product/${target}/obj/STATIC_LIBRARIES
46 libdir=$(echo lib/clang/*)/lib/linux
47 lib=${libdir}/libclang_rt.profile-${arch}-android.a
48 cp -a ${obj}/libprofile_rt_intermediates/libprofile_rt.a ${lib}
49}
50
51function copy_host_profile_rt() {
52 arch=$1
53 obj_suffix=$2
54 obj=${ANDROID_BUILD_TOP}/out/host/linux-x86/obj$obj_suffix/STATIC_LIBRARIES
55 libdir=$(echo lib/clang/*)/lib/linux
56 lib=${libdir}/libclang_rt.profile-${arch}.a
57 cp -a ${obj}/libprofile_rt_intermediates/libprofile_rt.a ${lib}
58}
59
60copy_profile_rt generic arm
61copy_profile_rt generic_arm64 aarch64
62copy_profile_rt generic_mips mipsel
63copy_profile_rt generic_mips64 mips64el
64copy_profile_rt generic_x86 i686
65copy_profile_rt generic_x86_64 x86_64
66
67copy_host_profile_rt x86_64
68copy_host_profile_rt i686 32
Dan Albert1c8e9412014-12-12 13:58:35 -080069
70sh update-sanitizers.sh