1#!/bin/bash 2set -o errexit 3case "$1" in 4 linux64-system) 5 export TARGET=x86_64-unknown-linux-gnu 6 export DOCKER=linux64-gettext 7 export GETTEXT_SYSTEM=1 8 ;; 9 linux64) 10 export TARGET=x86_64-unknown-linux-gnu 11 export DOCKER=linux64 12 ;; 13 linux32-system) 14 export TARGET=i686-unknown-linux-gnu 15 export DOCKER=linux32-gettext 16 ;; 17 linux32) 18 export TARGET=i686-unknown-linux-gnu 19 export DOCKER=linux32 20 ;; 21 musl) 22 export TARGET=x86_64-unknown-linux-musl 23 export DOCKER=musl 24 ;; 25 build) 26 export TARGET=x86_64-unknown-linux-gnu 27 export DOCKER=linux64-build 28 export GETTEXT_DIR=/result 29 ;; 30 build2) 31 export TARGET=x86_64-unknown-linux-gnu 32 export DOCKER=linux64-build 33 export GETTEXT_LIB_DIR=/result/lib 34 export GETTEXT_BIN_DIR=/result/lib 35 export GETTEXT_INCLUDE_DIR=/result/include 36 ;; 37 macos-homebrew) 38 export GETTEXT_DIR=/usr/local/opt/gettext 39 export TARGET=x86_64-apple-darwin 40 ;; 41 macos-homebrew2) 42 export GETTEXT_LIB_DIR=/usr/local/opt/gettext/lib 43 export GETTEXT_BIN_DIR=/usr/local/opt/gettext/lib 44 export GETTEXT_INCLUDE_DIR=/usr/local/opt/gettext/include 45 export TARGET=x86_64-apple-darwin 46 ;; 47 macos) 48 export TARGET=x86_64-apple-darwin 49 ;; 50esac 51 52if [ -z "$DOCKER" ]; then 53 sh ci/run.sh; 54else 55 mkdir -p .cargo target; 56 docker build -t rust-gettext -f ci/Dockerfile-$DOCKER ci; 57 docker run \ 58 -w /src \ 59 -v `pwd`:/src \ 60 -v `pwd`/target:/src/target \ 61 -v $HOME/.rustup/toolchains/stable-x86_64-unknown-linux-gnu:/usr/local:ro \ 62 -v $HOME/.cargo/registry:/root/.cargo/registry \ 63 -e TARGET \ 64 -e NO_RUN \ 65 -e GETTEXT_SYSTEM \ 66 -e GETTEXT_DIR \ 67 -e GETTEXT_LIB_DIR \ 68 -e GETTEXT_BIN_DIR \ 69 -e GETTEXT_INCLUDE_DIR \ 70 -e CARGO_TARGET_DIR=/src/target \ 71 -it rust-gettext \ 72 sh ci/run.sh; 73fi 74