|  | #!/bin/bash | 
|  |  | 
|  | # Build Skia with one of Clang's many sanitizers. | 
|  | # | 
|  | # $ tools/xsan_build {address,thread,undefined,etc.} [any other flags to pass to make...] | 
|  | # | 
|  | # This script assumes the use of Clang >=3.2. | 
|  | # | 
|  | # For more information, see: | 
|  | #   http://clang.llvm.org/docs/UsersManual.html#controlling-code-generation | 
|  |  | 
|  | set -e | 
|  |  | 
|  | sanitizer=$1 | 
|  | shift | 
|  | args="$@" | 
|  |  | 
|  | export CC="$(which clang)" | 
|  | export CXX="$(which clang++)" | 
|  |  | 
|  | if [[ -z "${CC}" ]] || [[ -z "${CXX}" ]]; then | 
|  | echo "Couldn't find Clang on this machine!" | 
|  | exit 1 | 
|  | fi | 
|  |  | 
|  | echo "CC=$CC" | 
|  | echo "CXX=$CXX" | 
|  | $CC --version | 
|  |  | 
|  | export GYP_DEFINES="skia_sanitizer=$sanitizer ${GYP_DEFINES}" | 
|  | make ${args} |