Skip to content

Commit e1779e8

Browse files
committed
Auto merge of #158 - gnzlbg:armhf, r=<try>
add support for arm-unknown-linux-gnueabihf
2 parents c32c3a6 + 24bd3de commit e1779e8

File tree

6 files changed

+64
-0
lines changed

6 files changed

+64
-0
lines changed

.travis.yml

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ 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

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ This project adheres to [Semantic Versioning](http://semver.org/).
55

66
## [Unreleased]
77

8+
- add support for arm-unknown-linux-gnueabihf
9+
810
## [v0.1.13] - 2017-11-08
911

1012
### Added

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ 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 ||
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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+
curl \
11+
gperf \
12+
pkg-config
13+
14+
COPY crosstool-ng.sh /
15+
RUN bash /crosstool-ng.sh
16+
ENV PATH=$PATH:/x-tools/arm-unknown-linux-gnueabi/bin
17+
18+
COPY xargo.sh /
19+
RUN bash /xargo.sh
20+
21+
COPY openssl.sh qemu.sh /
22+
RUN apt-get install -y --no-install-recommends \
23+
g++-arm-linux-gnueabihf \
24+
libc6-dev-armhf-cross && \
25+
bash /openssl.sh linux-armv4 arm-linux-gnueabihf- && \
26+
bash /qemu.sh arm
27+
28+
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER=arm-linux-gnueabihf-gcc \
29+
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_RUNNER=qemu-arm \
30+
CC_arm_unknown_linux_gnueabi=arm-linux-gnueabihf-gcc \
31+
CXX_arm_unknown_linux_gnueabi=arm-linux-gnueabihf-g++ \
32+
OPENSSL_DIR=/openssl \
33+
OPENSSL_INCLUDE_DIR=/openssl/include \
34+
OPENSSL_LIB_DIR=/openssl/lib \
35+
QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf \
36+
RUST_TEST_THREADS=1

docker/crosstool-ng.sh

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Copyright 2017 The Rust Project Developers. See the COPYRIGHT
2+
# file at the top-level directory of this distribution and at
3+
# http://rust-lang.org/COPYRIGHT.
4+
#
5+
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
# option. This file may not be copied, modified, or distributed
9+
# except according to those terms.
10+
11+
set -ex
12+
13+
url="http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.22.0.tar.bz2"
14+
curl -f $url | tar xjf -
15+
cd crosstool-ng
16+
./configure --prefix=/usr/local
17+
make -j$(nproc)
18+
make install
19+
cd ..
20+
rm -rf crosstool-ng

src/main.rs

+4
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ pub enum Target {
9595
// Linux
9696
Aarch64UnknownLinuxGnu,
9797
ArmUnknownLinuxGnueabi,
98+
ArmUnknownLinuxGnueabihf,
9899
ArmUnknownLinuxMusleabi,
99100
Armv7UnknownLinuxGnueabihf,
100101
Armv7UnknownLinuxMusleabihf,
@@ -196,6 +197,7 @@ impl Target {
196197
match *self {
197198
Target::Aarch64UnknownLinuxGnu |
198199
Target::ArmUnknownLinuxGnueabi |
200+
Target::ArmUnknownLinuxGnueabihf |
199201
Target::ArmUnknownLinuxMusleabi |
200202
Target::Armv7UnknownLinuxGnueabihf |
201203
Target::Armv7UnknownLinuxMusleabihf |
@@ -257,6 +259,7 @@ impl Target {
257259
Aarch64UnknownLinuxGnu => "aarch64-unknown-linux-gnu",
258260
ArmLinuxAndroideabi => "arm-linux-androideabi",
259261
ArmUnknownLinuxGnueabi => "arm-unknown-linux-gnueabi",
262+
ArmUnknownLinuxGnueabihf => "arm-unknown-linux-gnueabihf",
260263
ArmUnknownLinuxMusleabi => "arm-unknown-linux-musleabi",
261264
Armv7LinuxAndroideabi => "armv7-linux-androideabi",
262265
Armv7UnknownLinuxGnueabihf => "armv7-unknown-linux-gnueabihf",
@@ -309,6 +312,7 @@ impl Target {
309312
"aarch64-unknown-linux-gnu" => Aarch64UnknownLinuxGnu,
310313
"arm-linux-androideabi" => ArmLinuxAndroideabi,
311314
"arm-unknown-linux-gnueabi" => ArmUnknownLinuxGnueabi,
315+
"arm-unknown-linux-gnueabihf" => ArmUnknownLinuxGnueabihf,
312316
"arm-unknown-linux-musleabi" => ArmUnknownLinuxMusleabi,
313317
"armv7-linux-androideabi" => Armv7LinuxAndroideabi,
314318
"armv7-unknown-linux-gnueabihf" => Armv7UnknownLinuxGnueabihf,

0 commit comments

Comments
 (0)