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