f7247d1071
The targets are: - `arm-unknown-linux-musleabi` - `arm-unknown-linux-musleabihf` - `armv7-unknown-linux-musleabihf` These mirror the existing `gnueabi` targets. All of these targets produce fully static binaries, similar to the x86 MUSL targets. For now these targets can only be used with `--rustbuild` builds, as https://github.com/rust-lang/compiler-rt/pull/22 only made the necessary compiler-rt changes in the CMake configs, not the plain GNU Make configs. I've tested these targets GCC 5.3.0 compiled again musl-1.1.12 (downloaded from http://musl.codu.org/). An example `./configure` invocation is: ``` ./configure \ --enable-rustbuild --target=arm-unknown-linux-musleabi \ --musl-root="$MUSL_ROOT" ``` where `MUSL_ROOT` points to the `arm-linux-musleabi` prefix. Usually that path will be of the form `/foobar/arm-linux-musleabi/arm-linux-musleabi`. Usually the cross-compile toolchain will live under `/foobar/arm-linux-musleabi/bin`. That path should either by added to your `PATH` variable, or you should add a section to your `config.toml` as follows: ``` [target.arm-unknown-linux-musleabi] cc = "/foobar/arm-linux-musleabi/bin/arm-linux-musleabi-gcc" cxx = "/foobar/arm-linux-musleabi/bin/arm-linux-musleabi-g++" ``` As a prerequisite you'll also have to put a cross-compiled static `libunwind.a` library in `$MUSL_ROOT/lib`. This is similar to [how the x86_64 MUSL targets are built] (https://doc.rust-lang.org/book/advanced-linking.html). |
||
---|---|---|
.. | ||
aarch64-apple-ios.mk | ||
aarch64-linux-android.mk | ||
aarch64-unknown-linux-gnu.mk | ||
arm-linux-androideabi.mk | ||
arm-unknown-linux-gnueabi.mk | ||
arm-unknown-linux-gnueabihf.mk | ||
arm-unknown-linux-musleabi.mk | ||
arm-unknown-linux-musleabihf.mk | ||
armv7-apple-ios.mk | ||
armv7-linux-androideabi.mk | ||
armv7-unknown-linux-gnueabihf.mk | ||
armv7-unknown-linux-musleabihf.mk | ||
armv7s-apple-ios.mk | ||
asmjs-unknown-emscripten.mk | ||
i386-apple-ios.mk | ||
i586-pc-windows-msvc.mk | ||
i586-unknown-linux-gnu.mk | ||
i686-apple-darwin.mk | ||
i686-linux-android.mk | ||
i686-pc-windows-gnu.mk | ||
i686-pc-windows-msvc.mk | ||
i686-unknown-freebsd.mk | ||
i686-unknown-linux-gnu.mk | ||
i686-unknown-linux-musl.mk | ||
le32-unknown-nacl.mk | ||
mips-unknown-linux-gnu.mk | ||
mips-unknown-linux-musl.mk | ||
mipsel-unknown-linux-gnu.mk | ||
mipsel-unknown-linux-musl.mk | ||
powerpc64-unknown-linux-gnu.mk | ||
powerpc64le-unknown-linux-gnu.mk | ||
powerpc-unknown-linux-gnu.mk | ||
x86_64-apple-darwin.mk | ||
x86_64-apple-ios.mk | ||
x86_64-pc-windows-gnu.mk | ||
x86_64-pc-windows-msvc.mk | ||
x86_64-rumprun-netbsd.mk | ||
x86_64-sun-solaris.mk | ||
x86_64-unknown-bitrig.mk | ||
x86_64-unknown-dragonfly.mk | ||
x86_64-unknown-freebsd.mk | ||
x86_64-unknown-linux-gnu.mk | ||
x86_64-unknown-linux-musl.mk | ||
x86_64-unknown-netbsd.mk | ||
x86_64-unknown-openbsd.mk |