summaryrefslogtreecommitdiff
path: root/chromium-build.sh
blob: 7fe67c3bdd372e433c48c459b83a62a4467c6e87 (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=$PATH:$PWD/depot_tools
}

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

sync_source() {
  yes | gclient sync 
}

install_deps() {
  ./src/build/install-build-deps.sh --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 "$@"