1b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org#!/bin/sh
2b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org
3b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org# Copyright 2014 Google Inc.
4b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org#
5b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org# Use of this source code is governed by a BSD-style license that can be
6b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org# found in the LICENSE file.
7b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org
8a749e60e74f7f0446fa6acaff4954b50fc31615ccommit-bot@chromium.orgset -e  # When any command fails, the shell will immediately exit.
9a749e60e74f7f0446fa6acaff4954b50fc31615ccommit-bot@chromium.org
10b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.orgusage() {
11b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org    cat >&2 <<EOF
126f2d4d4679f5f0e1a1b5c2e940f1b65e34d94649commit-bot@chromium.orgarm64_make - this script builds a AArch64 version of skia that
13b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.orgdoes not depend on external libraries, perfect for putting in an
14b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.orgembedded system running Linux.
15b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org
16b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.orgAssumes that you have already run the download_deps script.
17b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org
18b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.orgUsage:
19b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org  $0 \\
20b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org    [-o SKIA_OUT_DIR] [-c CC_EXE] [-x CXX_EXE] \\
21b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org    [-t Debug | Release | Coverage | Release_Developer] \\
22b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org
23b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.orgExample use:
24b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org  $0 \\
25b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org    -o ~/build/skia/arg64gcc \\
26b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org    -c ~/local/arm64/bin/aarch64-linux-gnu-gcc \\
27b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org    -x ~/local/arm64/bin/aarch64-linux-gnu-g++ \\
28b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.orgEOF
29b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org    return 1
30b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org}
31b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org
32b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org# BUILD_TYPE should be one of:
33b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org#  Coverage, Debug, Release, or Release_Developer
34b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.orgBUILD_TYPE='Debug'
35b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org
36b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.orgwhile getopts ":c:x:o:t:h" opt ; do
37b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org    case $opt in
38b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org        c)  export CC="$OPTARG" ;;
39b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org        x)  export CXX="$OPTARG" ;;
40b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org        o)  export SKIA_OUT="$OPTARG";;
41b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org        t)  BUILD_TYPE="$OPTARG";;
42b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org        h)  usage || exit;;
43b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org        ?)  echo "unknown option '$OPTARG'" >&2;
44b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org            usage || exit;;
45b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org    esac
46b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.orgdone
478041f3dacedd37da887262793b663917679bc309commit-bot@chromium.orgOPTIND=1  # Reset this variable for calling barelinux_make with -t command flag.
48b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org
49b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.orgexport GYP_DEFINES="${GYP_DEFINES} \
50b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org    skia_gpu=0 \
516f2d4d4679f5f0e1a1b5c2e940f1b65e34d94649commit-bot@chromium.org    skia_arch_type=arm64 \
52b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org    "
53b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org
54a749e60e74f7f0446fa6acaff4954b50fc31615ccommit-bot@chromium.org. "$(dirname "$0")/barelinux_make" -t "$BUILD_TYPE"
55b0a6578c7f3185d4b903ec09de118411618a7e2dcommit-bot@chromium.org
56