summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/skia/platform_tools/chromeos/bin/chromeos_make
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/skia/platform_tools/chromeos/bin/chromeos_make')
-rwxr-xr-xchromium/third_party/skia/platform_tools/chromeos/bin/chromeos_make81
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