From 6ee72dd5abf4eab49d6827ad19889c981c9a9eb0 Mon Sep 17 00:00:00 2001 From: Andrew Childs Date: Sun, 11 Apr 2021 10:27:16 +0900 Subject: [PATCH] bintools-wrapper: ensure roles are set before mangling variables --- .../bintools-wrapper/add-darwin-ldflags-before.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/build-support/bintools-wrapper/add-darwin-ldflags-before.sh b/pkgs/build-support/bintools-wrapper/add-darwin-ldflags-before.sh index bd3edda3f2e7..75d9484846a8 100644 --- a/pkgs/build-support/bintools-wrapper/add-darwin-ldflags-before.sh +++ b/pkgs/build-support/bintools-wrapper/add-darwin-ldflags-before.sh @@ -21,6 +21,15 @@ havePlatformVersionFlag= haveDarwinSDKVersion= haveDarwinPlatformVersion= +# Roles will set by add-flags.sh, but add-flags.sh can be skipped when the +# cc-wrapper has added the linker flags. Both the cc-wrapper and the binutils +# wrapper mangle the same variable (MACOSX_DEPLOYMENT_TARGET), so if roles are +# empty due to being run through the cc-wrapper then the mangle here is a no-op +# and we still do the right thing. +# +# To be robust, make sure we always have the correct set of roles. +accumulateRoles + mangleVarSingle @darwinMinVersionVariable@ ${role_suffixes[@]+"${role_suffixes[@]}"} n=0