@@ -72,8 +72,10 @@ let swiftPMProduct = (
72
72
)
73
73
74
74
#if os(Windows)
75
+ let includeDynamicLibrary : Bool = false
75
76
let systemSQLitePkgConfig : String ? = nil
76
77
#else
78
+ let includeDynamicLibrary : Bool = true
77
79
let systemSQLitePkgConfig : String ? = " sqlite3 "
78
80
#endif
79
81
@@ -90,12 +92,15 @@ let package = Package(
90
92
] ,
91
93
products:
92
94
autoProducts. flatMap {
93
- [
95
+ ( includeDynamicLibrary ? [
94
96
. library(
95
97
name: $0. name,
96
98
type: . dynamic,
97
99
targets: $0. targets
98
100
) ,
101
+ ] : [ ] )
102
+ +
103
+ [
99
104
. library(
100
105
name: " \( $0. name) -auto " ,
101
106
targets: $0. targets
@@ -167,6 +172,7 @@ let package = Package(
167
172
exclude: [ " CMakeLists.txt " ] ,
168
173
swiftSettings: [
169
174
. enableExperimentalFeature( " AccessLevelOnImport " ) ,
175
+ . unsafeFlags( [ " -static " ] ) ,
170
176
]
171
177
) ,
172
178
@@ -183,7 +189,8 @@ let package = Package(
183
189
swiftSettings: [
184
190
. enableExperimentalFeature( " StrictConcurrency " ) ,
185
191
. enableExperimentalFeature( " AccessLevelOnImport " ) ,
186
- . enableExperimentalFeature( " InternalImportsByDefault " )
192
+ . enableExperimentalFeature( " InternalImportsByDefault " ) ,
193
+ . unsafeFlags( [ " -static " ] ) ,
187
194
]
188
195
) ,
189
196
@@ -202,14 +209,18 @@ let package = Package(
202
209
swiftSettings: [
203
210
. enableExperimentalFeature( " StrictConcurrency " ) ,
204
211
. enableExperimentalFeature( " AccessLevelOnImport " ) ,
212
+ . unsafeFlags( [ " -static " ] ) ,
205
213
]
206
214
) ,
207
215
208
216
. target(
209
217
/** The llbuild manifest model */
210
218
name: " LLBuildManifest " ,
211
219
dependencies: [ " Basics " ] ,
212
- exclude: [ " CMakeLists.txt " ]
220
+ exclude: [ " CMakeLists.txt " ] ,
221
+ swiftSettings: [
222
+ . unsafeFlags( [ " -static " ] ) ,
223
+ ]
213
224
) ,
214
225
215
226
. target(
@@ -222,7 +233,10 @@ let package = Package(
222
233
" PackageModel " ,
223
234
" PackageSigning " ,
224
235
] ,
225
- exclude: [ " CMakeLists.txt " ]
236
+ exclude: [ " CMakeLists.txt " ] ,
237
+ swiftSettings: [
238
+ . unsafeFlags( [ " -static " ] ) ,
239
+ ]
226
240
) ,
227
241
228
242
. target(
@@ -232,14 +246,20 @@ let package = Package(
232
246
" Basics " ,
233
247
" PackageModel " ,
234
248
] ,
235
- exclude: [ " CMakeLists.txt " ]
249
+ exclude: [ " CMakeLists.txt " ] ,
250
+ swiftSettings: [
251
+ . unsafeFlags( [ " -static " ] ) ,
252
+ ]
236
253
) ,
237
254
238
255
. target(
239
256
/** Shim for llbuild library */
240
257
name: " SPMLLBuild " ,
241
258
dependencies: [ " Basics " ] ,
242
- exclude: [ " CMakeLists.txt " ]
259
+ exclude: [ " CMakeLists.txt " ] ,
260
+ swiftSettings: [
261
+ . unsafeFlags( [ " -static " ] ) ,
262
+ ]
243
263
) ,
244
264
245
265
// MARK: Project Model
@@ -248,7 +268,10 @@ let package = Package(
248
268
/** Primitive Package model objects */
249
269
name: " PackageModel " ,
250
270
dependencies: [ " Basics " ] ,
251
- exclude: [ " CMakeLists.txt " , " README.md " ]
271
+ exclude: [ " CMakeLists.txt " , " README.md " ] ,
272
+ swiftSettings: [
273
+ . unsafeFlags( [ " -static " ] ) ,
274
+ ]
252
275
) ,
253
276
254
277
. target(
@@ -265,7 +288,10 @@ let package = Package(
265
288
. product( name: " SwiftSyntax " , package : " swift-syntax " ) ,
266
289
. product( name: " SwiftSyntaxBuilder " , package : " swift-syntax " ) ,
267
290
] ,
268
- exclude: [ " CMakeLists.txt " ]
291
+ exclude: [ " CMakeLists.txt " ] ,
292
+ swiftSettings: [
293
+ . unsafeFlags( [ " -static " ] ) ,
294
+ ]
269
295
) ,
270
296
271
297
. target(
@@ -276,7 +302,10 @@ let package = Package(
276
302
" PackageModel " ,
277
303
" SourceControl " ,
278
304
] ,
279
- exclude: [ " CMakeLists.txt " , " README.md " ]
305
+ exclude: [ " CMakeLists.txt " , " README.md " ] ,
306
+ swiftSettings: [
307
+ . unsafeFlags( [ " -static " ] ) ,
308
+ ]
280
309
) ,
281
310
282
311
// MARK: Package Dependency Resolution
@@ -289,7 +318,10 @@ let package = Package(
289
318
" PackageLoading " ,
290
319
" PackageModel " ,
291
320
] ,
292
- exclude: [ " CMakeLists.txt " , " README.md " ]
321
+ exclude: [ " CMakeLists.txt " , " README.md " ] ,
322
+ swiftSettings: [
323
+ . unsafeFlags( [ " -static " ] ) ,
324
+ ]
293
325
) ,
294
326
295
327
// MARK: Package Collections
@@ -300,6 +332,9 @@ let package = Package(
300
332
dependencies: [ ] ,
301
333
exclude: [
302
334
" Formats/v1.md " ,
335
+ ] ,
336
+ swiftSettings: [
337
+ . unsafeFlags( [ " -static " ] ) ,
303
338
]
304
339
) ,
305
340
@@ -312,6 +347,9 @@ let package = Package(
312
347
" PackageCollectionsSigning " ,
313
348
" PackageModel " ,
314
349
" SourceControl " ,
350
+ ] ,
351
+ swiftSettings: [
352
+ . unsafeFlags( [ " -static " ] ) ,
315
353
]
316
354
) ,
317
355
@@ -322,6 +360,9 @@ let package = Package(
322
360
. product( name: " X509 " , package : " swift-certificates " ) ,
323
361
" Basics " ,
324
362
" PackageCollectionsModel " ,
363
+ ] ,
364
+ swiftSettings: [
365
+ . unsafeFlags( [ " -static " ] ) ,
325
366
]
326
367
) ,
327
368
@@ -331,7 +372,10 @@ let package = Package(
331
372
" Basics " ,
332
373
" PackageModel " ,
333
374
] ,
334
- exclude: [ " CMakeLists.txt " ]
375
+ exclude: [ " CMakeLists.txt " ] ,
376
+ swiftSettings: [
377
+ . unsafeFlags( [ " -static " ] ) ,
378
+ ]
335
379
) ,
336
380
337
381
. target(
@@ -342,7 +386,10 @@ let package = Package(
342
386
" Basics " ,
343
387
" PackageModel " ,
344
388
] ,
345
- exclude: [ " CMakeLists.txt " ]
389
+ exclude: [ " CMakeLists.txt " ] ,
390
+ swiftSettings: [
391
+ . unsafeFlags( [ " -static " ] ) ,
392
+ ]
346
393
) ,
347
394
348
395
// MARK: Package Manager Functionality
@@ -354,7 +401,10 @@ let package = Package(
354
401
" Basics " ,
355
402
" PackageGraph " ,
356
403
] ,
357
- exclude: [ " CMakeLists.txt " ]
404
+ exclude: [ " CMakeLists.txt " ] ,
405
+ swiftSettings: [
406
+ . unsafeFlags( [ " -static " ] ) ,
407
+ ]
358
408
) ,
359
409
. target(
360
410
/** Builds Modules and Products */
@@ -368,7 +418,10 @@ let package = Package(
368
418
. product( name: " SwiftDriver " , package : " swift-driver " ) ,
369
419
" DriverSupport " ,
370
420
] ,
371
- exclude: [ " CMakeLists.txt " ]
421
+ exclude: [ " CMakeLists.txt " ] ,
422
+ swiftSettings: [
423
+ . unsafeFlags( [ " -static " ] ) ,
424
+ ]
372
425
) ,
373
426
. target(
374
427
name: " DriverSupport " ,
@@ -377,13 +430,19 @@ let package = Package(
377
430
" PackageModel " ,
378
431
. product( name: " SwiftDriver " , package : " swift-driver " ) ,
379
432
] ,
380
- exclude: [ " CMakeLists.txt " ]
433
+ exclude: [ " CMakeLists.txt " ] ,
434
+ swiftSettings: [
435
+ . unsafeFlags( [ " -static " ] ) ,
436
+ ]
381
437
) ,
382
438
. target(
383
439
/** Support for building using Xcode's build system */
384
440
name: " XCBuildSupport " ,
385
441
dependencies: [ " DriverSupport " , " SPMBuildCore " , " PackageGraph " ] ,
386
- exclude: [ " CMakeLists.txt " ]
442
+ exclude: [ " CMakeLists.txt " ] ,
443
+ swiftSettings: [
444
+ . unsafeFlags( [ " -static " ] ) ,
445
+ ]
387
446
) ,
388
447
. target(
389
448
/** High level functionality */
@@ -398,7 +457,10 @@ let package = Package(
398
457
" SourceControl " ,
399
458
" SPMBuildCore " ,
400
459
] ,
401
- exclude: [ " CMakeLists.txt " ]
460
+ exclude: [ " CMakeLists.txt " ] ,
461
+ swiftSettings: [
462
+ . unsafeFlags( [ " -static " ] ) ,
463
+ ]
402
464
) ,
403
465
. target(
404
466
// ** High level interface for package discovery */
@@ -409,6 +471,9 @@ let package = Package(
409
471
" PackageModel " ,
410
472
" PackageRegistry " ,
411
473
" PackageSigning " ,
474
+ ] ,
475
+ swiftSettings: [
476
+ . unsafeFlags( [ " -static " ] ) ,
412
477
]
413
478
) ,
414
479
@@ -427,7 +492,10 @@ let package = Package(
427
492
" Workspace " ,
428
493
" XCBuildSupport " ,
429
494
] ,
430
- exclude: [ " CMakeLists.txt " ]
495
+ exclude: [ " CMakeLists.txt " ] ,
496
+ swiftSettings: [
497
+ . unsafeFlags( [ " -static " ] ) ,
498
+ ]
431
499
) ,
432
500
433
501
. target(
@@ -446,7 +514,10 @@ let package = Package(
446
514
" Workspace " ,
447
515
" XCBuildSupport " ,
448
516
] ,
449
- exclude: [ " CMakeLists.txt " , " README.md " ]
517
+ exclude: [ " CMakeLists.txt " , " README.md " ] ,
518
+ swiftSettings: [
519
+ . unsafeFlags( [ " -static " ] ) ,
520
+ ]
450
521
) ,
451
522
452
523
. target(
@@ -459,7 +530,10 @@ let package = Package(
459
530
" SPMBuildCore " ,
460
531
" PackageModel " ,
461
532
] ,
462
- exclude: [ " CMakeLists.txt " , " README.md " ]
533
+ exclude: [ " CMakeLists.txt " , " README.md " ] ,
534
+ swiftSettings: [
535
+ . unsafeFlags( [ " -static " ] ) ,
536
+ ]
463
537
) ,
464
538
465
539
. target(
@@ -472,6 +546,9 @@ let package = Package(
472
546
" CoreCommands " ,
473
547
" PackageCollections " ,
474
548
" PackageModel " ,
549
+ ] ,
550
+ swiftSettings: [
551
+ . unsafeFlags( [ " -static " ] ) ,
475
552
]
476
553
) ,
477
554
@@ -491,6 +568,9 @@ let package = Package(
491
568
" SourceControl " ,
492
569
" SPMBuildCore " ,
493
570
" Workspace " ,
571
+ ] ,
572
+ swiftSettings: [
573
+ . unsafeFlags( [ " -static " ] ) ,
494
574
]
495
575
) ,
496
576
@@ -503,6 +583,7 @@ let package = Package(
503
583
] ,
504
584
swiftSettings: [
505
585
. enableExperimentalFeature( " StrictConcurrency=complete " ) ,
586
+ . unsafeFlags( [ " -static " ] ) ,
506
587
]
507
588
) ,
508
589
@@ -608,13 +689,19 @@ let package = Package(
608
689
. product( name: " TSCTestSupport " , package : " swift-tools-support-core " ) ,
609
690
" Workspace " ,
610
691
" XCBuildSupport " ,
692
+ ] ,
693
+ swiftSettings: [
694
+ . unsafeFlags( [ " -static " ] ) ,
611
695
]
612
696
) ,
613
697
614
698
. target(
615
699
/** Test for thread-sanitizer. */
616
700
name: " tsan_utils " ,
617
- dependencies: [ ]
701
+ dependencies: [ ] ,
702
+ swiftSettings: [
703
+ . unsafeFlags( [ " -static " ] ) ,
704
+ ]
618
705
) ,
619
706
620
707
// MARK: SwiftPM tests
0 commit comments