Skip to content

Commit 690ce46

Browse files
artemcmshahmishal
authored andcommitted
[Bootstrap] Do not pass -Ddispatch_DIR to the Yams CMake build (#3363)
With the version-bump of Yams in swiftlang/swift#36366, Yams `4.0.2` now actually expresses the dependency on Dispatch in its CMake config. With the current behavior of passing `-Ddispatch_DIR` to its CMake build, we have the following problem on Linux: - `swift`'s `build-script` installs Dispatch into a just-built toolchain which we use to build SwiftPM, which will contain, among other things, the Dispatch `.swiftmodule`. - The compiler workspace checkout of `swift-corelibs-libdispatch` also contains a copy of the Dispatch `.swiftmodule`. Both of these will be found, leading to build failures like: ``` /home/buildnode/jenkins/workspace/swift-PR-Linux/branch-main/swift-nightly-install/usr/lib/swift/dispatch/module.modulemap:1:8: error: redefinition of module 'Dispatch' 19:37:47 module Dispatch { 19:37:47 ^ 19:37:47 /home/buildnode/jenkins/workspace/swift-PR-Linux/branch-main/swift-corelibs-libdispatch/dispatch/module.modulemap:1:8: note: previously defined here 19:37:47 module Dispatch { 19:37:47 ^ 19:37:47 ``` We also cannot put off building `libDispatch` until SwiftPM is built, because the `libDispatch` dylib is required to link SwiftPM. Not passing `-Ddispatch_DIR` to Yams' CMake build causes it to successfully locate the Dispatch package in the just-built toolchain on its own. (cherry picked from commit 6af862d)
1 parent cfbe360 commit 690ce46

File tree

1 file changed

+0
-3
lines changed

1 file changed

+0
-3
lines changed

Utilities/bootstrap

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -536,9 +536,6 @@ def build_yams(args):
536536
cmake_flags.append("-DCMAKE_C_FLAGS=-target %s%s" % (get_build_target(args), g_macos_deployment_target))
537537
cmake_flags.append("-DCMAKE_OSX_DEPLOYMENT_TARGET=%s" % g_macos_deployment_target)
538538
else:
539-
if args.dispatch_build_dir:
540-
cmake_flags.append(get_dispatch_cmake_arg(args))
541-
542539
if args.foundation_build_dir:
543540
cmake_flags.append(get_foundation_cmake_arg(args))
544541

0 commit comments

Comments
 (0)