]> git.lizzy.rs Git - rust.git/commit
Re-do the FreeBSD cross-builds to use Clang and libc++. Fixes #44433.
authorJed Davis <jld@xlerb.net>
Sat, 16 Sep 2017 03:14:34 +0000 (21:14 -0600)
committerScott Abbey <scottabbey2@gmail.com>
Fri, 22 Dec 2017 08:34:09 +0000 (02:34 -0600)
commitf7a0dffc7870224f87263b4cda81d98b2436d8f0
treea81ef3733c3e33cbdcdf98432839bf720ef7d31f
parentb76f224af867b198e4051806cc6e1ac686085cdc
Re-do the FreeBSD cross-builds to use Clang and libc++.  Fixes #44433.

The main goal here is to use FreeBSD's normal libc++, instead of
statically linking the libstdc++ packaged with GCC, because that
libstdc++ has bugs that cause rustc to deadlock inside LLVM.

But the easiest way to use libc++ is to switch the build from GCC to
Clang, and the Clang package in the Ubuntu image already knows how to
cross-compile (given a sysroot and preferably cross-binutils), so the
toolchain script now uses that instead of building a custom compiler.

This also de-duplicates the `build-toolchain.sh` script.
src/ci/docker/dist-i686-freebsd/Dockerfile
src/ci/docker/dist-i686-freebsd/build-toolchain.sh [deleted file]
src/ci/docker/dist-x86_64-freebsd/Dockerfile
src/ci/docker/dist-x86_64-freebsd/build-toolchain.sh [deleted file]
src/ci/docker/scripts/freebsd-toolchain.sh [new file with mode: 0755]
src/librustc_llvm/build.rs