Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(594)

Side by Side Diff: platform_tools/chromeos/bin/chromeos_make

Issue 17608003: Use a single cros_toolchain tarball for ChromeOS build (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « gyp/common.gypi ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 2
3 # This script builds Skia for ChromeOS by mounting the Skia checkout inside a 3 # This script builds Skia for ChromeOS by mounting the Skia checkout inside a
4 # chroot contained within an existing ChromeOS checkout, entering the chroot, 4 # chroot contained within an existing ChromeOS checkout, entering the chroot,
5 # and running the build_skia_in_chroot script. 5 # and running the build_skia_in_chroot script.
6 6
7 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 7 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8 8
9 if [ $(uname) != "Linux" ]; then 9 if [ $(uname) != "Linux" ]; then
10 echo "ERROR: Can only build for ChromeOS on Linux." 10 echo "ERROR: Can only build for ChromeOS on Linux."
11 exit 1 11 exit 1
12 fi 12 fi
13 13
14 14
15 makeVars="" 15 makeVars=""
16 deviceID="" 16 deviceID=""
17 crosBotoFile=""
18 17
19 while (( "$#" )); do 18 while (( "$#" )); do
20 19
21 if [[ $(echo "$1" | grep "^-d$") != "" ]]; 20 if [[ $(echo "$1" | grep "^-d$") != "" ]];
22 then 21 then
23 deviceID="$2" 22 deviceID="$2"
24 shift 23 shift
25 elif [[ "$1" == "--cros-boto-file" ]];
26 then
27 crosBotoFile="$2"
28 shift
29 else 24 else
30 makeVars="$makeVars $1" 25 makeVars="$makeVars $1"
31 fi 26 fi
32 27
33 shift 28 shift
34 done 29 done
35 30
36 if [[ -z "${deviceID}" ]]; then 31 if [[ -z "${deviceID}" ]]; then
37 echo "You must provide a deviceID with -d." 32 echo "You must provide a deviceID with -d."
38 exit 1 33 exit 1
39 fi 34 fi
40 35
41 CHROMEOS_CHROOT="${SCRIPT_DIR}/../toolchain" 36 CHROMEOS_CHROOT="${SCRIPT_DIR}/../toolchain"
42 37
43 # Obtain some extra headers and libraries if needed.
44 if ! [[ -d "${CHROMEOS_CHROOT}/x86-generic" && \
45 -d "${CHROMEOS_CHROOT}/amd64-generic" && \
46 -d "${CHROMEOS_CHROOT}/arm-generic" ]]; then
47 gsutil cp gs://chromium-skia-gm/chromeos-toolchains/cros_toolchain.tgz ${CHROM EOS_CHROOT}
48 if [[ "$?" != "0" ]]; then
49 exit 1
50 fi
51 pushd ${CHROMEOS_CHROOT} > /dev/null
52 tar -zxvf cros_toolchain.tgz
53 if [[ "$?" != "0" ]]; then
54 exit 1
55 fi
56 rm cros_toolchain.tgz
57 popd > /dev/null
58 fi
59
60 # If a boto file was provided, use that instead of the default.
61 if [[ -n "$crosBotoFile" ]]; then
62 export AWS_CREDENTIAL_FILE="$crosBotoFile"
63 export BOTO_CONFIG="$crosBotoFile"
64 fi
65
66 # Get the required SDK version. 38 # Get the required SDK version.
67 # TODO(borenet): Should we instead get the latest from GS? 39 # TODO(borenet): Should we instead get the latest from GS?
68 #SDK_VERSION=$(gsutil cat gs://chromeos-image-archive/${deviceID}-release/LATEST -master) 40 #SDK_VERSION=$(gsutil cat gs://chromeos-image-archive/${deviceID}-release/LATEST -master)
69 #SDK_VERSION=${SDK_VERSION:4} 41 #SDK_VERSION=${SDK_VERSION:4}
70 SDK_VERSION="4279.0.0" 42 SDK_VERSION="4279.0.0"
71 mkdir -p "${CHROMEOS_CHROOT}/src/chromeos" 43 mkdir -p "${CHROMEOS_CHROOT}/src/chromeos"
72 echo -n ${SDK_VERSION} > "${CHROMEOS_CHROOT}/src/chromeos/CHROMEOS_LKGM" 44 echo -n ${SDK_VERSION} > "${CHROMEOS_CHROOT}/src/chromeos/CHROMEOS_LKGM"
73 45
46 # Download the toolchain tarball if needed.
47 # TODO(borenet): Let chrome-sdk take care of this once it works with external
48 # boards.
49 if ! [[ -d "${CHROMEOS_CHROOT}/.cros_cache" ]]; then
50 TARBALL="cros_toolchain.tgz"
51 gsutil cp gs://chromium-skia-gm/chromeos-toolchains/${TARBALL} ${CHROMEOS_CHRO OT}
52 if [ "$?" != "0" ]
53 then
54 exit 1;
55 fi
56 pushd "${CHROMEOS_CHROOT}" > /dev/null
57 tar -zxvf ${TARBALL}
58 popd > /dev/null
59 rm ${CHROMEOS_CHROOT}/${TARBALL}
60 fi
61
74 # Put a fake .gclient file in the toolchain directory so that the cros tool 62 # Put a fake .gclient file in the toolchain directory so that the cros tool
75 # thinks we're in a Chrome checkout. 63 # thinks we're in a Chrome checkout.
76 echo "Delete me!" > "${CHROMEOS_CHROOT}/.gclient" 64 echo "Delete me!" > "${CHROMEOS_CHROOT}/.gclient"
77 65
78 # Where the Skia code will pretend to live inside the chroot. 66 # Where the Skia code will pretend to live inside the chroot.
79 SKIA_TOP_DIR="${SCRIPT_DIR}/../../.." 67 SKIA_TOP_DIR="${SCRIPT_DIR}/../../.."
80 68
81 pushd ${CHROMEOS_CHROOT} 69 pushd ${CHROMEOS_CHROOT}
82 cros chrome-sdk --board ${deviceID} --debug -- /bin/sh -c "cd ${SKIA_TOP_DIR}; p latform_tools/chromeos/bin/build_skia_in_chroot ${makeVars}" 70 cros chrome-sdk --board ${deviceID} --debug -- /bin/sh -c "cd ${SKIA_TOP_DIR}; p latform_tools/chromeos/bin/build_skia_in_chroot ${makeVars}"
83 returnVal=$? 71 returnVal=$?
84 popd > /dev/null 72 popd > /dev/null
85 73
86 # Clean up 74 # Clean up
87 rm ${CHROMEOS_CHROOT}/.gclient 75 rm ${CHROMEOS_CHROOT}/.gclient
88 76
89 if [ "${returnVal}" != "0" ] 77 if [ "${returnVal}" != "0" ]
90 then 78 then
91 exit 1; 79 exit 1;
92 fi 80 fi
OLDNEW
« no previous file with comments | « gyp/common.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698