blob: 7673fd2631e60c2457f80c229bc748d241b4113e [file] [log] [blame]
#!/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}"