diff options
| author | Petr Hosek <phosek@google.com> | 2017-09-21 15:36:05 -0700 |
|---|---|---|
| committer | James Tucker <jftucker@gmail.com> | 2017-09-24 13:55:55 -0700 |
| commit | 1fdbfa9930d87ed90c77eb2adc4a6f5cce92122d (patch) | |
| tree | 529c22fa2d07cf1924097588371b3f315f4dad2b /src/ci/docker | |
| parent | 0ef87cc109bcec982fd86edad5b1ee4cf929eed3 (diff) | |
| download | rust-1fdbfa9930d87ed90c77eb2adc4a6f5cce92122d.tar.gz rust-1fdbfa9930d87ed90c77eb2adc4a6f5cce92122d.zip | |
Use Zircon's Clang rather than building our own
This toolchain is already used to build Zircon itself and is the official Clang toolchain used by all Fuchsia developers.
Diffstat (limited to 'src/ci/docker')
| -rw-r--r-- | src/ci/docker/dist-fuchsia/Dockerfile | 9 | ||||
| -rwxr-xr-x | src/ci/docker/dist-fuchsia/build-toolchain.sh | 67 |
2 files changed, 19 insertions, 57 deletions
diff --git a/src/ci/docker/dist-fuchsia/Dockerfile b/src/ci/docker/dist-fuchsia/Dockerfile index f0bd74be369..6f35a53c8ad 100644 --- a/src/ci/docker/dist-fuchsia/Dockerfile +++ b/src/ci/docker/dist-fuchsia/Dockerfile @@ -3,7 +3,6 @@ FROM ubuntu:16.04 RUN apt-get update && apt-get install -y --no-install-recommends \ g++ \ make \ - ninja-build \ file \ curl \ ca-certificates \ @@ -11,16 +10,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ git \ sudo \ bzip2 \ - xz-utils \ - swig \ - libedit-dev \ - libncurses5-dev \ - patch \ unzip -RUN curl -L https://cmake.org/files/v3.9/cmake-3.9.2-Linux-x86_64.tar.gz | \ - tar xzf - -C /usr/local --strip-components=1 - WORKDIR /tmp COPY dist-fuchsia/shared.sh dist-fuchsia/build-toolchain.sh /tmp/ RUN /tmp/build-toolchain.sh diff --git a/src/ci/docker/dist-fuchsia/build-toolchain.sh b/src/ci/docker/dist-fuchsia/build-toolchain.sh index f6deda2a36b..105f712ce51 100755 --- a/src/ci/docker/dist-fuchsia/build-toolchain.sh +++ b/src/ci/docker/dist-fuchsia/build-toolchain.sh @@ -14,38 +14,22 @@ set -ex source shared.sh -# Download sources -SRCS=( - "https://fuchsia.googlesource.com/zircon zircon e9a26dbc70d631029f8ee9763103910b7e3a2fe1" - "https://llvm.googlesource.com/llvm llvm 65bdf0ae4a87e6992c24f06e2612909952468710" - "https://llvm.googlesource.com/clang llvm/tools/clang 914987de45cf83636537909ce09156aa7a37d6ec" - "https://llvm.googlesource.com/clang-tools-extra llvm/tools/clang/tools/extra 83de24124250a7cdc7a0fdc61b7e3c3d64b80225" - "https://llvm.googlesource.com/lld llvm/tools/lld f8ed4483c589b390daafac92e28f4680ad052643" - "https://llvm.googlesource.com/lldb llvm/tools/lldb 55cf8753321782668cb7e2d879457ee1ad57a2b9" - "https://llvm.googlesource.com/compiler-rt llvm/runtimes/compiler-rt a8682fdf74d3cb93769b7394f2cdffc5cefb8bd8" - "https://llvm.googlesource.com/libcxx llvm/runtimes/libcxx 5f919fe349450b3da0e29611ae37f6a940179290" - "https://llvm.googlesource.com/libcxxabi llvm/runtimes/libcxxabi caa78daf9285dada17e3e6b8aebcf7d128427f83" - "https://llvm.googlesource.com/libunwind llvm/runtimes/libunwind 469bacd2ea64679c15bb4d86adf000f2f2c27328" -) +ZIRCON=e9a26dbc70d631029f8ee9763103910b7e3a2fe1 -fetch() { - mkdir -p $2 - pushd $2 > /dev/null - git init - git remote add origin $1 - git fetch --depth=1 origin $3 - git reset --hard FETCH_HEAD - popd > /dev/null -} +mkdir -p zircon +pushd zircon > /dev/null -for i in "${SRCS[@]}"; do - fetch $i -done +# Download sources +git init +git remote add origin https://fuchsia.googlesource.com/zircon +git fetch --depth=1 origin $ZIRCON +git reset --hard FETCH_HEAD -# Build sysroot -./zircon/scripts/download-toolchain +# Download toolchain +./scripts/download-toolchain +cp -a prebuilt/downloads/clang+llvm-x86_64-linux/. /usr/local -build_sysroot() { +build() { local arch="$1" case "${arch}" in @@ -53,33 +37,20 @@ build_sysroot() { aarch64) tgt="zircon-qemu-arm64" ;; esac - hide_output make -C zircon -j$(getconf _NPROCESSORS_ONLN) $tgt + hide_output make -j$(getconf _NPROCESSORS_ONLN) $tgt dst=/usr/local/${arch}-unknown-fuchsia mkdir -p $dst - cp -r zircon/build-${tgt}/sysroot/include $dst/ - cp -r zircon/build-${tgt}/sysroot/lib $dst/ + cp -a build-${tgt}/sysroot/include $dst/ + cp -a build-${tgt}/sysroot/lib $dst/ } +# Build sysroot for arch in x86_64 aarch64; do - build_sysroot ${arch} + build ${arch} done -# Build toolchain -cd llvm -mkdir build -cd build -hide_output cmake -GNinja \ - -DFUCHSIA_x86_64_SYSROOT=/usr/local/x86_64-unknown-fuchsia \ - -DFUCHSIA_aarch64_SYSROOT=/usr/local/aarch64-unknown-fuchsia \ - -DLLVM_ENABLE_LTO=OFF \ - -DCLANG_BOOTSTRAP_PASSTHROUGH=LLVM_ENABLE_LTO \ - -C ../tools/clang/cmake/caches/Fuchsia.cmake \ - .. -hide_output ninja stage2-distribution -hide_output ninja stage2-install-distribution -cd ../.. - -rm -rf zircon llvm +popd > /dev/null +rm -rf zircon for arch in x86_64 aarch64; do for tool in clang clang++; do |
