Colin Cross | 0ffa5a0 | 2016-04-01 16:45:40 -0700 | [diff] [blame] | 1 | #!/bin/bash -ex |
| 2 | |
Colin Cross | 9297fad | 2020-08-10 12:18:51 -0700 | [diff] [blame] | 3 | # Copyright 2020 Google Inc. All rights reserved. |
| 4 | # |
| 5 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 6 | # you may not use this file except in compliance with the License. |
| 7 | # You may obtain a copy of the License at |
| 8 | # |
| 9 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | # |
| 11 | # Unless required by applicable law or agreed to in writing, software |
| 12 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | # See the License for the specific language governing permissions and |
| 15 | # limitations under the License. |
| 16 | |
Sasha Smundak | 2244273 | 2019-11-18 18:27:12 -0800 | [diff] [blame] | 17 | : "${OUT_DIR:?Must set OUT_DIR}" |
Colin Cross | 0ffa5a0 | 2016-04-01 16:45:40 -0700 | [diff] [blame] | 18 | TOP=$(pwd) |
| 19 | |
| 20 | UNAME="$(uname)" |
| 21 | case "$UNAME" in |
| 22 | Linux) |
| 23 | OS='linux' |
| 24 | ;; |
| 25 | Darwin) |
| 26 | OS='darwin' |
| 27 | ;; |
| 28 | *) |
| 29 | exit 1 |
| 30 | ;; |
| 31 | esac |
| 32 | |
| 33 | build_soong=1 |
Sasha Smundak | 2244273 | 2019-11-18 18:27:12 -0800 | [diff] [blame] | 34 | [[ ! -d ${TOP}/toolchain/go ]] || build_go=1 |
Colin Cross | c5d12c5 | 2021-08-02 11:24:14 -0700 | [diff] [blame] | 35 | |
| 36 | use_musl=false |
| 37 | clean=true |
| 38 | while getopts ":-:" opt; do |
| 39 | case "$opt" in |
| 40 | -) |
| 41 | case "${OPTARG}" in |
| 42 | resume) clean= ;; |
| 43 | musl) use_musl=true ;; |
Colin Cross | 7d013d5 | 2022-03-08 13:13:24 -0800 | [diff] [blame] | 44 | skip-go) unset build_go ;; |
| 45 | skip-soong-tests) skip_soong_tests=--skip-soong-tests ;; |
Colin Cross | c5d12c5 | 2021-08-02 11:24:14 -0700 | [diff] [blame] | 46 | *) echo "Unknown option --${OPTARG}"; exit 1 ;; |
| 47 | esac;; |
| 48 | *) echo "'${opt}' '${OPTARG}'" |
| 49 | esac |
| 50 | done |
Colin Cross | 0ffa5a0 | 2016-04-01 16:45:40 -0700 | [diff] [blame] | 51 | |
Colin Cross | c2c5b62 | 2022-02-08 12:57:39 -0800 | [diff] [blame] | 52 | secondary_arch="" |
| 53 | if [[ ${OS} = linux ]]; then |
| 54 | secondary_arch="\"HostSecondaryArch\":\"x86\"," |
| 55 | fi |
| 56 | |
Dan Willemsen | 0d4cca5 | 2020-04-29 15:46:22 -0700 | [diff] [blame] | 57 | # Use toybox and other prebuilts even outside of the build (test running, go, etc) |
| 58 | export PATH=${TOP}/prebuilts/build-tools/path/${OS}-x86:$PATH |
| 59 | |
Colin Cross | 7d013d5 | 2022-03-08 13:13:24 -0800 | [diff] [blame] | 60 | if [ -n "${build_soong}" ]; then |
Colin Cross | 0ffa5a0 | 2016-04-01 16:45:40 -0700 | [diff] [blame] | 61 | SOONG_OUT=${OUT_DIR}/soong |
| 62 | SOONG_HOST_OUT=${OUT_DIR}/soong/host/${OS}-x86 |
Sasha Smundak | 2244273 | 2019-11-18 18:27:12 -0800 | [diff] [blame] | 63 | [[ -z "${clean}" ]] || rm -rf ${SOONG_OUT} |
Colin Cross | 0ffa5a0 | 2016-04-01 16:45:40 -0700 | [diff] [blame] | 64 | mkdir -p ${SOONG_OUT} |
Dan Willemsen | 9e607a2 | 2020-12-16 18:45:34 -0800 | [diff] [blame] | 65 | rm -rf ${SOONG_OUT}/dist ${SOONG_OUT}/dist-common |
Colin Cross | 0ffa5a0 | 2016-04-01 16:45:40 -0700 | [diff] [blame] | 66 | cat > ${SOONG_OUT}/soong.variables << EOF |
| 67 | { |
| 68 | "Allow_missing_dependencies": true, |
Dan Willemsen | 79299d1 | 2020-12-23 16:51:09 -0800 | [diff] [blame] | 69 | "HostArch":"x86_64", |
Colin Cross | c2c5b62 | 2022-02-08 12:57:39 -0800 | [diff] [blame] | 70 | ${secondary_arch} |
Colin Cross | c5d12c5 | 2021-08-02 11:24:14 -0700 | [diff] [blame] | 71 | "HostMusl": $use_musl, |
Dan Willemsen | 79299d1 | 2020-12-23 16:51:09 -0800 | [diff] [blame] | 72 | "VendorVars": { |
| 73 | "cpython3": { |
| 74 | "force_build_host": "true" |
Martin Stjernholm | 831731c | 2021-05-21 19:28:14 +0100 | [diff] [blame] | 75 | }, |
| 76 | "art_module": { |
| 77 | "source_build": "true" |
Dan Willemsen | 79299d1 | 2020-12-23 16:51:09 -0800 | [diff] [blame] | 78 | } |
| 79 | } |
Colin Cross | 0ffa5a0 | 2016-04-01 16:45:40 -0700 | [diff] [blame] | 80 | } |
| 81 | EOF |
Colin Cross | c5042c7 | 2017-06-20 17:22:32 -0700 | [diff] [blame] | 82 | SOONG_BINARIES=( |
| 83 | acp |
Dan Willemsen | 52503bb | 2017-11-17 10:11:03 -0800 | [diff] [blame] | 84 | aidl |
Dan Willemsen | 10aabfe | 2018-01-08 17:12:38 -0800 | [diff] [blame] | 85 | bison |
ThiƩbaud Weksteen | 3701365 | 2020-12-15 20:45:36 +0100 | [diff] [blame] | 86 | bloaty |
Colin Cross | c5042c7 | 2017-06-20 17:22:32 -0700 | [diff] [blame] | 87 | bpfmt |
Yu Liu | 358af44 | 2022-02-03 14:45:40 -0800 | [diff] [blame] | 88 | bssl_inject_hash |
Elliott Hughes | 8355f23 | 2019-02-19 12:57:48 -0800 | [diff] [blame] | 89 | bzip2 |
Colin Cross | c5042c7 | 2017-06-20 17:22:32 -0700 | [diff] [blame] | 90 | ckati |
| 91 | ckati_stamp_dump |
Dan Willemsen | 77ad4b9 | 2018-05-22 16:38:31 -0700 | [diff] [blame] | 92 | flex |
Dan Willemsen | 6656b71 | 2019-12-09 15:00:19 -0800 | [diff] [blame] | 93 | gavinhoward-bc |
Sasha Smundak | 1d2ebbb | 2019-12-03 18:00:54 -0800 | [diff] [blame] | 94 | go_extractor |
Colin Cross | dbb6c20 | 2020-09-08 15:25:01 -0700 | [diff] [blame] | 95 | hidl-gen |
Neel Mehta | 487def6 | 2019-07-30 17:26:20 -0700 | [diff] [blame] | 96 | hidl-lint |
Dan Willemsen | 9867042 | 2019-04-22 11:11:58 -0700 | [diff] [blame] | 97 | m4 |
Dan Willemsen | c4e38f5 | 2018-10-04 17:41:49 -0700 | [diff] [blame] | 98 | make |
Jingwen Chen | a083036 | 2022-03-17 15:47:08 +0000 | [diff] [blame] | 99 | merge_zips |
Colin Cross | c5042c7 | 2017-06-20 17:22:32 -0700 | [diff] [blame] | 100 | ninja |
Elliott Hughes | 8355f23 | 2019-02-19 12:57:48 -0800 | [diff] [blame] | 101 | one-true-awk |
Dan Willemsen | 1d121b0 | 2020-12-16 14:54:34 -0800 | [diff] [blame] | 102 | openssl |
Dan Willemsen | 882ed39 | 2019-02-17 14:41:11 -0800 | [diff] [blame] | 103 | py2-cmd |
Dan Willemsen | f7bf4cd | 2019-12-09 08:54:43 -0800 | [diff] [blame] | 104 | py3-cmd |
Dan Willemsen | 9e607a2 | 2020-12-16 18:45:34 -0800 | [diff] [blame] | 105 | py3-launcher64 |
| 106 | py3-launcher-autorun64 |
Sasha Smundak | eccfaaf | 2020-04-27 23:03:34 -0700 | [diff] [blame] | 107 | runextractor |
Colin Cross | c5042c7 | 2017-06-20 17:22:32 -0700 | [diff] [blame] | 108 | soong_zip |
Yu Liu | f83f22e | 2022-03-23 10:47:16 -0700 | [diff] [blame] | 109 | symbol_inject |
Dan Willemsen | 17dbeae | 2019-08-21 13:34:54 -0700 | [diff] [blame] | 110 | toybox |
Dan Willemsen | 9672d7a | 2018-03-09 01:00:47 -0800 | [diff] [blame] | 111 | xz |
Colin Cross | c5042c7 | 2017-06-20 17:22:32 -0700 | [diff] [blame] | 112 | zip2zip |
Dan Willemsen | 52503bb | 2017-11-17 10:11:03 -0800 | [diff] [blame] | 113 | zipalign |
Colin Cross | c5042c7 | 2017-06-20 17:22:32 -0700 | [diff] [blame] | 114 | ziptime |
Elliott Hughes | 754018d | 2019-10-29 13:56:37 -0700 | [diff] [blame] | 115 | ziptool |
Colin Cross | c5042c7 | 2017-06-20 17:22:32 -0700 | [diff] [blame] | 116 | ) |
Colin Cross | 5a73947 | 2022-03-08 13:14:09 -0800 | [diff] [blame] | 117 | SOONG_MUSL_BINARIES=( |
| 118 | py3-launcher-static64 |
| 119 | py3-launcher-autorun-static64 |
| 120 | ) |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 121 | SOONG_ASAN_BINARIES=( |
| 122 | acp |
Dan Willemsen | 52503bb | 2017-11-17 10:11:03 -0800 | [diff] [blame] | 123 | aidl |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 124 | ckati |
Dan Willemsen | 6656b71 | 2019-12-09 15:00:19 -0800 | [diff] [blame] | 125 | gavinhoward-bc |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 126 | ninja |
Dan Willemsen | 17dbeae | 2019-08-21 13:34:54 -0700 | [diff] [blame] | 127 | toybox |
Dan Willemsen | 52503bb | 2017-11-17 10:11:03 -0800 | [diff] [blame] | 128 | zipalign |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 129 | ziptime |
Elliott Hughes | 754018d | 2019-10-29 13:56:37 -0700 | [diff] [blame] | 130 | ziptool |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 131 | ) |
| 132 | SOONG_JAVA_LIBRARIES=( |
Sasha Smundak | 2244273 | 2019-11-18 18:27:12 -0800 | [diff] [blame] | 133 | desugar.jar |
| 134 | dx.jar |
| 135 | turbine.jar |
| 136 | javac_extractor.jar |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 137 | ) |
| 138 | SOONG_JAVA_WRAPPERS=( |
| 139 | dx |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 140 | ) |
Dan Willemsen | 7c8949f | 2018-10-29 11:00:43 -0700 | [diff] [blame] | 141 | if [[ $OS == "linux" ]]; then |
| 142 | SOONG_BINARIES+=( |
David Srbecky | 7439f81 | 2021-04-01 13:39:08 +0000 | [diff] [blame] | 143 | create_minidebuginfo |
Dan Willemsen | 5e68d97 | 2019-01-10 12:50:28 -0800 | [diff] [blame] | 144 | nsjail |
Dan Willemsen | 7c8949f | 2018-10-29 11:00:43 -0700 | [diff] [blame] | 145 | ) |
| 146 | fi |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 147 | |
Sasha Smundak | 2244273 | 2019-11-18 18:27:12 -0800 | [diff] [blame] | 148 | binaries="${SOONG_BINARIES[@]/#/${SOONG_HOST_OUT}/bin/}" |
| 149 | asan_binaries="${SOONG_ASAN_BINARIES[@]/#/${SOONG_HOST_OUT}/bin/}" |
| 150 | jars="${SOONG_JAVA_LIBRARIES[@]/#/${SOONG_HOST_OUT}/framework/}" |
| 151 | wrappers="${SOONG_JAVA_WRAPPERS[@]/#/${SOONG_HOST_OUT}/bin/}" |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 152 | |
Dan Willemsen | 9e607a2 | 2020-12-16 18:45:34 -0800 | [diff] [blame] | 153 | # TODO: When we have a better method of extracting zips from Soong, use that. |
| 154 | py3_stdlib_zip="${SOONG_OUT}/.intermediates/external/python/cpython3/Lib/py3-stdlib-zip/gen/py3-stdlib.zip" |
| 155 | |
Colin Cross | f614283 | 2022-02-07 19:50:36 -0800 | [diff] [blame] | 156 | musl_sysroot32="" |
| 157 | musl_sysroot64="" |
| 158 | if [[ ${use_musl} = "true" ]]; then |
Colin Cross | 5a73947 | 2022-03-08 13:14:09 -0800 | [diff] [blame] | 159 | binaries="${binaries} ${SOONG_MUSL_BINARIES[@]/#/${SOONG_HOST_OUT}/bin/}" |
Colin Cross | f614283 | 2022-02-07 19:50:36 -0800 | [diff] [blame] | 160 | musl_sysroot32="${SOONG_OUT}/.intermediates/external/musl/libc_musl_sysroot/linux_musl_x86/gen/libc_musl_sysroot.zip" |
| 161 | musl_sysroot64="${SOONG_OUT}/.intermediates/external/musl/libc_musl_sysroot/linux_musl_x86_64/gen/libc_musl_sysroot.zip" |
| 162 | fi |
| 163 | |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 164 | # Build everything |
Colin Cross | 7d013d5 | 2022-03-08 13:13:24 -0800 | [diff] [blame] | 165 | build/soong/soong_ui.bash --make-mode --soong-only --skip-config ${skip_soong_tests} \ |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 166 | ${binaries} \ |
| 167 | ${wrappers} \ |
| 168 | ${jars} \ |
Dan Willemsen | 9e607a2 | 2020-12-16 18:45:34 -0800 | [diff] [blame] | 169 | ${py3_stdlib_zip} \ |
Colin Cross | f614283 | 2022-02-07 19:50:36 -0800 | [diff] [blame] | 170 | ${musl_sysroot32} \ |
| 171 | ${musl_sysroot64} \ |
Colin Cross | acad53f | 2017-12-12 10:59:25 -0800 | [diff] [blame] | 172 | ${SOONG_HOST_OUT}/nativetest64/ninja_test/ninja_test \ |
Dan Willemsen | fe85be0 | 2018-02-15 13:59:35 -0800 | [diff] [blame] | 173 | ${SOONG_HOST_OUT}/nativetest64/ckati_test/find_test \ |
Colin Cross | acad53f | 2017-12-12 10:59:25 -0800 | [diff] [blame] | 174 | soong_docs |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 175 | |
| 176 | # Run ninja tests |
Dan Willemsen | 7674849 | 2016-04-21 12:40:04 -0700 | [diff] [blame] | 177 | ${SOONG_HOST_OUT}/nativetest64/ninja_test/ninja_test |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 178 | |
Dan Willemsen | fe85be0 | 2018-02-15 13:59:35 -0800 | [diff] [blame] | 179 | # Run ckati tests |
| 180 | ${SOONG_HOST_OUT}/nativetest64/ckati_test/find_test |
| 181 | |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 182 | # Copy arch-specific binaries |
Dan Willemsen | 6adbc36 | 2016-10-05 22:41:25 -0700 | [diff] [blame] | 183 | mkdir -p ${SOONG_OUT}/dist/bin |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 184 | cp ${binaries} ${SOONG_OUT}/dist/bin/ |
Dan Willemsen | 6adbc36 | 2016-10-05 22:41:25 -0700 | [diff] [blame] | 185 | cp -R ${SOONG_HOST_OUT}/lib* ${SOONG_OUT}/dist/ |
| 186 | |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 187 | # Copy jars and wrappers |
Dan Willemsen | 9e607a2 | 2020-12-16 18:45:34 -0800 | [diff] [blame] | 188 | mkdir -p ${SOONG_OUT}/dist-common/{bin,flex,framework,py3-stdlib} |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 189 | cp ${wrappers} ${SOONG_OUT}/dist-common/bin |
| 190 | cp ${jars} ${SOONG_OUT}/dist-common/framework |
| 191 | |
Dan Willemsen | 10aabfe | 2018-01-08 17:12:38 -0800 | [diff] [blame] | 192 | cp -r external/bison/data ${SOONG_OUT}/dist-common/bison |
Dan Willemsen | 97f1b90 | 2019-12-23 15:13:20 -0800 | [diff] [blame] | 193 | cp external/bison/NOTICE ${SOONG_OUT}/dist-common/bison/ |
| 194 | cp -r external/flex/src/FlexLexer.h ${SOONG_OUT}/dist-common/flex/ |
| 195 | cp external/flex/NOTICE ${SOONG_OUT}/dist-common/flex/ |
Dan Willemsen | 10aabfe | 2018-01-08 17:12:38 -0800 | [diff] [blame] | 196 | |
Dan Willemsen | 9e607a2 | 2020-12-16 18:45:34 -0800 | [diff] [blame] | 197 | unzip -q -d ${SOONG_OUT}/dist-common/py3-stdlib ${py3_stdlib_zip} |
| 198 | cp external/python/cpython3/LICENSE ${SOONG_OUT}/dist-common/py3-stdlib/ |
| 199 | |
Colin Cross | f614283 | 2022-02-07 19:50:36 -0800 | [diff] [blame] | 200 | if [[ ${use_musl} = "true" ]]; then |
| 201 | cp ${musl_sysroot64} ${SOONG_OUT}/musl-sysroot64.zip |
| 202 | cp ${musl_sysroot32} ${SOONG_OUT}/musl-sysroot32.zip |
| 203 | fi |
| 204 | |
Dan Willemsen | 6adbc36 | 2016-10-05 22:41:25 -0700 | [diff] [blame] | 205 | if [[ $OS == "linux" ]]; then |
| 206 | # Build ASAN versions |
| 207 | export ASAN_OPTIONS=detect_leaks=0 |
| 208 | cat > ${SOONG_OUT}/soong.variables << EOF |
| 209 | { |
| 210 | "Allow_missing_dependencies": true, |
| 211 | "HostArch":"x86_64", |
Colin Cross | c2c5b62 | 2022-02-08 12:57:39 -0800 | [diff] [blame] | 212 | ${secondary_arch} |
Martin Stjernholm | 831731c | 2021-05-21 19:28:14 +0100 | [diff] [blame] | 213 | "SanitizeHost": ["address"], |
| 214 | "VendorVars": { |
| 215 | "art_module": { |
| 216 | "source_build": "true" |
| 217 | } |
| 218 | } |
Dan Willemsen | 6adbc36 | 2016-10-05 22:41:25 -0700 | [diff] [blame] | 219 | } |
| 220 | EOF |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 221 | |
Dan Willemsen | 070ee5b | 2020-01-03 20:35:41 -0800 | [diff] [blame] | 222 | export ASAN_SYMBOLIZER_PATH=${PWD}/prebuilts/clang/host/linux-x86/llvm-binutils-stable/llvm-symbolizer |
| 223 | |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 224 | # Clean up non-ASAN installed versions |
Colin Cross | 85c2d92 | 2017-05-09 20:30:40 -0700 | [diff] [blame] | 225 | rm -rf ${SOONG_HOST_OUT} |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 226 | |
| 227 | # Build everything with ASAN |
Colin Cross | 7d013d5 | 2022-03-08 13:13:24 -0800 | [diff] [blame] | 228 | build/soong/soong_ui.bash --make-mode --soong-only --skip-config ${skip_soong_tests} \ |
Dan Willemsen | d447508 | 2017-10-04 15:40:35 -0700 | [diff] [blame] | 229 | ${asan_binaries} \ |
Dan Willemsen | fe85be0 | 2018-02-15 13:59:35 -0800 | [diff] [blame] | 230 | ${SOONG_HOST_OUT}/nativetest64/ninja_test/ninja_test \ |
| 231 | ${SOONG_HOST_OUT}/nativetest64/ckati_test/find_test |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 232 | |
| 233 | # Run ninja tests |
Dan Willemsen | 6adbc36 | 2016-10-05 22:41:25 -0700 | [diff] [blame] | 234 | ${SOONG_HOST_OUT}/nativetest64/ninja_test/ninja_test |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 235 | |
Dan Willemsen | fe85be0 | 2018-02-15 13:59:35 -0800 | [diff] [blame] | 236 | # Run ckati tests |
| 237 | ${SOONG_HOST_OUT}/nativetest64/ckati_test/find_test |
| 238 | |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 239 | # Copy arch-specific binaries |
Dan Willemsen | 6adbc36 | 2016-10-05 22:41:25 -0700 | [diff] [blame] | 240 | mkdir -p ${SOONG_OUT}/dist/asan/bin |
Dan Willemsen | d447508 | 2017-10-04 15:40:35 -0700 | [diff] [blame] | 241 | cp ${asan_binaries} ${SOONG_OUT}/dist/asan/bin/ |
Dan Willemsen | 6adbc36 | 2016-10-05 22:41:25 -0700 | [diff] [blame] | 242 | cp -R ${SOONG_HOST_OUT}/lib* ${SOONG_OUT}/dist/asan/ |
| 243 | fi |
| 244 | |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 245 | # Package arch-specific prebuilts |
Dan Willemsen | 6adbc36 | 2016-10-05 22:41:25 -0700 | [diff] [blame] | 246 | ( |
| 247 | cd ${SOONG_OUT}/dist |
| 248 | zip -qryX build-prebuilts.zip * |
| 249 | ) |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 250 | |
| 251 | # Package common prebuilts |
| 252 | ( |
| 253 | cd ${SOONG_OUT}/dist-common |
| 254 | zip -qryX build-common-prebuilts.zip * |
| 255 | ) |
Colin Cross | 0ffa5a0 | 2016-04-01 16:45:40 -0700 | [diff] [blame] | 256 | fi |
| 257 | |
| 258 | # Go |
Colin Cross | 7d013d5 | 2022-03-08 13:13:24 -0800 | [diff] [blame] | 259 | if [ -n "${build_go}" ]; then |
Colin Cross | 0ffa5a0 | 2016-04-01 16:45:40 -0700 | [diff] [blame] | 260 | GO_OUT=${OUT_DIR}/obj/go |
| 261 | rm -rf ${GO_OUT} |
| 262 | mkdir -p ${GO_OUT} |
| 263 | cp -a ${TOP}/toolchain/go/* ${GO_OUT}/ |
| 264 | ( |
| 265 | cd ${GO_OUT}/src |
| 266 | export GOROOT_BOOTSTRAP=${TOP}/prebuilts/go/${OS}-x86 |
Colin Cross | 42f43d9 | 2016-04-18 12:31:06 -0700 | [diff] [blame] | 267 | export GOROOT_FINAL=./prebuilts/go/${OS}-x86 |
Colin Cross | 0ffa5a0 | 2016-04-01 16:45:40 -0700 | [diff] [blame] | 268 | export GO_TEST_TIMEOUT_SCALE=100 |
| 269 | ./make.bash |
Dan Willemsen | 817bd2e | 2017-02-21 14:37:36 -0800 | [diff] [blame] | 270 | rm -rf ../pkg/bootstrap |
Dan Willemsen | 77ba553 | 2018-07-23 10:48:27 -0700 | [diff] [blame] | 271 | rm -rf ../pkg/obj |
Colin Cross | 0ffa5a0 | 2016-04-01 16:45:40 -0700 | [diff] [blame] | 272 | GOROOT=$(pwd)/.. ../bin/go install -race std |
| 273 | ) |
| 274 | ( |
| 275 | cd ${GO_OUT} |
Colin Cross | be30dd0 | 2021-05-14 10:13:34 -0700 | [diff] [blame] | 276 | zip -qryX go.zip * --exclude update_prebuilts.sh |
Colin Cross | 0ffa5a0 | 2016-04-01 16:45:40 -0700 | [diff] [blame] | 277 | ) |
| 278 | fi |
| 279 | |
| 280 | if [ -n "${DIST_DIR}" ]; then |
| 281 | mkdir -p ${DIST_DIR} || true |
| 282 | |
Colin Cross | 7d013d5 | 2022-03-08 13:13:24 -0800 | [diff] [blame] | 283 | if [ -n "${build_soong}" ]; then |
Dan Willemsen | 6adbc36 | 2016-10-05 22:41:25 -0700 | [diff] [blame] | 284 | cp ${SOONG_OUT}/dist/build-prebuilts.zip ${DIST_DIR}/ |
Colin Cross | 14cd25f | 2017-09-22 14:27:44 -0700 | [diff] [blame] | 285 | cp ${SOONG_OUT}/dist-common/build-common-prebuilts.zip ${DIST_DIR}/ |
Jaewoong Jung | 8f0c912 | 2019-02-20 15:10:39 -0800 | [diff] [blame] | 286 | cp ${SOONG_OUT}/docs/*.html ${DIST_DIR}/ |
Colin Cross | f614283 | 2022-02-07 19:50:36 -0800 | [diff] [blame] | 287 | if [ ${use_musl} = "true" ]; then |
| 288 | cp ${SOONG_OUT}/musl-sysroot64.zip ${DIST_DIR}/ |
| 289 | cp ${SOONG_OUT}/musl-sysroot32.zip ${DIST_DIR}/ |
| 290 | fi |
Colin Cross | 0ffa5a0 | 2016-04-01 16:45:40 -0700 | [diff] [blame] | 291 | fi |
Colin Cross | 7d013d5 | 2022-03-08 13:13:24 -0800 | [diff] [blame] | 292 | if [ -n "${build_go}" ]; then |
Colin Cross | 0ffa5a0 | 2016-04-01 16:45:40 -0700 | [diff] [blame] | 293 | cp ${GO_OUT}/go.zip ${DIST_DIR}/ |
| 294 | fi |
| 295 | fi |