Skip to content

Commit 6bf43b6

Browse files
committed
Build SwiftBuild as part of CMake bootstrapping
1 parent 2b0505e commit 6bf43b6

16 files changed

+20
-69
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ if(FIND_PM_DEPS)
4545
find_package(SwiftASN1 CONFIG REQUIRED)
4646
find_package(SwiftCertificates CONFIG REQUIRED)
4747
find_package(SwiftCrypto CONFIG REQUIRED)
48+
find_package(SwiftBuild CONFIG REQUIRED)
4849
endif()
4950

5051
find_package(dispatch QUIET)

Package.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1108,8 +1108,7 @@ if ProcessInfo.processInfo.environment["ENABLE_APPLE_PRODUCT_TYPES"] == "1" {
11081108
}
11091109
}
11101110

1111-
if ProcessInfo.processInfo.environment["SWIFTPM_SWBUILD_FRAMEWORK"] == nil &&
1112-
ProcessInfo.processInfo.environment["SWIFTPM_NO_SWBUILD_DEPENDENCY"] == nil {
1111+
if ProcessInfo.processInfo.environment["SWIFTPM_SWBUILD_FRAMEWORK"] == nil {
11131112

11141113
let swiftbuildsupport: Target = package.targets.first(where: { $0.name == "SwiftBuildSupport" } )!
11151114
swiftbuildsupport.dependencies += [

Sources/SwiftBuildSupport/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ target_link_libraries(SwiftBuildSupport PUBLIC
2424
TSCBasic
2525
TSCUtility
2626
PackageGraph
27+
SwiftBuild::SwiftBuild
28+
SwiftBuild::SWBBuildService
2729
)
2830

2931
set_target_properties(SwiftBuildSupport PROPERTIES

Sources/SwiftBuildSupport/DotPIFSerializer.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import Basics
99
import Foundation
1010
import protocol TSCBasic.OutputByteStream
1111

12-
#if canImport(SwiftBuild)
1312
import SwiftBuild
1413

1514
/// Serializes the specified PIF as a **Graphviz** directed graph.
@@ -223,5 +222,3 @@ fileprivate extension String {
223222
"\""
224223
}
225224
}
226-
227-
#endif

Sources/SwiftBuildSupport/PIF.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import PackageModel
1717

1818
import struct TSCBasic.ByteString
1919

20-
#if canImport(SwiftBuild)
2120
import enum SwiftBuild.ProjectModel
2221

2322
/// The Project Interchange Format (PIF) is a structured representation of the
@@ -286,5 +285,3 @@ extension PIF {
286285
workspace.signature = try signature(of: workspace)
287286
}
288287
}
289-
290-
#endif // SwiftBuild

Sources/SwiftBuildSupport/PIFBuilder.swift

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@ import func TSCBasic.memoize
2424
import func TSCBasic.topologicalSort
2525
import var TSCBasic.stdoutStream
2626

27-
#if canImport(SwiftBuild)
2827
import enum SwiftBuild.ProjectModel
29-
#endif
3028

3129
/// The parameters required by `PIFBuilder`.
3230
struct PIFBuilderParameters {
@@ -103,7 +101,6 @@ public final class PIFBuilder {
103101
printPIFManifestGraphviz: Bool = false,
104102
buildParameters: BuildParameters
105103
) throws -> String {
106-
#if canImport(SwiftBuild)
107104
let encoder = prettyPrint ? JSONEncoder.makeWithDefaults() : JSONEncoder()
108105

109106
if !preservePIFModelStructure {
@@ -129,13 +126,8 @@ public final class PIFBuilder {
129126
}
130127

131128
return pifString
132-
#else
133-
fatalError("Swift Build support is not linked in.")
134-
#endif
135129
}
136-
137-
#if canImport(SwiftBuild)
138-
130+
139131
private var cachedPIF: PIF.TopLevelObject?
140132

141133
/// Constructs a `PIF.TopLevelObject` representing the package graph.
@@ -192,8 +184,6 @@ public final class PIFBuilder {
192184
return PIF.TopLevelObject(workspace: workspace)
193185
}
194186
}
195-
196-
#endif
197187

198188
// Convenience method for generating PIF.
199189
public static func generatePIF(
@@ -214,8 +204,6 @@ public final class PIFBuilder {
214204
}
215205
}
216206

217-
#if canImport(SwiftBuild)
218-
219207
fileprivate final class PackagePIFBuilderDelegate: PackagePIFBuilder.BuildDelegate {
220208
let package: ResolvedPackage
221209

@@ -421,8 +409,6 @@ fileprivate func buildAggregateProject(
421409
return aggregateProject
422410
}
423411

424-
#endif
425-
426412
public enum PIFGenerationError: Error {
427413
case rootPackageNotFound, multipleRootPackagesFound
428414

Sources/SwiftBuildSupport/PackagePIFBuilder+Helpers.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,6 @@ func targetName(forProductName name: String, suffix: String? = nil) -> String {
6161
return "\(name)\(suffix)-product"
6262
}
6363

64-
#if canImport(SwiftBuild)
65-
6664
import enum SwiftBuild.ProjectModel
6765

6866
// MARK: - PIF GUID Helpers
@@ -1216,4 +1214,3 @@ extension UserDefaults {
12161214
}
12171215
}
12181216

1219-
#endif

Sources/SwiftBuildSupport/PackagePIFBuilder+Plugins.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ import enum Basics.Sandbox
1818
import struct Basics.AbsolutePath
1919
import struct Basics.SourceControlURL
2020

21-
#if canImport(SwiftBuild)
22-
2321
import enum SwiftBuild.ProjectModel
2422

2523
extension PackagePIFBuilder {
@@ -136,4 +134,3 @@ extension PackagePIFBuilder {
136134
}
137135
}
138136

139-
#endif

Sources/SwiftBuildSupport/PackagePIFBuilder.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ import struct PackageGraph.ModulesGraph
3232
import struct PackageGraph.ResolvedModule
3333
import struct PackageGraph.ResolvedPackage
3434

35-
#if canImport(SwiftBuild)
36-
3735
import enum SwiftBuild.ProjectModel
3836

3937
typealias GUID = SwiftBuild.ProjectModel.GUID
@@ -668,5 +666,3 @@ extension PackagePIFBuilder.LinkedPackageBinary {
668666
}
669667
}
670668
}
671-
672-
#endif

Sources/SwiftBuildSupport/PackagePIFProjectBuilder+Modules.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ import class PackageModel.SystemLibraryModule
2626
import struct PackageGraph.ResolvedModule
2727
import struct PackageGraph.ResolvedPackage
2828

29-
#if canImport(SwiftBuild)
30-
3129
import enum SwiftBuild.ProjectModel
3230

3331
/// Extension to create PIF **modules** for a given package.
@@ -884,5 +882,3 @@ extension PackagePIFProjectBuilder {
884882
self.builtModulesAndProducts.append(systemModule)
885883
}
886884
}
887-
888-
#endif

0 commit comments

Comments
 (0)