Skip to content

Commit d98bec4

Browse files
committed
Fix broken build
There was a bug in #180 whereby quoting was messed up - this PR correctly uses arrays to fix this Fix #182 Signed-off-by: Andrew Thornton <[email protected]>
1 parent 9e9b2e7 commit d98bec4

File tree

1 file changed

+31
-26
lines changed

1 file changed

+31
-26
lines changed

docker/base/build.sh

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -177,22 +177,24 @@ if [ "$OUT" != "" ]; then
177177
NAME=$OUT
178178
fi
179179

180-
if [ "$FLAG_V" == "true" ]; then V=-v; fi
180+
if [ "$FLAG_V" == "true" ]; then V=-v; LD+='-v'; fi
181181
if [ "$FLAG_X" == "true" ]; then X=-x; fi
182182
if [ "$FLAG_RACE" == "true" ]; then R=-race; fi
183183
if [ "$FLAG_TAGS" != "" ]; then T=(--tags "$FLAG_TAGS"); fi
184-
if [ "$FLAG_LDFLAGS" != "" ]; then LD="$FLAG_LDFLAGS"; fi
185-
if [ "$FLAG_GCFLAGS" != "" ]; then GC="$FLAG_GCFLAGS"; fi
184+
if [ "$FLAG_LDFLAGS" != "" ]; then LD=("${LD[@]}" "${FLAG_LDFLAGS[@]}"); fi
185+
if [ "$FLAG_GCFLAGS" != "" ]; then GC=(--gcflags="$FLAG_GCFLAGS"); fi
186186

187-
if [ "$FLAG_BUILDMODE" != "" ] && [ "$FLAG_BUILDMODE" != "default" ]; then BM="--buildmode=$FLAG_BUILDMODE"; fi
187+
if [ "$FLAG_BUILDMODE" != "" ] && [ "$FLAG_BUILDMODE" != "default" ]; then BM=(--buildmode="${FLAG_BUILDMODE[@]}"); fi
188188
if [ "$FLAG_TRIMPATH" == "true" ]; then TP=-trimpath; fi
189-
if [ "$FLAG_MOD" != "" ]; then MOD="--mod=$FLAG_MOD"; fi
189+
if [ "$FLAG_MOD" != "" ]; then MOD=(--mod="$FLAG_MOD"); fi
190190

191191
# If no build targets were specified, inject a catch all wildcard
192192
if [ "$TARGETS" == "" ]; then
193193
TARGETS="./."
194194
fi
195195

196+
if [ "${#LD[@]}" -gt 0 ]; then LDF=(--ldflags="${LD[@]}"); fi
197+
196198
# Build for each requested platform individually
197199
for TARGET in $TARGETS; do
198200
# Split the target into platform and architecture
@@ -206,15 +208,15 @@ for TARGET in $TARGETS; do
206208
if [[ "$USEMODULES" == false ]]; then
207209
GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go get $V $X "${T[@]}" -d "$PACK_RELPATH"
208210
fi
209-
GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" $R "$BM" -o "/build/$NAME-linux-amd64$R$(extension linux)" "$PACK_RELPATH"
211+
GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" $R "${BM[@]}" -o "/build/$NAME-linux-amd64$R$(extension linux)" "$PACK_RELPATH"
210212
fi
211213
if { [ "$XGOOS" == "." ] || [ "$XGOOS" == "linux" ]; } && { [ "$XGOARCH" == "." ] || [ "$XGOARCH" == "386" ]; }; then
212214
echo "Compiling for linux/386..."
213215
CC="gcc -m32" CXX="g++ -m32" HOST=i686-linux PREFIX=/usr/local $BUILD_DEPS /deps "${DEPS_ARGS[@]}"
214216
if [[ "$USEMODULES" == false ]]; then
215217
GOOS=linux GOARCH=386 CGO_ENABLED=1 go get $V $X "${T[@]}" -d "$PACK_RELPATH"
216218
fi
217-
GOOS=linux GOARCH=386 CGO_ENABLED=1 go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" "$BM" -o "/build/$NAME-linux-386$(extension linux)" "$PACK_RELPATH"
219+
GOOS=linux GOARCH=386 CGO_ENABLED=1 go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" "${BM[@]}" -o "/build/$NAME-linux-386$(extension linux)" "$PACK_RELPATH"
218220
fi
219221
if { [ "$XGOOS" == "." ] || [ "$XGOOS" == "linux" ]; } && { [ "$XGOARCH" == "." ] || [ "$XGOARCH" == "arm" ] || [ "$XGOARCH" == "arm-5" ]; }; then
220222
if [ "$GO_VERSION_MAJOR" -gt 1 ] || { [ "$GO_VERSION_MAJOR" == 1 ] && [ "$GO_VERSION_MINOR" -ge 15 ]; }; then
@@ -228,7 +230,7 @@ for TARGET in $TARGETS; do
228230
if [[ "$USEMODULES" == false ]]; then
229231
CC=arm-linux-gnueabi-gcc-6 CXX=arm-linux-gnueabi-g++-6 GOOS=linux GOARCH=arm GOARM=5 CGO_ENABLED=1 CGO_CFLAGS="-march=armv5" CGO_CXXFLAGS="-march=armv5" go get $V $X "${T[@]}" -d "$PACK_RELPATH"
230232
fi
231-
CC=arm-linux-gnueabi-gcc-6 CXX=arm-linux-gnueabi-g++-6 GOOS=linux GOARCH=arm GOARM=5 CGO_ENABLED=1 CGO_CFLAGS="-march=armv5" CGO_CXXFLAGS="-march=armv5" go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" "$BM" -o "/build/$NAME-linux-arm-5$(extension linux)" "$PACK_RELPATH"
233+
CC=arm-linux-gnueabi-gcc-6 CXX=arm-linux-gnueabi-g++-6 GOOS=linux GOARCH=arm GOARM=5 CGO_ENABLED=1 CGO_CFLAGS="-march=armv5" CGO_CXXFLAGS="-march=armv5" go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" "${BM[@]}" -o "/build/$NAME-linux-arm-5$(extension linux)" "$PACK_RELPATH"
232234
if [ "$GO_VERSION_MAJOR" -gt 1 ] || { [ "$GO_VERSION_MAJOR" == 1 ] && [ "$GO_VERSION_MINOR" -ge 15 ]; }; then
233235
echo "Cleaning up Go runtime for linux/arm-5..."
234236
rm -rf /usr/local/go/pkg/linux_arm
@@ -248,7 +250,7 @@ for TARGET in $TARGETS; do
248250
if [[ "$USEMODULES" == false ]]; then
249251
CC=arm-linux-gnueabi-gcc-6 CXX=arm-linux-gnueabi-g++-6 GOOS=linux GOARCH=arm GOARM=6 CGO_ENABLED=1 CGO_CFLAGS="-march=armv6" CGO_CXXFLAGS="-march=armv6" go get $V $X "${T[@]}" -d "$PACK_RELPATH"
250252
fi
251-
CC=arm-linux-gnueabi-gcc-6 CXX=arm-linux-gnueabi-g++-6 GOOS=linux GOARCH=arm GOARM=6 CGO_ENABLED=1 CGO_CFLAGS="-march=armv6" CGO_CXXFLAGS="-march=armv6" go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" "$BM" -o "/build/$NAME-linux-arm-6$(extension linux)" "$PACK_RELPATH"
253+
CC=arm-linux-gnueabi-gcc-6 CXX=arm-linux-gnueabi-g++-6 GOOS=linux GOARCH=arm GOARM=6 CGO_ENABLED=1 CGO_CFLAGS="-march=armv6" CGO_CXXFLAGS="-march=armv6" go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" "${BM[@]}" -o "/build/$NAME-linux-arm-6$(extension linux)" "$PACK_RELPATH"
252254

253255
echo "Cleaning up Go runtime for linux/arm-6..."
254256
rm -rf /usr/local/go/pkg/linux_arm
@@ -268,7 +270,7 @@ for TARGET in $TARGETS; do
268270
if [[ "$USEMODULES" == false ]]; then
269271
CC=arm-linux-gnueabihf-gcc-6 CXX=arm-linux-gnueabihf-g++-6 GOOS=linux GOARCH=arm GOARM=7 CGO_ENABLED=1 CGO_CFLAGS="-march=armv7-a -fPIC" CGO_CXXFLAGS="-march=armv7-a -fPIC" go get $V $X "${T[@]}" -d "$PACK_RELPATH"
270272
fi
271-
CC=arm-linux-gnueabihf-gcc-6 CXX=arm-linux-gnueabihf-g++-6 GOOS=linux GOARCH=arm GOARM=7 CGO_ENABLED=1 CGO_CFLAGS="-march=armv7-a -fPIC" CGO_CXXFLAGS="-march=armv7-a -fPIC" go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" "$BM" -o "/build/$NAME-linux-arm-7$(extension linux)" "$PACK_RELPATH"
273+
CC=arm-linux-gnueabihf-gcc-6 CXX=arm-linux-gnueabihf-g++-6 GOOS=linux GOARCH=arm GOARM=7 CGO_ENABLED=1 CGO_CFLAGS="-march=armv7-a -fPIC" CGO_CXXFLAGS="-march=armv7-a -fPIC" go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" "${BM[@]}" -o "/build/$NAME-linux-arm-7$(extension linux)" "$PACK_RELPATH"
272274

273275
echo "Cleaning up Go runtime for linux/arm-7..."
274276
rm -rf /usr/local/go/pkg/linux_arm
@@ -285,7 +287,7 @@ for TARGET in $TARGETS; do
285287
if [[ "$USEMODULES" == false ]]; then
286288
CC=aarch64-linux-gnu-gcc-6 CXX=aarch64-linux-gnu-g++-6 GOOS=linux GOARCH=arm64 CGO_ENABLED=1 go get $V $X "${T[@]}" -d "$PACK_RELPATH"
287289
fi
288-
CC=aarch64-linux-gnu-gcc-6 CXX=aarch64-linux-gnu-g++-6 GOOS=linux GOARCH=arm64 CGO_ENABLED=1 go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" "$BM" -o "/build/$NAME-linux-arm64$(extension linux)" "$PACK_RELPATH"
290+
CC=aarch64-linux-gnu-gcc-6 CXX=aarch64-linux-gnu-g++-6 GOOS=linux GOARCH=arm64 CGO_ENABLED=1 go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" "${BM[@]}" -o "/build/$NAME-linux-arm64$(extension linux)" "$PACK_RELPATH"
289291
fi
290292
fi
291293
if { [ "$XGOOS" == "." ] || [ "$XGOOS" == "linux" ]; } && { [ "$XGOARCH" == "." ] || [ "$XGOARCH" == "mips64" ]; }; then
@@ -299,7 +301,7 @@ for TARGET in $TARGETS; do
299301
if [[ "$USEMODULES" == false ]]; then
300302
CC=mips64-linux-gnuabi64-gcc-6 CXX=mips64-linux-gnuabi64-g++-6 GOOS=linux GOARCH=mips64 CGO_ENABLED=1 go get $V $X "${T[@]}" -d "$PACK_RELPATH"
301303
fi
302-
CC=mips64-linux-gnuabi64-gcc-6 CXX=mips64-linux-gnuabi64-g++-6 GOOS=linux GOARCH=mips64 CGO_ENABLED=1 go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" "$BM" -o "/build/$NAME-linux-mips64$(extension linux)" "$PACK_RELPATH"
304+
CC=mips64-linux-gnuabi64-gcc-6 CXX=mips64-linux-gnuabi64-g++-6 GOOS=linux GOARCH=mips64 CGO_ENABLED=1 go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" "${BM[@]}" -o "/build/$NAME-linux-mips64$(extension linux)" "$PACK_RELPATH"
303305
fi
304306
fi
305307
if { [ "$XGOOS" == "." ] || [ "$XGOOS" == "linux" ]; } && { [ "$XGOARCH" == "." ] || [ "$XGOARCH" == "mips64le" ]; }; then
@@ -313,7 +315,7 @@ for TARGET in $TARGETS; do
313315
if [[ "$USEMODULES" == false ]]; then
314316
CC=mips64el-linux-gnuabi64-gcc-6 CXX=mips64el-linux-gnuabi64-g++-6 GOOS=linux GOARCH=mips64le CGO_ENABLED=1 go get $V $X "${T[@]}" -d "$PACK_RELPATH"
315317
fi
316-
CC=mips64el-linux-gnuabi64-gcc-6 CXX=mips64el-linux-gnuabi64-g++-6 GOOS=linux GOARCH=mips64le CGO_ENABLED=1 go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" "$BM" -o "/build/$NAME-linux-mips64le$(extension linux)" "$PACK_RELPATH"
318+
CC=mips64el-linux-gnuabi64-gcc-6 CXX=mips64el-linux-gnuabi64-g++-6 GOOS=linux GOARCH=mips64le CGO_ENABLED=1 go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" "${BM[@]}" -o "/build/$NAME-linux-mips64le$(extension linux)" "$PACK_RELPATH"
317319
fi
318320
fi
319321
if { [ "$XGOOS" == "." ] || [ "$XGOOS" == "linux" ]; } && { [ "$XGOARCH" == "." ] || [ "$XGOARCH" == "mips" ]; }; then
@@ -327,7 +329,7 @@ for TARGET in $TARGETS; do
327329
if [[ "$USEMODULES" == false ]]; then
328330
CC=mips-linux-gnu-gcc-6 CXX=mips-linux-gnu-g++-6 GOOS=linux GOARCH=mips CGO_ENABLED=1 go get $V $X "${T[@]}" -d "$PACK_RELPATH"
329331
fi
330-
CC=mips-linux-gnu-gcc-6 CXX=mips-linux-gnu-g++-6 GOOS=linux GOARCH=mips CGO_ENABLED=1 go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" "$BM" -o "/build/$NAME-linux-mips$(extension linux)" "$PACK_RELPATH"
332+
CC=mips-linux-gnu-gcc-6 CXX=mips-linux-gnu-g++-6 GOOS=linux GOARCH=mips CGO_ENABLED=1 go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" "${BM[@]}" -o "/build/$NAME-linux-mips$(extension linux)" "$PACK_RELPATH"
331333
fi
332334
fi
333335
if { [ "$XGOOS" == "." ] || [ "$XGOOS" == "linux" ]; } && { [ "$XGOARCH" == "." ] || [ "$XGOARCH" == "s390x" ]; }; then
@@ -341,7 +343,7 @@ for TARGET in $TARGETS; do
341343
if [[ "$USEMODULES" == false ]]; then
342344
CC=s390x-linux-gnu-gcc-6 CXX=s390x-linux-gnu-g++-6 GOOS=linux GOARCH=s390x CGO_ENABLED=1 go get $V $X "${T[@]}" -d "$PACK_RELPATH"
343345
fi
344-
CC=s390x-linux-gnu-gcc-6 CXX=s390x-linux-gnu-g++-6 GOOS=linux GOARCH=s390x CGO_ENABLED=1 go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" "$BM" -o "/build/$NAME-linux-s390x$(extension linux)" "$PACK_RELPATH"
346+
CC=s390x-linux-gnu-gcc-6 CXX=s390x-linux-gnu-g++-6 GOOS=linux GOARCH=s390x CGO_ENABLED=1 go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" "${BM[@]}" -o "/build/$NAME-linux-s390x$(extension linux)" "$PACK_RELPATH"
345347
fi
346348
fi
347349
if { [ "$XGOOS" == "." ] || [ "$XGOOS" == "linux" ]; } && { [ "$XGOARCH" == "." ] || [ "$XGOARCH" == "riscv64" ]; }; then
@@ -355,7 +357,7 @@ for TARGET in $TARGETS; do
355357
if [[ "$USEMODULES" == false ]]; then
356358
CC=riscv64-linux-gnu-gcc-8 CXX=riscv64-linux-gnu-g++-8 GOOS=linux GOARCH=riscv64 CGO_ENABLED=1 go get $V $X "${T[@]}" -d "$PACK_RELPATH"
357359
fi
358-
CC=riscv64-linux-gnu-gcc-8 CXX=riscv64-linux-gnu-g++-8 GOOS=linux GOARCH=riscv64 CGO_ENABLED=1 go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" "$BM" -o "/build/$NAME-linux-riscv64$(extension linux)" "$PACK_RELPATH"
360+
CC=riscv64-linux-gnu-gcc-8 CXX=riscv64-linux-gnu-g++-8 GOOS=linux GOARCH=riscv64 CGO_ENABLED=1 go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" "${BM[@]}" -o "/build/$NAME-linux-riscv64$(extension linux)" "$PACK_RELPATH"
359361
fi
360362
fi
361363
if { [ "$XGOOS" == "." ] || [ "$XGOOS" == "linux" ]; } && { [ "$XGOARCH" == "." ] || [ "$XGOARCH" == "ppc64le" ]; }; then
@@ -369,7 +371,7 @@ for TARGET in $TARGETS; do
369371
if [[ "$USEMODULES" == false ]]; then
370372
CC=powerpc64le-linux-gnu-gcc-6 CXX=powerpc64le-linux-gnu-g++-6 GOOS=linux GOARCH=ppc64le CGO_ENABLED=1 go get $V $X "${T[@]}" -d "$PACK_RELPATH"
371373
fi
372-
CC=powerpc64le-linux-gnu-gcc-6 CXX=powerpc64le-linux-gnu-g++-6 GOOS=linux GOARCH=ppc64le CGO_ENABLED=1 go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" "$BM" -o "/build/$NAME-linux-ppc64le$(extension linux)" "$PACK_RELPATH"
374+
CC=powerpc64le-linux-gnu-gcc-6 CXX=powerpc64le-linux-gnu-g++-6 GOOS=linux GOARCH=ppc64le CGO_ENABLED=1 go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" "${BM[@]}" -o "/build/$NAME-linux-ppc64le$(extension linux)" "$PACK_RELPATH"
373375
fi
374376
fi
375377
if { [ "$XGOOS" == "." ] || [ "$XGOOS" == "linux" ]; } && { [ "$XGOARCH" == "." ] || [ "$XGOARCH" == "mipsle" ]; }; then
@@ -383,7 +385,7 @@ for TARGET in $TARGETS; do
383385
if [[ "$USEMODULES" == false ]]; then
384386
CC=mipsel-linux-gnu-gcc-6 CXX=mipsel-linux-gnu-g++-6 GOOS=linux GOARCH=mipsle CGO_ENABLED=1 go get $V $X "${T[@]}" -d "$PACK_RELPATH"
385387
fi
386-
CC=mipsel-linux-gnu-gcc-6 CXX=mipsel-linux-gnu-g++-6 GOOS=linux GOARCH=mipsle CGO_ENABLED=1 go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" "$BM" -o "/build/$NAME-linux-mipsle$(extension linux)" "$PACK_RELPATH"
388+
CC=mipsel-linux-gnu-gcc-6 CXX=mipsel-linux-gnu-g++-6 GOOS=linux GOARCH=mipsle CGO_ENABLED=1 go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" "${BM[@]}" -o "/build/$NAME-linux-mipsle$(extension linux)" "$PACK_RELPATH"
387389
fi
388390
fi
389391
# Check and build for Windows targets
@@ -409,7 +411,7 @@ for TARGET in $TARGETS; do
409411
if [[ "$USEMODULES" == false ]]; then
410412
CC=x86_64-w64-mingw32-gcc-posix CXX=x86_64-w64-mingw32-g++-posix GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CGO_CFLAGS="$CGO_NTDEF" CGO_CXXFLAGS="$CGO_NTDEF" go get $V $X "${T[@]}" -d "$PACK_RELPATH"
411413
fi
412-
CC=x86_64-w64-mingw32-gcc-posix CXX=x86_64-w64-mingw32-g++-posix GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CGO_CFLAGS="$CGO_NTDEF" CGO_CXXFLAGS="$CGO_NTDEF" go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" $R "$BM" -o "/build/$NAME-windows-$PLATFORM-amd64$R$(extension windows)" "$PACK_RELPATH"
414+
CC=x86_64-w64-mingw32-gcc-posix CXX=x86_64-w64-mingw32-g++-posix GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CGO_CFLAGS="$CGO_NTDEF" CGO_CXXFLAGS="$CGO_NTDEF" go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" $R "${BM[@]}" -o "/build/$NAME-windows-$PLATFORM-amd64$R$(extension windows)" "$PACK_RELPATH"
413415
fi
414416
if [ "$XGOARCH" == "." ] || [ "$XGOARCH" == "386" ]; then
415417
echo "Compiling for windows-$PLATFORM/386..."
@@ -419,7 +421,7 @@ for TARGET in $TARGETS; do
419421
if [[ "$USEMODULES" == false ]]; then
420422
CC=i686-w64-mingw32-gcc-posix CXX=i686-w64-mingw32-g++-posix GOOS=windows GOARCH=386 CGO_ENABLED=1 CGO_CFLAGS="$CGO_NTDEF" CGO_CXXFLAGS="$CGO_NTDEF" go get $V $X "${T[@]}" -d "$PACK_RELPATH"
421423
fi
422-
CC=i686-w64-mingw32-gcc-posix CXX=i686-w64-mingw32-g++-posix GOOS=windows GOARCH=386 CGO_ENABLED=1 CGO_CFLAGS="$CGO_NTDEF" CGO_CXXFLAGS="$CGO_NTDEF" go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$V $LD" --gcflags="$GC" "$BM" -o "/build/$NAME-windows-$PLATFORM-386$(extension windows)" "$PACK_RELPATH"
424+
CC=i686-w64-mingw32-gcc-posix CXX=i686-w64-mingw32-g++-posix GOOS=windows GOARCH=386 CGO_ENABLED=1 CGO_CFLAGS="$CGO_NTDEF" CGO_CXXFLAGS="$CGO_NTDEF" go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDF[@]}" "${GC[@]}" "${BM[@]}" -o "/build/$NAME-windows-$PLATFORM-386$(extension windows)" "$PACK_RELPATH"
423425
fi
424426
fi
425427
# Check and build for OSX targets
@@ -432,18 +434,21 @@ for TARGET in $TARGETS; do
432434
export MACOSX_DEPLOYMENT_TARGET=$PLATFORM
433435

434436
# Strip symbol table below Go 1.6 to prevent DWARF issues
435-
LDSTRIP=""
437+
LDS=("${LD[@]}")
436438
if [ "$GO_VERSION_MAJOR" -lt 1 ] || { [ "$GO_VERSION_MAJOR" == 1 ] && [ "$GO_VERSION_MINOR" -lt 16 ]; }; then
437-
LDSTRIP="-s"
439+
LDS=("-s" "${LDS[@]}")
440+
fi
441+
if [ ${#LDS[@]} -gt 0 ]; then
442+
LDFS=(--ldflags="${LDS[@]}")
438443
fi
439444
# Build the requested darwin binaries
440445
if [ "$XGOARCH" == "." ] || [ "$XGOARCH" == "amd64" ]; then
441446
echo "Compiling for darwin-$PLATFORM/amd64..."
442447
CC=o64-clang CXX=o64-clang++ HOST=x86_64-apple-darwin15 PREFIX=/usr/local $BUILD_DEPS /deps "${DEPS_ARGS[@]}"
443448
if [[ "$USEMODULES" == false ]]; then
444-
CC=o64-clang CXX=o64-clang++ GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 go get $V $X "${T[@]}" --ldflags="$LDSTRIP $V $LD" --gcflags="$GC" -d "$PACK_RELPATH"
449+
CC=o64-clang CXX=o64-clang++ GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 go get $V $X "${T[@]}" "${LDFS[@]}" "${GC[@]}" -d "$PACK_RELPATH"
445450
fi
446-
CC=o64-clang CXX=o64-clang++ GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$LDSTRIP $V $LD" --gcflags="$GC" $R "$BM" -o "/build/$NAME-darwin-$PLATFORM-amd64$R$(extension darwin)" "$PACK_RELPATH"
451+
CC=o64-clang CXX=o64-clang++ GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDFS[@]}" "${GC[@]}" $R "${BM[@]}" -o "/build/$NAME-darwin-$PLATFORM-amd64$R$(extension darwin)" "$PACK_RELPATH"
447452
fi
448453
if [ "$XGOARCH" == "." ] || [ "$XGOARCH" == "arm64" ]; then
449454
if [ "$GO_VERSION_MAJOR" -lt 1 ] || { [ "$GO_VERSION_MAJOR" == 1 ] && [ "$GO_VERSION_MINOR" -lt 16 ]; }; then
@@ -452,9 +457,9 @@ for TARGET in $TARGETS; do
452457
echo "Compiling for darwin-$PLATFORM/arm64..."
453458
CC=o64-clang CXX=o64-clang++ HOST=arm64-apple-darwin15 PREFIX=/usr/local $BUILD_DEPS /deps "${DEPS_ARGS[@]}"
454459
if [[ "$USEMODULES" == false ]]; then
455-
CC=o64-clang CXX=o64-clang++ GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 go get $V $X "${T[@]}" --ldflags="$LDSTRIP $V $LD" --gcflags="$GC" -d "$PACK_RELPATH"
460+
CC=o64-clang CXX=o64-clang++ GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 go get $V $X "${T[@]}" "${LDFS[@]}" "${GC[@]}" -d "$PACK_RELPATH"
456461
fi
457-
CC=o64-clang CXX=o64-clang++ GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 go build $V $X $TP "$MOD" "${T[@]}" --ldflags="$LDSTRIP $V $LD" --gcflags="$GC" $R "$BM" -o "/build/$NAME-darwin-$PLATFORM-arm64$R$(extension darwin)" "$PACK_RELPATH"
462+
CC=o64-clang CXX=o64-clang++ GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 go build $V $X $TP "${MOD[@]}" "${T[@]}" "${LDFS[@]}" "${GC[@]}" $R "${BM[@]}" -o "/build/$NAME-darwin-$PLATFORM-arm64$R$(extension darwin)" "$PACK_RELPATH"
458463
fi
459464
fi
460465
# Remove any automatically injected deployment target vars

0 commit comments

Comments
 (0)