#!/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}