Skip to content

Commit f8e28ae

Browse files
committed
Build SwiftBuild as part of CMake bootstrapping
1 parent 2d48848 commit f8e28ae

13 files changed

+20
-55
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)

Sources/SwiftBuildSupport/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
add_library(SwiftBuildSupport STATIC
1010
BuildSystem.swift
11+
DotPIFSerializer.swift
1112
PackagePIFBuilder.swift
1213
PackagePIFBuilder+Helpers.swift
1314
PackagePIFBuilder+Plugins.swift
@@ -23,6 +24,8 @@ target_link_libraries(SwiftBuildSupport PUBLIC
2324
TSCBasic
2425
TSCUtility
2526
PackageGraph
27+
SwiftBuild::SwiftBuild
28+
SwiftBuild::SWBBuildService
2629
)
2730

2831
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 {
@@ -102,7 +100,6 @@ public final class PIFBuilder {
102100
preservePIFModelStructure: Bool = false,
103101
printPIFManifestGraphviz: Bool = false
104102
) throws -> String {
105-
#if canImport(SwiftBuild)
106103
let encoder = prettyPrint ? JSONEncoder.makeWithDefaults() : JSONEncoder()
107104

108105
if !preservePIFModelStructure {
@@ -128,13 +125,8 @@ public final class PIFBuilder {
128125
}
129126

130127
return pifString
131-
#else
132-
fatalError("Swift Build support is not linked in.")
133-
#endif
134128
}
135-
136-
#if canImport(SwiftBuild)
137-
129+
138130
private var cachedPIF: PIF.TopLevelObject?
139131

140132
/// Constructs a `PIF.TopLevelObject` representing the package graph.
@@ -188,8 +180,6 @@ public final class PIFBuilder {
188180
return PIF.TopLevelObject(workspace: workspace)
189181
}
190182
}
191-
192-
#endif
193183

194184
// Convenience method for generating PIF.
195185
public static func generatePIF(
@@ -210,8 +200,6 @@ public final class PIFBuilder {
210200
}
211201
}
212202

213-
#if canImport(SwiftBuild)
214-
215203
fileprivate final class PackagePIFBuilderDelegate: PackagePIFBuilder.BuildDelegate {
216204
let package: ResolvedPackage
217205

@@ -407,8 +395,6 @@ fileprivate func buildAggregateProject(
407395
return aggregateProject
408396
}
409397

410-
#endif
411-
412398
public enum PIFGenerationError: Error {
413399
case rootPackageNotFound, multipleRootPackagesFound
414400

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
@@ -1215,4 +1213,3 @@ extension UserDefaults {
12151213
}
12161214
}
12171215

1218-
#endif

Sources/SwiftBuildSupport/PackagePIFBuilder+Plugins.swift

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

20-
#if canImport(SwiftBuild)
21-
2220
import enum SwiftBuild.ProjectModel
2321

2422
extension PackagePIFBuilder {
@@ -135,4 +133,3 @@ extension PackagePIFBuilder {
135133
}
136134
}
137135

138-
#endif

Sources/SwiftBuildSupport/PackagePIFBuilder.swift

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

33-
#if canImport(SwiftBuild)
34-
3533
import enum SwiftBuild.ProjectModel
3634

3735
typealias GUID = SwiftBuild.ProjectModel.GUID
@@ -660,5 +658,3 @@ extension PackagePIFBuilder.LinkedPackageBinary {
660658
}
661659
}
662660
}
663-
664-
#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.
@@ -869,5 +867,3 @@ extension PackagePIFProjectBuilder {
869867
self.builtModulesAndProducts.append(systemModule)
870868
}
871869
}
872-
873-
#endif

Sources/SwiftBuildSupport/PackagePIFProjectBuilder+Products.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ import struct PackageGraph.ResolvedModule
2828
import struct PackageGraph.ResolvedPackage
2929
import struct PackageGraph.ResolvedProduct
3030

31-
#if canImport(SwiftBuild)
32-
3331
import enum SwiftBuild.ProjectModel
3432

3533
/// Extension to create PIF **products** for a given package.
@@ -1001,4 +999,3 @@ private struct PackageRegistrySignature: Encodable {
1001999
let formatVersion = 2
10021000
}
10031001

1004-
#endif

0 commit comments

Comments
 (0)