Skip to content

Commit 43bae28

Browse files
shoumikhinfacebook-github-bot
authored andcommitted
Add standard libs and frameworks deps to Swift PM manifest. (#2568)
Summary: Pull Request resolved: #2568 . Reviewed By: huydhn, kirklandsign Differential Revision: D55208040 fbshipit-source-id: bf3564dd702ac5566855aa917d392ccd493a326c
1 parent 12b5324 commit 43bae28

File tree

6 files changed

+29
-6
lines changed

6 files changed

+29
-6
lines changed

.swift/coreml_backend/dummy.swift

Whitespace-only changes.

.swift/executorch/dummy.swift

Whitespace-only changes.

.swift/mps_backend/dummy.swift

Whitespace-only changes.

.swift/portable_backend/dummy.swift

Whitespace-only changes.

.swift/xnnpack_backend/dummy.swift

Whitespace-only changes.

Package.swift

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ let xnnpack_sha256 = "3fd6e4e1d9687eb25e2638bb3dfbc429b736cbf47e7ed769f1dbec6225
2020
struct Framework {
2121
let name: String
2222
let checksum: String
23+
var frameworks: [String] = []
24+
var libraries: [String] = []
2325

2426
func target() -> Target {
2527
.binaryTarget(
@@ -28,20 +30,43 @@ struct Framework {
2830
checksum: checksum
2931
)
3032
}
33+
34+
func dependencies() -> Target {
35+
.target(
36+
name: "\(name)_dependencies",
37+
dependencies: [.target(name: name)],
38+
path: ".swift/\(name)",
39+
linkerSettings:
40+
frameworks.map { .linkedFramework($0) } +
41+
libraries.map { .linkedLibrary($0) }
42+
)
43+
}
3144
}
3245

3346
let frameworks = [
3447
Framework(
3548
name: "coreml_backend",
36-
checksum: coreml_sha256
49+
checksum: coreml_sha256,
50+
frameworks: [
51+
"Accelerate",
52+
"CoreML",
53+
],
54+
libraries: [
55+
"sqlite3",
56+
]
3757
),
3858
Framework(
3959
name: "executorch",
4060
checksum: executorch_sha256
4161
),
4262
Framework(
4363
name: "mps_backend",
44-
checksum: mps_sha256
64+
checksum: mps_sha256,
65+
frameworks: [
66+
"Metal",
67+
"MetalPerformanceShaders",
68+
"MetalPerformanceShadersGraph",
69+
]
4570
),
4671
Framework(
4772
name: "portable_backend",
@@ -58,8 +83,6 @@ let package = Package(
5883
platforms: [
5984
.iOS(.v15),
6085
],
61-
products: frameworks.map { framework in
62-
.library(name: framework.name, targets: [framework.name])
63-
},
64-
targets: frameworks.map { $0.target() }
86+
products: frameworks.map { .library(name: $0.name, targets: ["\($0.name)_dependencies"]) },
87+
targets: frameworks.flatMap { [$0.target(), $0.dependencies()] }
6588
)

0 commit comments

Comments
 (0)