|
14 | 14 | set -ex |
15 | 15 | source shared.sh |
16 | 16 |
|
17 | | -# Download sources |
18 | | -SRCS=( |
19 | | - "https://fuchsia.googlesource.com/zircon zircon e9a26dbc70d631029f8ee9763103910b7e3a2fe1" |
20 | | - "https://llvm.googlesource.com/llvm llvm 65bdf0ae4a87e6992c24f06e2612909952468710" |
21 | | - "https://llvm.googlesource.com/clang llvm/tools/clang 914987de45cf83636537909ce09156aa7a37d6ec" |
22 | | - "https://llvm.googlesource.com/clang-tools-extra llvm/tools/clang/tools/extra 83de24124250a7cdc7a0fdc61b7e3c3d64b80225" |
23 | | - "https://llvm.googlesource.com/lld llvm/tools/lld f8ed4483c589b390daafac92e28f4680ad052643" |
24 | | - "https://llvm.googlesource.com/lldb llvm/tools/lldb 55cf8753321782668cb7e2d879457ee1ad57a2b9" |
25 | | - "https://llvm.googlesource.com/compiler-rt llvm/runtimes/compiler-rt a8682fdf74d3cb93769b7394f2cdffc5cefb8bd8" |
26 | | - "https://llvm.googlesource.com/libcxx llvm/runtimes/libcxx 5f919fe349450b3da0e29611ae37f6a940179290" |
27 | | - "https://llvm.googlesource.com/libcxxabi llvm/runtimes/libcxxabi caa78daf9285dada17e3e6b8aebcf7d128427f83" |
28 | | - "https://llvm.googlesource.com/libunwind llvm/runtimes/libunwind 469bacd2ea64679c15bb4d86adf000f2f2c27328" |
29 | | -) |
| 17 | +ZIRCON=e9a26dbc70d631029f8ee9763103910b7e3a2fe1 |
30 | 18 |
|
31 | | -fetch() { |
32 | | - mkdir -p $2 |
33 | | - pushd $2 > /dev/null |
34 | | - git init |
35 | | - git remote add origin $1 |
36 | | - git fetch --depth=1 origin $3 |
37 | | - git reset --hard FETCH_HEAD |
38 | | - popd > /dev/null |
39 | | -} |
| 19 | +mkdir -p zircon |
| 20 | +pushd zircon > /dev/null |
40 | 21 |
|
41 | | -for i in "${SRCS[@]}"; do |
42 | | - fetch $i |
43 | | -done |
| 22 | +# Download sources |
| 23 | +git init |
| 24 | +git remote add origin https://fuchsia.googlesource.com/zircon |
| 25 | +git fetch --depth=1 origin $ZIRCON |
| 26 | +git reset --hard FETCH_HEAD |
44 | 27 |
|
45 | | -# Build sysroot |
46 | | -./zircon/scripts/download-toolchain |
| 28 | +# Download toolchain |
| 29 | +./scripts/download-toolchain |
| 30 | +cp -a prebuilt/downloads/clang+llvm-x86_64-linux/. /usr/local |
47 | 31 |
|
48 | | -build_sysroot() { |
| 32 | +build() { |
49 | 33 | local arch="$1" |
50 | 34 |
|
51 | 35 | case "${arch}" in |
52 | 36 | x86_64) tgt="zircon-pc-x86-64" ;; |
53 | 37 | aarch64) tgt="zircon-qemu-arm64" ;; |
54 | 38 | esac |
55 | 39 |
|
56 | | - hide_output make -C zircon -j$(getconf _NPROCESSORS_ONLN) $tgt |
| 40 | + hide_output make -j$(getconf _NPROCESSORS_ONLN) $tgt |
57 | 41 | dst=/usr/local/${arch}-unknown-fuchsia |
58 | 42 | mkdir -p $dst |
59 | | - cp -r zircon/build-${tgt}/sysroot/include $dst/ |
60 | | - cp -r zircon/build-${tgt}/sysroot/lib $dst/ |
| 43 | + cp -a build-${tgt}/sysroot/include $dst/ |
| 44 | + cp -a build-${tgt}/sysroot/lib $dst/ |
61 | 45 | } |
62 | 46 |
|
| 47 | +# Build sysroot |
63 | 48 | for arch in x86_64 aarch64; do |
64 | | - build_sysroot ${arch} |
| 49 | + build ${arch} |
65 | 50 | done |
66 | 51 |
|
67 | | -# Build toolchain |
68 | | -cd llvm |
69 | | -mkdir build |
70 | | -cd build |
71 | | -hide_output cmake -GNinja \ |
72 | | - -DFUCHSIA_x86_64_SYSROOT=/usr/local/x86_64-unknown-fuchsia \ |
73 | | - -DFUCHSIA_aarch64_SYSROOT=/usr/local/aarch64-unknown-fuchsia \ |
74 | | - -DLLVM_ENABLE_LTO=OFF \ |
75 | | - -DCLANG_BOOTSTRAP_PASSTHROUGH=LLVM_ENABLE_LTO \ |
76 | | - -C ../tools/clang/cmake/caches/Fuchsia.cmake \ |
77 | | - .. |
78 | | -hide_output ninja stage2-distribution |
79 | | -hide_output ninja stage2-install-distribution |
80 | | -cd ../.. |
81 | | - |
82 | | -rm -rf zircon llvm |
| 52 | +popd > /dev/null |
| 53 | +rm -rf zircon |
83 | 54 |
|
84 | 55 | for arch in x86_64 aarch64; do |
85 | 56 | for tool in clang clang++; do |
|
0 commit comments