diff --git a/utils/swift_build_support/swift_build_support/products/ninja.py b/utils/swift_build_support/swift_build_support/products/ninja.py index 871050f8c1caf..1041715dc92b1 100644 --- a/utils/swift_build_support/swift_build_support/products/ninja.py +++ b/utils/swift_build_support/swift_build_support/products/ninja.py @@ -44,15 +44,15 @@ def do_build(self): sysroot = xcrun.sdk_path("macosx") osx_version_min = self.args.darwin_deployment_version_osx assert sysroot is not None - env = [ - ("CXX", self.toolchain.cxx), - ("CFLAGS", ( + env = { + "CXX": self.toolchain.cxx, + "CFLAGS": ( "-isysroot {sysroot} -mmacosx-version-min={osx_version}" - ).format(sysroot=sysroot, osx_version=osx_version_min)), - ("LDFLAGS", ( + ).format(sysroot=sysroot, osx_version=osx_version_min), + "LDFLAGS": ( "-mmacosx-version-min={osx_version}" - ).format(osx_version=osx_version_min)), - ] + ).format(osx_version=osx_version_min), + } # Ninja can only be built in-tree. Copy the source tree to the build # directory. diff --git a/utils/swift_build_support/swift_build_support/shell.py b/utils/swift_build_support/swift_build_support/shell.py index cf715c889c67b..941b8326b8b6a 100644 --- a/utils/swift_build_support/swift_build_support/shell.py +++ b/utils/swift_build_support/swift_build_support/shell.py @@ -53,7 +53,8 @@ def _coerce_dry_run(dry_run_override): def _echo_command(dry_run, command, env=None, prompt="+ "): output = [] if env is not None: - output += ['env'] + [_quote("%s=%s" % (k, v)) for k, v in env] + output += ['env'] + [_quote("%s=%s" % (k, v)) + for (k, v) in sorted(env.items())] output += [_quote(arg) for arg in command] file = sys.stderr if dry_run: diff --git a/utils/swift_build_support/tests/products/test_ninja.py b/utils/swift_build_support/tests/products/test_ninja.py index f37583d1b32e3..df848cbde5256 100644 --- a/utils/swift_build_support/tests/products/test_ninja.py +++ b/utils/swift_build_support/tests/products/test_ninja.py @@ -92,8 +92,8 @@ def test_do_build(self): if platform.system() == "Darwin": expect_env = ( "env " - "CXX={cxx} " "'CFLAGS=-isysroot {sysroot} -mmacosx-version-min=10.9' " + "CXX={cxx} " "LDFLAGS=-mmacosx-version-min=10.9 " ).format( cxx=self.toolchain.cxx,