22
33set -euo pipefail
44
5- CWD=" $( pwd) "
65cd " $( dirname $( readlink -f " $0 " ) ) "
6+ CWD=" $( pwd) /../.."
77
8- TARGET_LIST=$( rustup target list | grep " (installed)" | cut -d " " -f 1)
98EXTRA_ARGS=" "
10- IS_INTERACTIVE=0
119IMAGE_TAG=crossenv
1210
11+ IS_INTERACTIVE=0
12+ TARGET_LIST=" aarch64-unknown-linux-gnu armv7-unknown-linux-gnueabihf mips64-unknown-linux-gnuabi64"
13+ USE_HOST_RUSTC=0
14+ CARGO_TARGET_DIR=" /home/user/cwd/target-docker"
15+
1316set +u
14- if [ " $1 " == " --interactive" ]; then
15- EXTRA_ARGS=" $EXTRA_ARGS --entrypoint /bin/bash -v /:/mnt/host"
16- IS_INTERACTIVE=1
17- IMAGE_TAG=crossenv-interactive
18- shift
19- fi
17+ while true
18+ do
19+ if [ " $1 " == " --interactive" ]; then
20+ EXTRA_ARGS=" $EXTRA_ARGS --entrypoint /bin/bash -v /:/mnt/host"
21+ IS_INTERACTIVE=1
22+ IMAGE_TAG=" $IMAGE_TAG -interactive"
23+ shift
24+ elif [ " $1 " == " --use-host-rustc" ]; then
25+ TARGET_LIST=$( rustup target list | grep " (installed)" | cut -d " " -f 1)
26+ USE_HOST_RUSTC=1
27+ CARGO_TARGET_DIR=" /home/user/cwd/target"
28+ IMAGE_TAG=" $IMAGE_TAG -host-rustc"
29+ shift
30+ else
31+ break
32+ fi
33+ done
2034set -u
2135
2236docker build \
@@ -26,17 +40,19 @@ docker build \
2640 --build-arg UID=" $( id -u) " \
2741 --build-arg GID=" $( id -g) " \
2842 --build-arg IS_INTERACTIVE=" $IS_INTERACTIVE " \
43+ --build-arg CARGO_TARGET_DIR=" $CARGO_TARGET_DIR " \
44+ --build-arg USE_HOST_RUSTC=" $USE_HOST_RUSTC " \
2945 ./
3046
47+ if [ " $USE_HOST_RUSTC " == " 1" ]; then
48+ EXTRA_ARGS=" $EXTRA_ARGS -v $HOME /.rustup:/home/user/.rustup -v $HOME /.cargo/bin:/home/user/.cargo/bin -v $HOME /.cargo/git:/home/user/.cargo/git -v $HOME /.cargo/registry:/home/user/.cargo/registry"
49+ fi
50+
3151docker run \
3252 --rm \
3353 --tty \
3454 --interactive \
3555 $EXTRA_ARGS \
36- -v ~ /.rustup:/home/user/.rustup \
37- -v ~ /.cargo/bin:/home/user/.cargo/bin \
38- -v ~ /.cargo/git:/home/user/.cargo/git \
39- -v ~ /.cargo/registry:/home/user/.cargo/registry \
4056 -v " $CWD :/home/user/cwd" \
4157 -w /home/user/cwd \
4258 $IMAGE_TAG \
0 commit comments