Clean up CI configuration and add s390x
We can't test s390x because qemu segfaults but we can at least verify that it compiles. Closes #650
This commit is contained in:
parent
e8140b86ab
commit
7d74c0993c
95
.travis.yml
95
.travis.yml
|
@ -1,4 +1,5 @@
|
||||||
language: rust
|
language: rust
|
||||||
|
rust: stable
|
||||||
sudo: required
|
sudo: required
|
||||||
dist: trusty
|
dist: trusty
|
||||||
services:
|
services:
|
||||||
|
@ -22,109 +23,63 @@ env:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
# 1.0.0 compat
|
# 1.0.0 compat
|
||||||
- os: linux
|
- env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
|
||||||
env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
|
|
||||||
rust: 1.0.0
|
rust: 1.0.0
|
||||||
script: cargo build
|
script: cargo build
|
||||||
install:
|
install:
|
||||||
|
|
||||||
# build documentation
|
# build documentation
|
||||||
- os: linux
|
- env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
|
||||||
env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
|
|
||||||
rust: nightly
|
rust: nightly
|
||||||
script: sh ci/dox.sh
|
script: sh ci/dox.sh
|
||||||
|
|
||||||
# stable compat
|
# stable compat
|
||||||
- os: linux
|
- env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
|
||||||
env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
|
- env: TARGET=i686-unknown-linux-gnu
|
||||||
rust: stable
|
|
||||||
- os: linux
|
|
||||||
env: TARGET=i686-unknown-linux-gnu
|
|
||||||
rust: stable
|
|
||||||
- os: osx
|
- os: osx
|
||||||
env: TARGET=x86_64-apple-darwin NO_ADD=1
|
env: TARGET=x86_64-apple-darwin NO_ADD=1
|
||||||
rust: stable
|
|
||||||
- os: osx
|
- os: osx
|
||||||
env: TARGET=i686-apple-darwin
|
env: TARGET=i686-apple-darwin
|
||||||
rust: stable
|
- env: TARGET=arm-linux-androideabi
|
||||||
- os: linux
|
- env: TARGET=aarch64-linux-android
|
||||||
env: TARGET=arm-linux-androideabi
|
- env: TARGET=i686-linux-android
|
||||||
rust: stable
|
- env: TARGET=x86_64-linux-android
|
||||||
- os: linux
|
- env: TARGET=x86_64-unknown-linux-musl
|
||||||
env: TARGET=aarch64-linux-android
|
- env: TARGET=i686-unknown-linux-musl
|
||||||
rust: stable
|
- env: TARGET=arm-unknown-linux-gnueabihf
|
||||||
- os: linux
|
- env: TARGET=aarch64-unknown-linux-gnu
|
||||||
env: TARGET=i686-linux-android
|
|
||||||
rust: stable
|
|
||||||
# as of 2017/05/03 x86_64-linux-android are not on stable
|
|
||||||
- os: linux
|
|
||||||
env: TARGET=x86_64-linux-android
|
|
||||||
rust: beta
|
|
||||||
- os: linux
|
|
||||||
env: TARGET=x86_64-unknown-linux-musl
|
|
||||||
rust: stable
|
|
||||||
- os: linux
|
|
||||||
env: TARGET=i686-unknown-linux-musl
|
|
||||||
rust: stable
|
|
||||||
- os: linux
|
|
||||||
env: TARGET=arm-unknown-linux-gnueabihf
|
|
||||||
rust: stable
|
|
||||||
- os: linux
|
|
||||||
env: TARGET=aarch64-unknown-linux-gnu
|
|
||||||
rust: stable
|
|
||||||
- os: osx
|
- os: osx
|
||||||
osx_image: xcode8.2
|
osx_image: xcode8.2
|
||||||
env: TARGET=i386-apple-ios
|
env: TARGET=i386-apple-ios
|
||||||
rust: stable
|
|
||||||
- os: osx
|
- os: osx
|
||||||
osx_image: xcode8.2
|
osx_image: xcode8.2
|
||||||
env: TARGET=x86_64-apple-ios
|
env: TARGET=x86_64-apple-ios
|
||||||
rust: stable
|
- env: TARGET=x86_64-rumprun-netbsd
|
||||||
- os: linux
|
- env: TARGET=powerpc-unknown-linux-gnu
|
||||||
env: TARGET=x86_64-rumprun-netbsd
|
- env: TARGET=powerpc64-unknown-linux-gnu
|
||||||
rust: stable
|
- env: TARGET=mips-unknown-linux-musl
|
||||||
- os: linux
|
- env: TARGET=mipsel-unknown-linux-musl
|
||||||
env: TARGET=powerpc-unknown-linux-gnu
|
- env: TARGET=mips64-unknown-linux-gnuabi64
|
||||||
rust: stable
|
- env: TARGET=mips-unknown-linux-gnu
|
||||||
- os: linux
|
- env: TARGET=s390x-unknown-linux-gnu
|
||||||
env: TARGET=powerpc64-unknown-linux-gnu
|
|
||||||
rust: beta
|
|
||||||
- os: linux
|
|
||||||
env: TARGET=mips-unknown-linux-musl
|
|
||||||
rust: stable
|
|
||||||
- os: linux
|
|
||||||
env: TARGET=mipsel-unknown-linux-musl
|
|
||||||
rust: stable
|
|
||||||
- os: linux
|
|
||||||
env: TARGET=mips64-unknown-linux-gnuabi64
|
|
||||||
rust: beta
|
|
||||||
- os: linux
|
|
||||||
env: TARGET=mips-unknown-linux-gnu
|
|
||||||
rust: beta
|
|
||||||
|
|
||||||
# beta
|
# beta
|
||||||
- os: linux
|
- env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
|
||||||
env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
|
|
||||||
rust: beta
|
rust: beta
|
||||||
- os: osx
|
- os: osx
|
||||||
env: TARGET=x86_64-apple-darwin NO_ADD=1
|
env: TARGET=x86_64-apple-darwin NO_ADD=1
|
||||||
rust: beta
|
rust: beta
|
||||||
|
|
||||||
# nightly
|
# nightly
|
||||||
- os: linux
|
- env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
|
||||||
env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
|
|
||||||
rust: nightly
|
rust: nightly
|
||||||
- os: osx
|
- os: osx
|
||||||
env: TARGET=x86_64-apple-darwin NO_ADD=1
|
env: TARGET=x86_64-apple-darwin NO_ADD=1
|
||||||
rust: nightly
|
rust: nightly
|
||||||
|
|
||||||
# QEMU based targets that compile in an emulator
|
# QEMU based targets that compile in an emulator
|
||||||
- os: linux
|
- env: TARGET=x86_64-unknown-freebsd
|
||||||
env: TARGET=x86_64-unknown-freebsd
|
- env: TARGET=x86_64-unknown-openbsd QEMU=openbsd.qcow2
|
||||||
rust: stable
|
|
||||||
- os: linux
|
|
||||||
env: TARGET=x86_64-unknown-openbsd QEMU=openbsd.qcow2
|
|
||||||
rust: stable
|
|
||||||
script: sh ci/run-docker.sh $TARGET
|
script: sh ci/run-docker.sh $TARGET
|
||||||
install:
|
install:
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ name = "libc-test"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ctest 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ctest 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.25",
|
"libc 0.2.26",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -43,12 +43,12 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libc"
|
name = "libc"
|
||||||
version = "0.2.24"
|
version = "0.2.25"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libc"
|
name = "libc"
|
||||||
version = "0.2.25"
|
version = "0.2.26"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "log"
|
name = "log"
|
||||||
|
@ -66,7 +66,7 @@ version = "0.27.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"term 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"term 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -102,7 +102,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
"checksum ctest 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6ca66d610c7d9d6b7c51834ceeffe83b40b71be9f6793e350cff093428f73591"
|
"checksum ctest 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6ca66d610c7d9d6b7c51834ceeffe83b40b71be9f6793e350cff093428f73591"
|
||||||
"checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" = "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a"
|
"checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" = "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a"
|
||||||
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
|
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
|
||||||
"checksum libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)" = "38f5c2b18a287cf78b4097db62e20f43cace381dc76ae5c0a3073067f78b7ddc"
|
"checksum libc 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)" = "b807d3f9f61fec68ffa8b10389fffb9235aa0ffa32935be864b2329de5846b74"
|
||||||
"checksum log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512565b"
|
"checksum log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512565b"
|
||||||
"checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
|
"checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
|
||||||
"checksum syntex_syntax 0.27.0 (registry+https://github.com/rust-lang/crates.io-index)" = "82b078749c05271b2aebae7230331c903c38128d5a3dec72625d9e3a411a5b69"
|
"checksum syntex_syntax 0.27.0 (registry+https://github.com/rust-lang/crates.io-index)" = "82b078749c05271b2aebae7230331c903c38128d5a3dec72625d9e3a411a5b69"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
[package]
|
[package]
|
||||||
|
|
||||||
name = "libc"
|
name = "libc"
|
||||||
version = "0.2.25"
|
version = "0.2.26"
|
||||||
authors = ["The Rust Project Developers"]
|
authors = ["The Rust Project Developers"]
|
||||||
license = "MIT/Apache-2.0"
|
license = "MIT/Apache-2.0"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
FROM ubuntu:17.04
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
gcc libc6-dev qemu-user ca-certificates \
|
||||||
|
gcc-s390x-linux-gnu libc6-dev-s390x-cross
|
||||||
|
|
||||||
|
ENV CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-linux-gnu-gcc \
|
||||||
|
CC_s390x_unknown_linux_gnu=s390x-linux-gnu-gcc \
|
||||||
|
PATH=$PATH:/rust/bin
|
|
@ -168,6 +168,11 @@ case "$TARGET" in
|
||||||
qemu-aarch64 -L /usr/aarch64-linux-gnu/ $CARGO_TARGET_DIR/$TARGET/debug/libc-test
|
qemu-aarch64 -L /usr/aarch64-linux-gnu/ $CARGO_TARGET_DIR/$TARGET/debug/libc-test
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
s390x-unknown-linux-gnu)
|
||||||
|
# TODO: in theory we should execute this, but qemu segfaults immediately :(
|
||||||
|
# qemu-s390x -L /usr/s390x-linux-gnu/ $CARGO_TARGET_DIR/$TARGET/debug/libc-test
|
||||||
|
;;
|
||||||
|
|
||||||
*-rumprun-netbsd)
|
*-rumprun-netbsd)
|
||||||
rumprun-bake hw_virtio /tmp/libc-test.img $CARGO_TARGET_DIR/$TARGET/debug/libc-test
|
rumprun-bake hw_virtio /tmp/libc-test.img $CARGO_TARGET_DIR/$TARGET/debug/libc-test
|
||||||
qemu-system-x86_64 -nographic -vga none -m 64 \
|
qemu-system-x86_64 -nographic -vga none -m 64 \
|
||||||
|
|
|
@ -16,6 +16,7 @@ pub type greg_t = u64;
|
||||||
pub type clock_t = i64;
|
pub type clock_t = i64;
|
||||||
pub type __fsword_t = ::c_long;
|
pub type __fsword_t = ::c_long;
|
||||||
pub type __priority_which_t = ::c_uint;
|
pub type __priority_which_t = ::c_uint;
|
||||||
|
pub type __u64 = u64;
|
||||||
|
|
||||||
s! {
|
s! {
|
||||||
pub struct aiocb {
|
pub struct aiocb {
|
||||||
|
@ -777,7 +778,6 @@ pub const CMSPAR: ::tcflag_t = 0o10000000000;
|
||||||
pub const VSWTC: usize = 7;
|
pub const VSWTC: usize = 7;
|
||||||
pub const OLCUC: ::tcflag_t = 0o000002;
|
pub const OLCUC: ::tcflag_t = 0o000002;
|
||||||
pub const NLDLY: ::tcflag_t = 0o000400;
|
pub const NLDLY: ::tcflag_t = 0o000400;
|
||||||
pub const NL1: ::tcflag_t = 0x00000100;
|
|
||||||
pub const CRDLY: ::tcflag_t = 0o003000;
|
pub const CRDLY: ::tcflag_t = 0o003000;
|
||||||
pub const CR1: ::tcflag_t = 0x00000200;
|
pub const CR1: ::tcflag_t = 0x00000200;
|
||||||
pub const CR2: ::tcflag_t = 0x00000400;
|
pub const CR2: ::tcflag_t = 0x00000400;
|
||||||
|
|
Loading…
Reference in New Issue