From 71cf27c08d0919e4c6e79e059d6569377f7714be Mon Sep 17 00:00:00 2001
From: Ian Douglas Scott <ian@iandouglasscott.com>
Date: Wed, 15 Nov 2017 22:47:46 -0800
Subject: [PATCH] Build for Redox on Travis

---
 .cargo/config              |  2 ++
 .gitignore                 |  2 ++
 .travis.yml                | 13 +++++++++----
 .travis/redox-toolchain.sh |  7 +++++++
 4 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 .cargo/config
 create mode 100755 .travis/redox-toolchain.sh

diff --git a/.cargo/config b/.cargo/config
new file mode 100644
index 00000000..58e1381b
--- /dev/null
+++ b/.cargo/config
@@ -0,0 +1,2 @@
+[target.x86_64-unknown-redox]
+linker = "x86_64-unknown-redox-gcc"
diff --git a/.gitignore b/.gitignore
index 5de4fc4f..7fd382e0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,6 @@
 .*
+!.cargo
+!.travis
 cachegrind.*
 perf.*
 target
diff --git a/.travis.yml b/.travis.yml
index c7cedac0..6f95fd01 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,10 +1,15 @@
 language: rust
 rust:
   - nightly
-sudo: false
+sudo: true
 notifications:
   email: false
+env:
+  - REDOX=
+  - REDOX=1 CC=x86_64-unknown-redox-gcc CARGO_ARGS='--target=x86_64-unknown-redox'
+before_install:
+  - if [ $REDOX ]; then ./.travis/redox-toolchain.sh; fi
 script:
-  - cargo build
-  - cargo test
-  - bash examples/run_examples.sh
+  - cargo build $CARGO_ARGS 
+  - if [ ! $REDOX ]; then cargo test; fi
+  - if [ ! $REDOX ]; then bash examples/run_examples.sh; fi
diff --git a/.travis/redox-toolchain.sh b/.travis/redox-toolchain.sh
new file mode 100755
index 00000000..83bc8fc4
--- /dev/null
+++ b/.travis/redox-toolchain.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+rustup target add x86_64-unknown-redox
+sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AA12E97F0881517F
+sudo add-apt-repository 'deb https://static.redox-os.org/toolchain/apt /'
+sudo apt-get update -qq
+sudo apt-get install -y x86-64-unknown-redox-gcc
-- 
GitLab