aboutsummaryrefslogtreecommitdiff
path: root/android-chromium/chromium-build.sh
blob: 629a37da88563b3046893a1611c6191392a07f5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/bash

setup_depottools() {
  sudo apt-get update
  rm -rf depot_tools
  git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  export PATH=${PWD}/depot_tools:${PATH}
}

setup_chromium() {
  mkdir chromium
  cd chromium
  fetch --nohooks android
}

sync_source() {
  yes | gclient sync
}

install_deps() {
  ./src/build/install-build-deps.sh --no-syms --no-chromeos-fonts --no-prompt
  ./src/build/install-build-deps-android.sh --no-prompt
  sudo update-java-alternatives --set java-1.7.0-openjdk-amd64
}

setup_buildenv() {
  rm -rf out
  case "${ARGS}" in
    gcc_arm)
      gn gen out/Default --args="target_os=\"android\" target_cpu=\"arm\" is_debug=true is_component_build=true is_clang=false symbol_level=1 enable_incremental_javac=true"
      ;;
    gcc_arm64)
      gn gen out/Default --args="target_os=\"android\" target_cpu=\"arm64\" is_debug=true is_component_build=true is_clang=false symbol_level=1 enable_incremental_javac=true"
      ;;
    clang_arm)
      gn gen out/Default --args="target_os=\"android\" target_cpu=\"arm\" is_debug=true is_component_build=true is_clang=true symbol_level=1 enable_incremental_javac=true"
      ;;
    clang_arm6)
      gn gen out/Default --args="target_os=\"android\" target_cpu=\"arm64\" is_debug=true is_component_build=true is_clang=true symbol_level=1 enable_incremental_javac=true"
      ;;
  esac
}

build_chromium() {
  . build/android/envsetup.sh
  ninja -C out/Default chrome_public_apk
}

apply_patches() {
  cd ..
  git clone http://android-review.linaro.org/chromium-patchsets
  cd chromium-patchsets
  pw=${PWD}
  export patches=$(find . -iname "*.patch" | sort)
  for patch in ${patches}; do echo "applying $patch"; project=$(dirname "${patch}"); cd ../src/"${project}";rm -rf .git/rebase-apply; git am "${pw}"/"${patch}"; cd -; done
  cd ../src/
  rm -rf "${pw}"
}

main() {
  set -x
  setup_depottools
  setup_chromium
  sync_source
  install_deps
  cd src
  sync_source
  apply_patches
  setup_buildenv
  echo ${PWD}
  build_chromium
}

main "$@"