| #!/bin/bash |
| |
| # Copyright (c) 2012 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. |
| |
| # This script runs gyp with the configuration required to build WebView in the |
| # Android build system. It is not necessary to source build/android/envsetup.sh |
| # before running this script. |
| |
| set -e |
| |
| PLATFORM=${1:-linux-arm} |
| echo "Generating makefiles for $PLATFORM" |
| |
| export PYTHONDONTWRITEBYTECODE=1 |
| |
| CHROME_SRC="$(readlink -f "$(dirname "$0")/../..")" |
| GYP="${CHROME_SRC}/build/gyp_chromium" |
| |
| # Use the latest API in the AOSP prebuilts directory (change with AOSP roll). |
| android_sdk_version=18 |
| |
| # For the WebView build we always use the SDK in the Android tree. |
| export ANDROID_SDK_ROOT=${ANDROID_BUILD_TOP}/prebuilts/sdk/\ |
| ${android_sdk_version} |
| |
| DEFINES="OS=android" |
| DEFINES+=" android_webview_build=1" |
| |
| # We need to supply SDK paths relative to the top of the Android tree to make |
| # sure the generated Android makefiles are portable, as they will be checked |
| # into the Android tree. |
| android_sdk=$(python -c \ |
| "import os.path; print os.path.relpath('${ANDROID_SDK_ROOT}', \ |
| '${ANDROID_BUILD_TOP}')") |
| DEFINES+=" android_src=\$(PWD)" |
| DEFINES+=" android_ndk_root=ndk_root_unused_in_webview_build" |
| DEFINES+=" android_sdk=\$(PWD)/${android_sdk}" |
| DEFINES+=" android_sdk_root=\$(PWD)/${android_sdk}" |
| DEFINES+=" android_sdk_version=sdk_version_unused_in_webview_build" |
| DEFINES+=" android_toolchain=${ANDROID_TOOLCHAIN}" |
| |
| # TODO: Get rid of this block, crbug.com/334021 |
| if [[ -n "$CHROME_ANDROID_WEBVIEW_OFFICIAL_BUILD" ]]; then |
| DEFINES+=" logging_like_official_build=1" |
| DEFINES+=" tracing_like_official_build=1" |
| fi |
| |
| export GYP_DEFINES="${GYP_DEFINES} ${DEFINES}" |
| |
| FLAGS="-f android -Gdefault_target=libwebviewchromium -Glimit_to_target_all=1 "\ |
| "--depth=${CHROME_SRC} ${CHROME_SRC}/android_webview/android_webview.gyp" |
| |
| for host_os in linux mac; do |
| host_platform=$(echo $host_os | sed -e 's/mac/darwin/') |
| android_sdk_tools=$(python -c \ |
| "import os.path, sys; \ |
| print os.path.relpath( \ |
| '${ANDROID_SDK_ROOT}/../tools/${host_platform}', \ |
| '${ANDROID_BUILD_TOP}')") |
| EFLAGS=\ |
| "${FLAGS} -Dhost_os=${host_os} -Dandroid_sdk_tools=\$(PWD)/${android_sdk_tools}" |
| |
| if [ "$PLATFORM" == "${host_platform}-arm" -o "$PLATFORM" == "all" ]; then |
| ${GYP} --suffix .${host_platform}-arm ${EFLAGS} -Dtarget_arch=arm |
| fi |
| if [ "$PLATFORM" == "${host_platform}-arm64" -o "$PLATFORM" == "all" ]; then |
| ${GYP} --suffix .${host_platform}-arm64 ${EFLAGS} -Dtarget_arch=arm64 |
| fi |
| if [ "$PLATFORM" == "${host_platform}-x86" -o "$PLATFORM" == "all" ]; then |
| ${GYP} --suffix .${host_platform}-x86 ${EFLAGS} -Dtarget_arch=ia32 |
| fi |
| if [ "$PLATFORM" == "${host_platform}-x86_64" -o "$PLATFORM" == "all" ]; then |
| ${GYP} --suffix .${host_platform}-x86_64 ${EFLAGS} -Dtarget_arch=x64 |
| fi |
| if [ "$PLATFORM" == "${host_platform}-mips" -o "$PLATFORM" == "all" ]; then |
| ${GYP} --suffix .${host_platform}-mips ${EFLAGS} -Dtarget_arch=mipsel |
| fi |
| done |