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