diff options
Diffstat (limited to 'chromium/third_party/skia/platform_tools/chromeos/bin/chromeos_make')
-rwxr-xr-x | chromium/third_party/skia/platform_tools/chromeos/bin/chromeos_make | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/chromium/third_party/skia/platform_tools/chromeos/bin/chromeos_make b/chromium/third_party/skia/platform_tools/chromeos/bin/chromeos_make new file mode 100755 index 00000000000..a1cb2ba6a3d --- /dev/null +++ b/chromium/third_party/skia/platform_tools/chromeos/bin/chromeos_make @@ -0,0 +1,81 @@ +#!/bin/bash + +# This script builds Skia for ChromeOS by mounting the Skia checkout inside a +# chroot contained within an existing ChromeOS checkout, entering the chroot, +# and running the build_skia_in_chroot script. + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +if [ $(uname) != "Linux" ]; then + echo "ERROR: Can only build for ChromeOS on Linux." + exit 1 +fi + + +makeVars="" +deviceID="" + +while (( "$#" )); do + + if [[ $(echo "$1" | grep "^-d$") != "" ]]; + then + deviceID="$2" + shift + else + makeVars="$makeVars $1" + fi + +shift +done + +if [[ -z "${deviceID}" ]]; then + echo "You must provide a deviceID with -d." + exit 1 +fi + +CHROMEOS_CHROOT="${SCRIPT_DIR}/../toolchain" + +# Get the required SDK version. +# TODO(borenet): Should we instead get the latest from GS? +#SDK_VERSION=$(gsutil cat gs://chromeos-image-archive/${deviceID}-release/LATEST-master) +#SDK_VERSION=${SDK_VERSION:4} +SDK_VERSION="4279.0.0" +mkdir -p "${CHROMEOS_CHROOT}/src/chromeos" +echo -n ${SDK_VERSION} > "${CHROMEOS_CHROOT}/src/chromeos/CHROMEOS_LKGM" + +# Download the toolchain tarball if needed. +# TODO(borenet): Let chrome-sdk take care of this once it works with external +# boards. +if ! [[ -d "${CHROMEOS_CHROOT}/.cros_cache" ]]; then + TARBALL="cros_toolchain.tgz" + gsutil cp gs://chromium-skia-gm/chromeos-toolchains/${TARBALL} ${CHROMEOS_CHROOT} + if [ "$?" != "0" ] + then + exit 1; + fi + pushd "${CHROMEOS_CHROOT}" > /dev/null + tar -zxvf ${TARBALL} + popd > /dev/null + rm ${CHROMEOS_CHROOT}/${TARBALL} +fi + +# Put a fake .gclient file in the toolchain directory so that the cros tool +# thinks we're in a Chrome checkout. +echo "Delete me!" > "${CHROMEOS_CHROOT}/.gclient" + +# Where the Skia code will pretend to live inside the chroot. +SKIA_TOP_DIR="${SCRIPT_DIR}/../../.." + +pushd ${CHROMEOS_CHROOT} +cros chrome-sdk --nogoma --board ${deviceID} --debug -- /bin/sh -c "cd ${SKIA_TOP_DIR}; platform_tools/chromeos/bin/build_skia_in_chroot ${makeVars}" +popd > /dev/null + +# Clean up +rm ${CHROMEOS_CHROOT}/.gclient + +if [ -f .cros_build_successful ]; then + rm -rf .cros_build_successful + exit 0 +fi + +exit 1
\ No newline at end of file |