1#!/bin/bash
2# Copyright (c) 2012 The Chromium Authors. All rights reserved.
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6# Sets up environment for building Chromium on Android.
7
8# Make sure we're being sourced (possibly by another script). Check for bash
9# since zsh sets $0 when sourcing.
10if [[ -n "$BASH_VERSION" && "${BASH_SOURCE:-$0}" == "$0" ]]; then
11  echo "ERROR: envsetup must be sourced."
12  exit 1
13fi
14
15# This only exists to set local variables. Don't call this manually.
16android_envsetup_main() {
17  local SCRIPT_PATH="$1"
18  local SCRIPT_DIR="$(dirname "$SCRIPT_PATH")"
19
20  local CURRENT_DIR="$(readlink -f "${SCRIPT_DIR}/../../")"
21  if [[ -z "${CHROME_SRC}" ]]; then
22    # If $CHROME_SRC was not set, assume current directory is CHROME_SRC.
23    local CHROME_SRC="${CURRENT_DIR}"
24  fi
25
26  if [[ "${CURRENT_DIR/"${CHROME_SRC}"/}" == "${CURRENT_DIR}" ]]; then
27    # If current directory is not in $CHROME_SRC, it might be set for other
28    # source tree. If $CHROME_SRC was set correctly and we are in the correct
29    # directory, "${CURRENT_DIR/"${CHROME_SRC}"/}" will be "".
30    # Otherwise, it will equal to "${CURRENT_DIR}"
31    echo "Warning: Current directory is out of CHROME_SRC, it may not be \
32  the one you want."
33    echo "${CHROME_SRC}"
34  fi
35
36  # Allow the caller to override a few environment variables. If any of them is
37  # unset, we default to a sane value that's known to work. This allows for
38  # experimentation with a custom SDK.
39  if [[ -z "${ANDROID_SDK_ROOT}" || ! -d "${ANDROID_SDK_ROOT}" ]]; then
40    local ANDROID_SDK_ROOT="${CHROME_SRC}/third_party/android_tools/sdk/"
41  fi
42
43  # Add Android SDK tools to system path.
44  export PATH=$PATH:${ANDROID_SDK_ROOT}/platform-tools
45
46  # Add Chromium Android development scripts to system path.
47  # Must be after CHROME_SRC is set.
48  export PATH=$PATH:${CHROME_SRC}/build/android
49
50  export ENVSETUP_GYP_CHROME_SRC=${CHROME_SRC}  # TODO(thakis): Remove.
51}
52# In zsh, $0 is the name of the file being sourced.
53android_envsetup_main "${BASH_SOURCE:-$0}"
54unset -f android_envsetup_main
55
56android_gyp() {
57  echo "Please call build/gyp_chromium instead. android_gyp is going away."
58  "${ENVSETUP_GYP_CHROME_SRC}/build/gyp_chromium" --depth="${ENVSETUP_GYP_CHROME_SRC}" --check "$@"
59}
60