rust/mk
Timon Van Overveldt f7247d1071 Add ARM MUSL targets.
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).
2016-07-30 15:39:13 -05:00
..
cfg Add ARM MUSL targets. 2016-07-30 15:39:13 -05:00
clean.mk Added missing argument to 'find' 2015-10-27 23:47:53 +13:00
crates.mk Move errors from libsyntax to its own crate 2016-06-23 08:07:35 -04:00
ctags.mk Add TAGS.rustc.emacs/TAGS.rustc.vi make targets, (re-)including rustc source. 2016-04-28 15:01:47 +02:00
debuggers.mk Distribute both rust-lldb and rust-gdb everywhere except win-msvc 2016-05-06 03:09:48 +00:00
dist.mk specify the archive file as stdout 2016-05-05 06:48:35 +02:00
docs.mk mk: Move disable-jemalloc logic into makefiles 2016-02-25 21:05:59 -08:00
grammar.mk Revert "mk: fix some undefined variable warnings" 2016-02-01 23:27:04 -08:00
host.mk mk: Move disable-jemalloc logic into makefiles 2016-02-25 21:05:59 -08:00
install.mk mk: Move disable-jemalloc logic into makefiles 2016-02-25 21:05:59 -08:00
llvm.mk llvm: allow cleaning LLVM's Visual Studio builds 2016-07-07 21:10:18 -04:00
main.mk mk: If local-rust is the same as the current version, then force a local-rebuild 2016-07-15 19:37:15 +02:00
platform.mk mk: Fix building with --enable-ccache 2016-05-05 09:12:24 -07:00
prepare.mk mk: Move disable-jemalloc logic into makefiles 2016-02-25 21:05:59 -08:00
reconfig.mk mk: Bootstrap from stable instead of snapshots 2016-04-19 10:56:49 -07:00
rt.mk mk: Stop using cmake for compiler-rt 2016-07-20 13:22:20 -07:00
rustllvm.mk Implement feature extraction from TargetMachine 2016-04-09 00:39:04 +02:00
stage0.mk mk: If local-rust is the same as the current version, then force a local-rebuild 2016-07-15 19:37:15 +02:00
target.mk mk: Fix bootstrapping cross-hosts on beta 2016-05-23 22:21:21 -07:00
tests.mk add mir optimization tests, dump-mir-dir option 2016-07-20 19:41:39 -07:00
util.mk mk: Build crates with relative paths to rustc 2015-06-13 01:41:52 +02:00