|
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