diff options
author | 2013-07-03 15:55:05 +0000 | |
---|---|---|
committer | 2013-07-03 15:55:05 +0000 | |
commit | 0d1930908057d658f964a4fa25f66658c9bd2d6f (patch) | |
tree | 9da9c148c73443a44bbd6e83c668992dfa9a1853 /tools/asan_build | |
parent | 0b82852b234753257835bf1f9ac0046848a283ec (diff) |
Enable ASAN build
Requires Clang 3.1 or higher to be installed.
R=epoger@google.com
Review URL: https://codereview.chromium.org/18205007
git-svn-id: http://skia.googlecode.com/svn/trunk@9891 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tools/asan_build')
-rwxr-xr-x | tools/asan_build | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tools/asan_build b/tools/asan_build new file mode 100755 index 0000000000..49817f66d4 --- /dev/null +++ b/tools/asan_build @@ -0,0 +1,42 @@ +#!/bin/bash + +# Build Skia with Address Sanitizer. +# +# Address Sanitizer is available in LLVM (and Clang) 3.1 and above, as well as +# GCC 4.8. For now, this script assumes the use of Clang 3.2 or newer, which +# uses different flag syntax from 3.1. +# +# For more information, see: +# https://code.google.com/p/address-sanitizer/wiki/AddressSanitizer + +makeVars="$@" + +export CC="$(which clang)" +export CXX="$(which clang++)" +export LINK="$(which clang)" + +noClang="Couldn't find Clang on this machine!" +if [[ -z "${CC}" ]]; then + echo "${noClang}" + exit 1 +fi +if [[ -z "${CXX}" ]]; then + echo "${noClang}" + exit 1 +fi +if [[ -z "${LINK}" ]]; then + echo "${noClang}" + exit 1 +fi + +export GYP_DEFINES="skia_asan_build=1 ${GYP_DEFINES}" + +python gyp_skia +if [[ "$?" != "0" ]]; then + exit 1 +fi + +make ${makeVars} +if [[ "$?" != "0" ]]; then + exit 1 +fi
\ No newline at end of file |