OLD | NEW |
1 #!/bin/bash | 1 #!/bin/bash |
2 | 2 |
3 # Build Skia with one of Clang's many sanitizers. | 3 # Build Skia with one of Clang's many sanitizers. |
4 # | 4 # |
5 # $ tools/xsan_build {address,thread,undefined,etc.} [any other flags to pass to
make/ninja...] | 5 # $ tools/xsan_build {address,thread,undefined,etc.} [any other flags to pass to
make...] |
6 # | 6 # |
7 # This script assumes the use of Clang >=3.2. | 7 # This script assumes the use of Clang >=3.2. |
8 # | 8 # |
9 # For more information, see: | 9 # For more information, see: |
10 # http://clang.llvm.org/docs/UsersManual.html#controlling-code-generation | 10 # http://clang.llvm.org/docs/UsersManual.html#controlling-code-generation |
11 | 11 |
12 set -e | 12 set -e |
13 | 13 |
14 sanitizer=$1 | 14 sanitizer=$1 |
15 shift | 15 shift |
16 args="$@" | 16 args="$@" |
17 | 17 |
18 export CC="$(which clang)" | 18 export CC="$(which clang)" |
19 export CXX="$(which clang++)" | 19 export CXX="$(which clang++)" |
20 export LINK="$(which clang)" | |
21 | 20 |
22 if [[ -z "${CC}" ]] || [[ -z "${CXX}" ]] || [[ -z "${LINK}" ]]; then | 21 if [[ -z "${CC}" ]] || [[ -z "${CXX}" ]]; then |
23 echo "Couldn't find Clang on this machine!" | 22 echo "Couldn't find Clang on this machine!" |
24 exit 1 | 23 exit 1 |
25 fi | 24 fi |
26 | 25 |
| 26 echo "CC=$CC" |
| 27 echo "CXX=$CXX" |
| 28 $CC --version |
| 29 |
27 export GYP_DEFINES="skia_sanitizer=$sanitizer ${GYP_DEFINES}" | 30 export GYP_DEFINES="skia_sanitizer=$sanitizer ${GYP_DEFINES}" |
28 | 31 make ${args} |
29 ./gyp_skia | |
30 if [[ $GYP_GENERATORS == "ninja" ]]; then | |
31 ninja ${args} | |
32 else | |
33 make ${args} | |
34 fi | |
OLD | NEW |