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...] | 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 set -x |
13 | 14 |
14 sanitizer=$1 | 15 export CC=clang |
15 shift | 16 export CXX=clang++ |
16 args="$@" | |
17 | |
18 export CC="$(which clang)" | |
19 export CXX="$(which clang++)" | |
20 | |
21 if [[ -z "${CC}" ]] || [[ -z "${CXX}" ]]; then | |
22 echo "Couldn't find Clang on this machine!" | |
23 exit 1 | |
24 fi | |
25 | |
26 echo "CC=$CC" | |
27 echo "CXX=$CXX" | |
28 $CC --version | 17 $CC --version |
29 | 18 |
30 export GYP_DEFINES="skia_sanitizer=$sanitizer ${GYP_DEFINES}" | 19 if [[ "$1" == "memory" ]]; then |
31 make ${args} | 20 export GYP_DEFINES="skia_gpu=0 skia_no_fontconfig=1 skia_freetype_static=1 $
{GYP_DEFINES}" |
| 21 fi |
| 22 export GYP_DEFINES="skia_sanitizer=$1 ${GYP_DEFINES}" |
| 23 |
| 24 shift |
| 25 make $@ |
OLD | NEW |