Skip to content

Commit b0cadd1

Browse files
committed
add support for arm-unknown-linux-gnueabihf
Closes #155 .
1 parent c32c3a6 commit b0cadd1

File tree

6 files changed

+72
-0
lines changed

6 files changed

+72
-0
lines changed

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ matrix:
99
# Linux
1010
- env: TARGET=aarch64-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1
1111
- env: TARGET=arm-unknown-linux-gnueabi CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1
12+
- env: TARGET=arm-unknown-linux-gnueabihf CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1
1213
- env: TARGET=arm-unknown-linux-musleabi STD=1 RUN=1
1314
- env: TARGET=armv7-unknown-linux-gnueabihf CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1
1415
- env: TARGET=armv7-unknown-linux-musleabihf STD=1 RUN=1
16+
- env: TARGET=i586-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1
1517
- env: TARGET=i686-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1
1618
- env: TARGET=i686-unknown-linux-musl STD=1 OPENSSL=0.5.5 RUN=1
1719
- env: TARGET=mips-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
55

66
## [Unreleased]
77

8+
- Add support for the `i586-unknown-linux-gnu` target.
9+
- Add support for the `arm-unknown-linux-gnueabihf` target.
10+
811
## [v0.1.13] - 2017-11-08
912

1013
### Added

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,11 +193,13 @@ worst, "hang" (never terminate).
193193
| `aarch64-unknown-linux-gnu` | 2.19 | 4.8.2 | 1.0.2m || 2.8.0 ||
194194
| `arm-linux-androideabi` [5] | N/A | 4.9 | 1.0.2m || N/A ||
195195
| `arm-unknown-linux-gnueabi` | 2.19 | 4.8.2 | 1.0.2m || 2.8.0 ||
196+
| `arm-unknown-linux-gnueabihf` | 2.19 | 4.8.2 | 1.0.2m || 2.8.0 ||
196197
| `arm-unknown-linux-musleabi` | 1.1.15 | 5.3.1 | N/A | | 2.8.0 ||
197198
| `armv7-linux-androideabi` [5] | N/A | 4.9 | 1.0.2m || N/A ||
198199
| `armv7-unknown-linux-gnueabihf` | 2.15 | 4.6.2 | 1.0.2m || 2.8.0 ||
199200
| `armv7-unknown-linux-musleabihf` | 1.1.15 | 5.3.1 | N/A | | 2.8.0 ||
200201
| `asmjs-unknown-emscripten` [4] | 1.1.15 | 1.37.13 | N/A || N/A ||
202+
| `i586-unknown-linux-gnu` | 2.15 | 4.6.2 | 1.0.2m || N/A ||
201203
| `i686-linux-android` [5] | N/A | 4.9 | 1.0.2m || N/A ||
202204
| `i686-pc-windows-gnu` | N/A | 6.2.0 | N/A || N/A ||
203205
| `i686-unknown-freebsd` [1] | 10.2 | 5.3.0 | 1.0.2m | | N/A | |
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
FROM ubuntu:14.04
2+
3+
RUN apt-get update && \
4+
apt-get install -y --no-install-recommends \
5+
ca-certificates \
6+
cmake \
7+
gcc \
8+
libc6-dev \
9+
make \
10+
pkg-config
11+
12+
COPY xargo.sh /
13+
RUN bash /xargo.sh
14+
15+
COPY openssl.sh qemu.sh /
16+
RUN apt-get install -y --no-install-recommends \
17+
g++-arm-linux-gnueabihf \
18+
libc6-dev-armhf-cross && \
19+
bash /openssl.sh linux-armv4 arm-linux-gnueabihf- && \
20+
bash /qemu.sh arm
21+
22+
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER=arm-linux-gnueabihf-gcc \
23+
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_RUNNER=qemu-arm \
24+
CC_arm_unknown_linux_gnueabi=arm-linux-gnueabihf-gcc \
25+
CXX_arm_unknown_linux_gnueabi=arm-linux-gnueabihf-g++ \
26+
OPENSSL_DIR=/openssl \
27+
OPENSSL_INCLUDE_DIR=/openssl/include \
28+
OPENSSL_LIB_DIR=/openssl/lib \
29+
QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf \
30+
RUST_TEST_THREADS=1
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
FROM ubuntu:12.04
2+
3+
RUN apt-get update && \
4+
apt-get install -y --no-install-recommends \
5+
ca-certificates \
6+
cmake \
7+
gcc \
8+
libc6-dev \
9+
make \
10+
pkg-config
11+
12+
COPY xargo.sh /
13+
RUN bash /xargo.sh
14+
15+
COPY cmake.sh /
16+
RUN apt-get purge --auto-remove -y cmake && \
17+
bash /cmake.sh 2.8.11
18+
19+
COPY openssl.sh /
20+
RUN apt-get install -y --no-install-recommends \
21+
g++-multilib && \
22+
bash /openssl.sh linux-elf "" -m32
23+
24+
ENV OPENSSL_DIR=/openssl \
25+
OPENSSL_INCLUDE_DIR=/openssl/include \
26+
OPENSSL_LIB_DIR=/openssl/lib

src/main.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,11 @@ pub enum Target {
9595
// Linux
9696
Aarch64UnknownLinuxGnu,
9797
ArmUnknownLinuxGnueabi,
98+
ArmUnknownLinuxGnueabihf,
9899
ArmUnknownLinuxMusleabi,
99100
Armv7UnknownLinuxGnueabihf,
100101
Armv7UnknownLinuxMusleabihf,
102+
I586UnknownLinuxGnu,
101103
I686UnknownLinuxGnu,
102104
I686UnknownLinuxMusl,
103105
Mips64UnknownLinuxGnuabi64,
@@ -196,9 +198,11 @@ impl Target {
196198
match *self {
197199
Target::Aarch64UnknownLinuxGnu |
198200
Target::ArmUnknownLinuxGnueabi |
201+
Target::ArmUnknownLinuxGnueabihf |
199202
Target::ArmUnknownLinuxMusleabi |
200203
Target::Armv7UnknownLinuxGnueabihf |
201204
Target::Armv7UnknownLinuxMusleabihf |
205+
Target::I586UnknownLinuxGnu |
202206
Target::I686UnknownLinuxGnu |
203207
Target::I686UnknownLinuxMusl |
204208
Target::Mips64UnknownLinuxGnuabi64 |
@@ -236,6 +240,7 @@ impl Target {
236240
!triple.starts_with("i586") &&
237241
!triple.starts_with("i686")
238242
}
243+
Target::I586UnknownLinuxGnu |
239244
Target::I686UnknownLinuxGnu |
240245
Target::I686UnknownLinuxMusl |
241246
Target::X86_64UnknownLinuxGnu |
@@ -257,11 +262,13 @@ impl Target {
257262
Aarch64UnknownLinuxGnu => "aarch64-unknown-linux-gnu",
258263
ArmLinuxAndroideabi => "arm-linux-androideabi",
259264
ArmUnknownLinuxGnueabi => "arm-unknown-linux-gnueabi",
265+
ArmUnknownLinuxGnueabihf => "arm-unknown-linux-gnueabihf",
260266
ArmUnknownLinuxMusleabi => "arm-unknown-linux-musleabi",
261267
Armv7LinuxAndroideabi => "armv7-linux-androideabi",
262268
Armv7UnknownLinuxGnueabihf => "armv7-unknown-linux-gnueabihf",
263269
Armv7UnknownLinuxMusleabihf => "armv7-unknown-linux-musleabihf",
264270
AsmjsUnknownEmscripten => "asmjs-unknown-emscripten",
271+
I586UnknownLinuxGnu => "i586-unknown-linux-gnu",
265272
I686AppleDarwin => "i686-apple-darwin",
266273
I686LinuxAndroid => "i686-linux-android",
267274
I686PcWindowsGnu => "i686-pc-windows-gnu",
@@ -309,11 +316,13 @@ impl Target {
309316
"aarch64-unknown-linux-gnu" => Aarch64UnknownLinuxGnu,
310317
"arm-linux-androideabi" => ArmLinuxAndroideabi,
311318
"arm-unknown-linux-gnueabi" => ArmUnknownLinuxGnueabi,
319+
"arm-unknown-linux-gnueabihf" => ArmUnknownLinuxGnueabihf,
312320
"arm-unknown-linux-musleabi" => ArmUnknownLinuxMusleabi,
313321
"armv7-linux-androideabi" => Armv7LinuxAndroideabi,
314322
"armv7-unknown-linux-gnueabihf" => Armv7UnknownLinuxGnueabihf,
315323
"armv7-unknown-linux-musleabihf" => Armv7UnknownLinuxMusleabihf,
316324
"asmjs-unknown-emscripten" => AsmjsUnknownEmscripten,
325+
"i586-unknown-linux-gnu" => I586UnknownLinuxGnu,
317326
"i686-apple-darwin" => I686AppleDarwin,
318327
"i686-linux-android" => I686LinuxAndroid,
319328
"i686-pc-windows-gnu" => I686PcWindowsGnu,

0 commit comments

Comments
 (0)