Chromium Code Reviews| Index: chromecast/build/build_env_arm_chromecast.sh |
| diff --git a/chromecast/build/build_env_arm_chromecast.sh b/chromecast/build/build_env_arm_chromecast.sh |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..94b63ced32c3cfca2e11c07cbd73a8c14f1c6aab |
| --- /dev/null |
| +++ b/chromecast/build/build_env_arm_chromecast.sh |
| @@ -0,0 +1,77 @@ |
| +# Copyright (c) 2014 The Chromium Authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +function setup_chromium_env_arm_chromecast() { |
| + setup_chromium_env_common arm_chromecast $@ |
| + |
| + local tc_old="${CHROME_SRCROOT}/../../prebuilt/toolchain/arm-unknown-linux-gnueabi-4.5.3-glibc/bin/arm-unknown-linux-gnueabi" |
| + local tc_new="${CHROME_SRCROOT}/../../prebuilt/toolchain/armv7a/bin/armv7a-cros-linux-gnueabi" |
| + if [[ -e ${tc_old}-gcc ]]; then |
| + tc=${tc_old} |
| + elif [[ -e ${tc_new}-gcc ]]; then |
| + tc=${tc_new} |
| + else |
| + echo "could not find toolchain" |
| + exit 1 |
| + fi |
| + setup_build_toolchain "${tc}" |
| + |
| + setup_chromium_env_common_chromecast |
| + |
| + # If using a hardfloat toolchain, set the gyp defines for it. |
| + if [[ ! -e ${CHROME_SRCROOT}/../../prebuilt/toolchain/arm-unknown-linux-gnueabi-4.5.3-glibc/bin/arm-unknown-linux-gnueabi-gcc && |
| + ( -e ${CHROME_SRCROOT}/../../prebuilt/toolchain/armv7a/bin/armv7a-cros-linux-gnueabi-gcc || |
| + -e `which armv7a-cros-linux-gnueabi-gcc` ) ]]; then |
| + export GYP_DEFINES="${GYP_DEFINES} arm_float_abi=hard v8_use_arm_eabi_hardfloat=true" |
| + fi |
| + |
| + # Check if widevine is available. |
| + if [ -d "${CHROME_SRCROOT}/chromecast/internal/widevine_cdm" ]; then |
| + export GYP_DEFINES="${GYP_DEFINES} use_widevine=1" |
| + fi |
| + |
| + # Check if playready is available. |
| + if [ -d "${CHROME_SRCROOT}/chromecast/internal/playready_cdm" ]; then |
| + export GYP_DEFINES="${GYP_DEFINES} use_playready=1" |
| + fi |
| + |
| + # - arm_thumb=1: turn on Thumb mode for a smaller executable. |
| + # - armv7=1: We are using a Cortex A9 which support Arm V7. |
| + # - cast_uses_directfb=0 (use MARVELL's graphics directly) |
| + # - chromecast_branding=Chrome: Whether this is internal release build |
| + # (Chrome) or public build (Chromium) |
| + # - linux_use_gold_binary=0: Don't use gold linker. |
| + # - linux_use_gold_flags=0: Don't use gold specific flags. |
| + # - sysroot: Set the build sysroot directory |
| + # - target_arch=arm : this is ARM. |
| + # - use_alsa=0 |
| + # - use_libjpeg_turbo=1: Use libjpeg_turbo for arm build |
| + # - use_pulseaudio=0 |
| + # - use_system_libjpeg=0 |
| + # - video_hole=1: Enable video hole punching |
| + local defines=" |
| +arm_arch='' |
|
jam
2014/04/04 01:01:24
i wonder if this stuff better belongs in build/com
lcwu1
2014/04/05 01:17:13
Yes, I too prefer what you suggested. (In fact, in
jam
2014/04/07 17:32:01
I see. ok btw this is what android does (they set
|
| +arm_tune='cortex-a9' |
| +arm_thumb=1 |
| +armv7=1 |
| +cast_uses_directfb=0 |
| +chromecast_branding=Chrome |
| +linux_use_gold_binary=0 |
| +linux_use_gold_flags=0 |
| +sysroot=${CHROME_SRCROOT}/../../${TARGET_OUT_TOOLCHAIN:-out/target/product/anchovy/build_sysroot} |
| +target_arch=arm |
| +use_alsa=0 |
| +use_libjpeg_turbo=1 |
| +use_pulseaudio=0 |
| +use_system_libjpeg=0 |
| +video_hole=1 |
| +" |
| + |
| + export GYP_DEFINES="${GYP_DEFINES} ${defines}" |
| +} |
| + |
| +function setup_chrome_env_arm_chromecast() { |
| + setup_chromium_env_arm_chromecast $@ |
| + brand_as_chrome |
| +} |