Skip to content

Commit 03fef47

Browse files
authored
Revert "Exclude XCBuildSupport when building with CMake (#7358)" (#7371)
This reverts commit 5287062, which causes macOS toolchain builds to fail with: ``` main/main.swift:345: Fatal error: SwiftPM was built without XCBuild support ``` Also adds the DriverSupport dependency to XCBuildSupport, which was skipped in #7258 because #7358 was merged (but we're reverting that).
1 parent 260624a commit 03fef47

File tree

10 files changed

+32
-45
lines changed

10 files changed

+32
-45
lines changed

Sources/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,4 @@ add_subdirectory(swift-run)
3737
add_subdirectory(swift-test)
3838
add_subdirectory(SwiftSDKCommand)
3939
add_subdirectory(Workspace)
40+
add_subdirectory(XCBuildSupport)

Sources/Commands/CMakeLists.txt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,8 @@ target_link_libraries(Commands PUBLIC
5959
SourceControl
6060
TSCBasic
6161
TSCUtility
62-
Workspace)
63-
64-
target_compile_definitions(Commands
65-
PRIVATE DISABLE_XCBUILD_SUPPORT)
66-
62+
Workspace
63+
XCBuildSupport)
6764
target_link_libraries(Commands PRIVATE
6865
DriverSupport
6966
$<$<NOT:$<PLATFORM_ID:Darwin>>:FoundationXML>)

Sources/Commands/PackageCommands/DumpCommands.swift

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@ import Basics
1515
import CoreCommands
1616
import Foundation
1717
import PackageModel
18-
19-
#if !DISABLE_XCBUILD_SUPPORT
2018
import XCBuildSupport
21-
#endif
2219

2320
struct DumpSymbolGraph: SwiftCommand {
2421
static let configuration = CommandConfiguration(
@@ -139,7 +136,6 @@ struct DumpPIF: SwiftCommand {
139136
var preserveStructure: Bool = false
140137

141138
func run(_ swiftCommandState: SwiftCommandState) throws {
142-
#if !DISABLE_XCBUILD_SUPPORT
143139
let graph = try swiftCommandState.loadPackageGraph()
144140
let pif = try PIFBuilder.generatePIF(
145141
buildParameters: swiftCommandState.productsBuildParameters,
@@ -148,9 +144,6 @@ struct DumpPIF: SwiftCommand {
148144
observabilityScope: swiftCommandState.observabilityScope,
149145
preservePIFModelStructure: preserveStructure)
150146
print(pif)
151-
#else
152-
fatalError("This subcommand is not available on the current platform")
153-
#endif
154147
}
155148

156149
var toolWorkspaceConfiguration: ToolWorkspaceConfiguration {

Sources/Commands/PackageCommands/SwiftPackageCommand.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,7 @@ import PackageModel
2020
import SourceControl
2121
import SPMBuildCore
2222
import Workspace
23-
24-
#if !DISABLE_XCBUILD_SUPPORT
2523
import XCBuildSupport
26-
#endif
2724

2825
import enum TSCUtility.Diagnostics
2926

Sources/Commands/SwiftBuildCommand.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,7 @@ import Build
1616
import CoreCommands
1717
import PackageGraph
1818
import SPMBuildCore
19-
20-
#if !DISABLE_XCBUILD_SUPPORT
2119
import XCBuildSupport
22-
#endif
2320

2421
import class TSCBasic.Process
2522
import var TSCBasic.stdoutStream

Sources/CoreCommands/BuildSystemSupport.swift

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@
1212

1313
import Build
1414
import SPMBuildCore
15-
16-
#if !DISABLE_XCBUILD_SUPPORT
1715
import XCBuildSupport
18-
#endif
1916

2017
import class Basics.ObservabilityScope
2118
import struct PackageGraph.ModulesGraph
@@ -63,7 +60,6 @@ private struct NativeBuildSystemFactory: BuildSystemFactory {
6360
}
6461
}
6562

66-
#if !DISABLE_XCBUILD_SUPPORT
6763
private struct XcodeBuildSystemFactory: BuildSystemFactory {
6864
let swiftCommandState: SwiftCommandState
6965

@@ -91,19 +87,12 @@ private struct XcodeBuildSystemFactory: BuildSystemFactory {
9187
)
9288
}
9389
}
94-
#endif
9590

9691
extension SwiftCommandState {
9792
public var defaultBuildSystemProvider: BuildSystemProvider {
98-
#if !DISABLE_XCBUILD_SUPPORT
9993
.init(providers: [
10094
.native: NativeBuildSystemFactory(swiftCommandState: self),
10195
.xcode: XcodeBuildSystemFactory(swiftCommandState: self)
10296
])
103-
#else
104-
.init(providers: [
105-
.native: NativeBuildSystemFactory(swiftCommandState: self),
106-
])
107-
#endif
10897
}
10998
}

Sources/CoreCommands/CMakeLists.txt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,8 @@ target_link_libraries(CoreCommands PUBLIC
1818
PackageGraph
1919
TSCBasic
2020
TSCUtility
21-
Workspace)
22-
23-
target_compile_definitions(CoreCommands
24-
PRIVATE DISABLE_XCBUILD_SUPPORT)
25-
21+
Workspace
22+
XCBuildSupport)
2623
target_link_libraries(CoreCommands PRIVATE
2724
DriverSupport
2825
$<$<NOT:$<PLATFORM_ID:Darwin>>:FoundationXML>)

Sources/XCBuildSupport/CMakeLists.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# This source file is part of the Swift open source project
2+
#
3+
# Copyright (c) 2014 - 2020 Apple Inc. and the Swift project authors
4+
# Licensed under Apache License v2.0 with Runtime Library Exception
5+
#
6+
# See http://swift.org/LICENSE.txt for license information
7+
# See http://swift.org/CONTRIBUTORS.txt for Swift project authors
8+
9+
add_library(XCBuildSupport STATIC
10+
PIF.swift
11+
PIFBuilder.swift
12+
XCBuildDelegate.swift
13+
XCBuildMessage.swift
14+
XCBuildOutputParser.swift
15+
XcodeBuildSystem.swift)
16+
target_link_libraries(XCBuildSupport PUBLIC
17+
Build
18+
DriverSupport
19+
TSCBasic
20+
TSCUtility
21+
PackageGraph
22+
)
23+
24+
set_target_properties(XCBuildSupport PROPERTIES
25+
INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY})

Sources/swift-bootstrap/CMakeLists.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,5 @@ target_link_libraries(swift-bootstrap PRIVATE
1717
PackageModel
1818
SwiftDriver
1919
TSCBasic
20-
TSCUtility)
21-
22-
target_compile_definitions(swift-bootstrap
23-
PRIVATE DISABLE_XCBUILD_SUPPORT)
20+
TSCUtility
21+
XCBuildSupport)

Sources/swift-bootstrap/main.swift

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,7 @@ import PackageGraph
2424
import PackageLoading
2525
import PackageModel
2626
import SPMBuildCore
27-
28-
#if !DISABLE_XCBUILD_SUPPORT
2927
import XCBuildSupport
30-
#endif
3128

3229
import struct TSCBasic.KeyedPair
3330
import func TSCBasic.topologicalSort
@@ -332,7 +329,6 @@ struct SwiftBootstrapBuildTool: ParsableCommand {
332329
observabilityScope: self.observabilityScope
333330
)
334331
case .xcode:
335-
#if !DISABLE_XCBUILD_SUPPORT
336332
return try XcodeBuildSystem(
337333
buildParameters: buildParameters,
338334
packageGraphLoader: packageGraphLoader,
@@ -341,9 +337,6 @@ struct SwiftBootstrapBuildTool: ParsableCommand {
341337
fileSystem: self.fileSystem,
342338
observabilityScope: self.observabilityScope
343339
)
344-
#else
345-
fatalError("SwiftPM was built without XCBuild support")
346-
#endif
347340
}
348341
}
349342

0 commit comments

Comments
 (0)