35 lines
729 B
Plaintext
35 lines
729 B
Plaintext
|
#!/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/ninja...]
|
||
|
#
|
||
|
# 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++)"
|
||
|
export LINK="$(which clang)"
|
||
|
|
||
|
if [[ -z "${CC}" ]] || [[ -z "${CXX}" ]] || [[ -z "${LINK}" ]]; then
|
||
|
echo "Couldn't find Clang on this machine!"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
export GYP_DEFINES="skia_sanitizer=$sanitizer ${GYP_DEFINES}"
|
||
|
|
||
|
./gyp_skia
|
||
|
if [[ $GYP_GENERATORS == "ninja" ]]; then
|
||
|
ninja ${args}
|
||
|
else
|
||
|
make ${args}
|
||
|
fi
|