Home | History | Annotate | Download | only in android
      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.
     10 if [[ -n "$BASH_VERSION" && "${BASH_SOURCE:-$0}" == "$0" ]]; then
     11   echo "ERROR: envsetup must be sourced."
     12   exit 1
     13 fi
     14 
     15 # This only exists to set local variables. Don't call this manually.
     16 android_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 Android utility tools to the system path.
     47   export PATH=$PATH:${ANDROID_SDK_ROOT}/tools/
     48 
     49   # Add Chromium Android development scripts to system path.
     50   # Must be after CHROME_SRC is set.
     51   export PATH=$PATH:${CHROME_SRC}/build/android
     52 
     53   export ENVSETUP_GYP_CHROME_SRC=${CHROME_SRC}  # TODO(thakis): Remove.
     54 }
     55 # In zsh, $0 is the name of the file being sourced.
     56 android_envsetup_main "${BASH_SOURCE:-$0}"
     57 unset -f android_envsetup_main
     58 
     59 android_gyp() {
     60   echo "Please call build/gyp_chromium instead. android_gyp is going away."
     61   "${ENVSETUP_GYP_CHROME_SRC}/build/gyp_chromium" --depth="${ENVSETUP_GYP_CHROME_SRC}" --check "$@"
     62 }
     63