|  | #!/bin/sh | 
|  |  | 
|  | # Copyright 2014 Google Inc. | 
|  | # | 
|  | # Use of this source code is governed by a BSD-style license that can be | 
|  | # found in the LICENSE file. | 
|  |  | 
|  | set -e  # When any command fails, the shell will immediately exit. | 
|  |  | 
|  | if echo $- | grep -q 'x'; then | 
|  | # Debug mode | 
|  | trap 'echo exit status = $?' EXIT | 
|  | fi | 
|  |  | 
|  | usage() { | 
|  | cat >&2 <<EOF | 
|  | barelinux_make - this script builds a version of skia that does not | 
|  | depend on external libraries, perfect for putting in an embedded | 
|  | system running Linux. | 
|  |  | 
|  | Assumes that you have already run the download_deps script. | 
|  |  | 
|  | Usage: | 
|  | $0 \\ | 
|  | [-o SKIA_OUT_DIR] [-c CC_EXE] [-x CXX_EXE] \\ | 
|  | [-t Debug | Release | Coverage | Release_Developer] \\ | 
|  | [GYP_DEFINES...] | 
|  |  | 
|  | Example use: | 
|  | $0 \\ | 
|  | -o ~/build/skia/arg64gcc \\ | 
|  | -c ~/local/arm64/bin/aarch64-linux-gnu-gcc \\ | 
|  | -x ~/local/arm64/bin/aarch64-linux-gnu-g++ \\ | 
|  | skia_gpu=0 skia_arch_type=arm skia_arch_width=64 \\ | 
|  | armv7=1 armv8=1 arm_neon=0 arm_thumb=0 | 
|  | EOF | 
|  | return 1 | 
|  | } | 
|  |  | 
|  | # BUILD_TYPE should be one of: | 
|  | #  Coverage, Debug, Release, or Release_Developer | 
|  | BUILD_TYPE='Debug' | 
|  |  | 
|  | while getopts ":c:x:o:t:h" opt ; do | 
|  | case $opt in | 
|  | c)  export CC="$OPTARG" ;; | 
|  | x)  export CXX="$OPTARG" ;; | 
|  | o)  export SKIA_OUT="$OPTARG";; | 
|  | t)  BUILD_TYPE="$OPTARG";; | 
|  | h)  usage || exit;; | 
|  | ?)  echo "unknown option '$OPTARG'" >&2; | 
|  | usage || exit;; | 
|  | esac | 
|  | done | 
|  | # Append exra arguments to GYP_DEFINES variable. | 
|  | shift $(( $OPTIND - 1 )) | 
|  | GYP_DEFINES="${GYP_DEFINES} $*" | 
|  |  | 
|  | # If you move this script, this must be changed. | 
|  | SKIA_SRC_DIR="$(cd "$(dirname "$0")/../../.."; pwd)" | 
|  |  | 
|  | # Set a reasonable default. | 
|  | export SKIA_OUT="${SKIA_OUT:-${SKIA_SRC_DIR}/out/barelinux}" | 
|  |  | 
|  | mkdir -p "$SKIA_OUT" | 
|  |  | 
|  | export GYP_GENERATORS="ninja" | 
|  | export GYP_GENERATOR_FLAGS="" | 
|  | export GYP_DEFINES="${GYP_DEFINES} \ | 
|  | skia_warnings_as_errors=0 \ | 
|  | skia_giflib_static=1 \ | 
|  | skia_libpng_static=1 \ | 
|  | skia_zlib_static=1 \ | 
|  | skia_freetype_static=1 \ | 
|  | skia_no_fontconfig=1 \ | 
|  | skia_poppler_enabled=0 \ | 
|  | skia_skip_gui=1 \ | 
|  | " | 
|  |  | 
|  | "${SKIA_SRC_DIR}/gyp_skia" | 
|  |  | 
|  | ninja -C "${SKIA_OUT}/${BUILD_TYPE}" | 
|  |  |