Try to fix run.sh on AppVeyor

This commit is contained in:
Alex Crichton 2017-06-23 21:36:36 -07:00
parent 2147753559
commit 5e28b7e2b1
2 changed files with 22 additions and 18 deletions

View File

@ -1,4 +1,6 @@
environment: environment:
DEBUG_LTO_BUILD_DOESNT_WORK: 1
INTRINSICS_FAILS_WITH_MEM_FEATURE: 1
matrix: matrix:
- TARGET: i686-pc-windows-msvc - TARGET: i686-pc-windows-msvc
- TARGET: x86_64-pc-windows-msvc - TARGET: x86_64-pc-windows-msvc

View File

@ -1,5 +1,19 @@
set -ex set -ex
case $1 in
thumb*)
cargo=xargo
;;
*)
cargo=cargo
;;
esac
INTRINSICS_FEATURES="c"
if [ -z "$INTRINSICS_FAILS_WITH_MEM_FEATURE" ]; then
INTRINSICS_FEATURES="$INTRINSICS_FEATURES mem"
fi
# Test our implementation # Test our implementation
case $1 in case $1 in
thumb*) thumb*)
@ -41,14 +55,7 @@ case $1 in
esac esac
# Verify that we haven't drop any intrinsic/symbol # Verify that we haven't drop any intrinsic/symbol
case $1 in $cargo build --features "$INTRINSICS_FEATURES" --target $1 --example intrinsics
thumb*)
xargo build --features 'c mem' --target $1 --example intrinsics
;;
*)
cargo build --features 'c mem' --target $1 --example intrinsics
;;
esac
PREFIX=$(echo $1 | sed -e 's/unknown-//')- PREFIX=$(echo $1 | sed -e 's/unknown-//')-
case $1 in case $1 in
@ -100,16 +107,11 @@ rm -f $path
# Verify that there are no undefined symbols to `panic` within our implementations # Verify that there are no undefined symbols to `panic` within our implementations
# TODO(#79) fix the undefined references problem for debug-assertions+lto # TODO(#79) fix the undefined references problem for debug-assertions+lto
case $1 in if [ -z "$DEBUG_LTO_BUILD_DOESNT_WORK" ]; then
thumb*) RUSTFLAGS="-C debug-assertions=no" \
RUSTFLAGS="-C debug-assertions=no" xargo rustc --features 'c mem' --target $1 --example intrinsics -- -C lto -C link-arg=-nostartfiles $cargo rustc --features "$INTRINSICS_FEATURES" --target $1 --example intrinsics -- -C lto
xargo rustc --features 'c mem' --target $1 --example intrinsics --release -- -C lto fi
;; $cargo rustc --features "$INTRINSICS_FEATURES" --target $1 --example intrinsics --release -- -C lto
*)
RUSTFLAGS="-C debug-assertions=no" cargo rustc --features 'c mem' --target $1 --example intrinsics -- -C lto
cargo rustc --features 'c mem' --target $1 --example intrinsics --release -- -C lto
;;
esac
# Ensure no references to a panicking function # Ensure no references to a panicking function
for rlib in $(echo $path); do for rlib in $(echo $path); do