OLD | NEW |
1 #!/bin/bash | 1 #!/bin/bash |
2 | 2 |
3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 # Sets up environment for building Chromium on Android. It can either be | 7 # Sets up environment for building Chromium on Android. It can either be |
8 # compiled with the Android tree or using the Android SDK/NDK. To build with | 8 # compiled with the Android tree or using the Android SDK/NDK. To build with |
9 # NDK/SDK: ". build/android/envsetup.sh --sdk". Environment variable | 9 # NDK/SDK: ". build/android/envsetup.sh". Environment variable |
10 # ANDROID_SDK_BUILD=1 will then be defined and used in the rest of the setup to | 10 # ANDROID_SDK_BUILD=1 will then be defined and used in the rest of the setup to |
11 # specifiy build type. | 11 # specifiy build type. |
12 | 12 |
13 # When building WebView as part of Android we can't use the SDK. Other builds | 13 # When building WebView as part of Android we can't use the SDK. Other builds |
14 # default to using the SDK. | 14 # default to using the SDK. |
15 # NOTE(yfriedman): This looks unnecessary but downstream the default value | |
16 # should be 0 until all builds switch to SDK/NDK. | |
17 if [[ "${CHROME_ANDROID_BUILD_WEBVIEW}" -eq 1 ]]; then | 15 if [[ "${CHROME_ANDROID_BUILD_WEBVIEW}" -eq 1 ]]; then |
18 export ANDROID_SDK_BUILD=0 | 16 export ANDROID_SDK_BUILD=0 |
19 else | 17 else |
20 export ANDROID_SDK_BUILD=1 | 18 export ANDROID_SDK_BUILD=1 |
21 fi | 19 fi |
22 # Loop over args in case we add more arguments in the future. | |
23 while [ "$1" != "" ]; do | |
24 case $1 in | |
25 -s | --sdk ) export ANDROID_SDK_BUILD=1 ; shift ;; | |
26 * ) shift ; break ;; | |
27 esac | |
28 done | |
29 | 20 |
30 if [[ "${ANDROID_SDK_BUILD}" -eq 1 ]]; then | 21 if [[ "${ANDROID_SDK_BUILD}" -eq 1 ]]; then |
31 echo "Using SDK build" | 22 echo "Using SDK build" |
32 fi | 23 fi |
33 | 24 |
34 host_os=$(uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/') | 25 host_os=$(uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/') |
35 | 26 |
36 case "${host_os}" in | 27 case "${host_os}" in |
37 "linux") | 28 "linux") |
38 toolchain_dir="linux-x86_64" | 29 toolchain_dir="linux-x86_64" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 # Sets up environment for building Chromium for Android with source. Expects | 63 # Sets up environment for building Chromium for Android with source. Expects |
73 # android environment setup and lunch. | 64 # android environment setup and lunch. |
74 elif [[ -z "$ANDROID_BUILD_TOP" || \ | 65 elif [[ -z "$ANDROID_BUILD_TOP" || \ |
75 -z "$ANDROID_TOOLCHAIN" || \ | 66 -z "$ANDROID_TOOLCHAIN" || \ |
76 -z "$ANDROID_PRODUCT_OUT" ]]; then | 67 -z "$ANDROID_PRODUCT_OUT" ]]; then |
77 echo "Android build environment variables must be set." | 68 echo "Android build environment variables must be set." |
78 echo "Please cd to the root of your Android tree and do: " | 69 echo "Please cd to the root of your Android tree and do: " |
79 echo " . build/envsetup.sh" | 70 echo " . build/envsetup.sh" |
80 echo " lunch" | 71 echo " lunch" |
81 echo "Then try this again." | 72 echo "Then try this again." |
82 echo "Or did you mean NDK/SDK build. Run envsetup.sh with --sdk argument." | 73 echo "Or did you mean NDK/SDK build. Run envsetup.sh without any arguments." |
83 return 1 | 74 return 1 |
84 elif [[ -n "$CHROME_ANDROID_BUILD_WEBVIEW" ]]; then | 75 elif [[ -n "$CHROME_ANDROID_BUILD_WEBVIEW" ]]; then |
85 webview_build_init | 76 webview_build_init |
86 else | |
87 non_sdk_build_init | |
88 fi | 77 fi |
89 | 78 |
90 # Workaround for valgrind build | 79 # Workaround for valgrind build |
91 if [[ -n "$CHROME_ANDROID_VALGRIND_BUILD" ]]; then | 80 if [[ -n "$CHROME_ANDROID_VALGRIND_BUILD" ]]; then |
92 # arm_thumb=0 is a workaround for https://bugs.kde.org/show_bug.cgi?id=270709 | 81 # arm_thumb=0 is a workaround for https://bugs.kde.org/show_bug.cgi?id=270709 |
93 DEFINES+=" arm_thumb=0 release_extra_cflags='-fno-inline\ | 82 DEFINES+=" arm_thumb=0 release_extra_cflags='-fno-inline\ |
94 -fno-omit-frame-pointer -fno-builtin' release_valgrind_build=1\ | 83 -fno-omit-frame-pointer -fno-builtin' release_valgrind_build=1\ |
95 release_optimize=1" | 84 release_optimize=1" |
96 fi | 85 fi |
97 | 86 |
(...skipping 26 matching lines...) Expand all Loading... |
124 if echo "$CXX_target" | grep -q g++; then | 113 if echo "$CXX_target" | grep -q g++; then |
125 unset CXX_target | 114 unset CXX_target |
126 fi | 115 fi |
127 fi | 116 fi |
128 "${CHROME_SRC}/build/gyp_chromium" --depth="${CHROME_SRC}" --check "$@" | 117 "${CHROME_SRC}/build/gyp_chromium" --depth="${CHROME_SRC}" --check "$@" |
129 ) | 118 ) |
130 } | 119 } |
131 | 120 |
132 # FLOCK needs to be null on system that has no flock | 121 # FLOCK needs to be null on system that has no flock |
133 which flock > /dev/null || export FLOCK= | 122 which flock > /dev/null || export FLOCK= |
OLD | NEW |