--- /dev/null
+set -ex
+
+# Install a 32-bit compiler for linux
+sudo apt-get update
+sudo apt-get install gcc-multilib
+target=unknown-linux-gnu
+
+# Install both 64 and 32 bit libraries. Apparently travis barfs if you try to
+# just install the right ones? This should enable cross compilation in the
+# future anyway.
+curl -O http://static.rust-lang.org/dist/rust-nightly-x86_64-$target.tar.gz
+curl -O http://static.rust-lang.org/dist/rust-nightly-i686-$target.tar.gz
+tar xfz rust-nightly-x86_64-$target.tar.gz
+tar xfz rust-nightly-i686-$target.tar.gz
+cp -r rust-nightly-i686-$target/lib/rustlib/i686-$target \
+ rust-nightly-x86_64-$target/lib/rustlib
+(cd rust-nightly-x86_64-$target && \
+ find lib/rustlib/i686-$target/lib -type f >> \
+ lib/rustlib/manifest.in)
+sudo ./rust-nightly-x86_64-$target/install.sh
+
--- /dev/null
+language: rust
+
+install:
+ - ./.travis.install.deps.sh
+
+script:
+ - make CC="$CC" RUSTC="$RUSTC" -j4
+ - make CC="$CC" RUSTC="$RUSTC" test -j4
+
+env:
+ - ARCH=i686 CC='cc -m32' RUSTC='rustc --target=i686-unknown-linux-gnu'
+ - ARCH=x86_64 CC=cc RUSTC='rustc --target=x86_64-unknown-linux-gnu'
+
+os:
+ - linux
+ - osx
# === Dependencies
$(HAMMER): $(wildcard libs/hammer.rs/src/*.rs)
- cd libs/hammer.rs && make
+ $(MAKE) -C libs/hammer.rs
$(TOML): $(wildcard libs/rust-toml/src/toml/*.rs)
- cd libs/rust-toml && make
+ $(MAKE) -C libs/rust-toml
$(HAMCREST): $(shell find libs/hamcrest-rust/src/hamcrest -name '*.rs')
- cd libs/hamcrest-rust && make
+ $(MAKE) -C libs/hamcrest-rust
# === Cargo
-$(LIBCARGO): $(SRC) $(HAMMER)
+$(LIBCARGO): $(SRC) $(HAMMER) $(TOML)
mkdir -p target
$(RUSTC) $(RUSTC_FLAGS) $(DEPS) --out-dir target src/cargo/lib.rs
touch $(LIBCARGO)