From 2c40960ba1bba39ca7b229a671cf7f8e9a8213a3 Mon Sep 17 00:00:00 2001 From: Tibor Vass Date: Tue, 13 Apr 2021 16:14:49 +0000 Subject: [PATCH] scripts: use WINDRES env var if set This allows setting WINDRES to mingw's windres. For the record, mingw's windres needs --use-temp-file for a weird reason: in that case, it keeps preprocessor arguments intact (including quotes), without it, mingw's windres calls popen, which happens to pass the entire command to sh -c, stripping quotes after evaluation and causing a syntax error in mingw's windres. To use mingw's windres, set WINDRES to: - `x86_64-w64-mingw32-windres` on 64 bit - `i686-w64-mingw32-windres` on 32 bit Signed-off-by: Tibor Vass --- scripts/build/binary | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/build/binary b/scripts/build/binary index c44c2a9cbe..7c9626a87e 100755 --- a/scripts/build/binary +++ b/scripts/build/binary @@ -63,11 +63,10 @@ if [ "$(go env GOOS)" = "windows" ]; then [ -n "$VERSION_QUAD" ] && set -- "$@" -D "DOCKER_VERSION_QUAD=$VERSION_QUAD" [ -n "$GITCOMMIT" ] && set -- "$@" -D "DOCKER_COMMIT=\"$GITCOMMIT\"" - windres=$($(go env CC) --print-prog-name=windres) - target="$(dirname "$0")/../../cli/winresources/rsrc_$(go env GOARCH).syso" mkdir -p "$(dirname "${target}")" - "$windres" -i "$(dirname "$0")/../winresources/docker.rc" -o "$target" "$@" + : ${WINDRES:="$($(go env CC) --print-prog-name=windres)"} + "$WINDRES" -i "$(dirname "$0")/../winresources/docker.rc" -o "$target" --use-temp-file "$@" echo "package winresources" > "$(dirname "${target}")/stub_windows.go" fi