1- // swift-tools-version:6.1
1+ // swift-tools-version:6.0
22
33import PackageDescription
44
55// NOTE: needed for embedded customizations, ideally this will not be necessary at all in the future, or can be replaced with traits
6+ let shouldBuildForEmbedded = Context . environment [ " JAVASCRIPTKIT_EXPERIMENTAL_EMBEDDED_WASM " ] . flatMap ( Bool . init) ?? false
67let useLegacyResourceBundling =
78 Context . environment [ " JAVASCRIPTKIT_USE_LEGACY_RESOURCE_BUNDLING " ] . flatMap ( Bool . init) ?? false
89
@@ -15,23 +16,22 @@ let package = Package(
1516 . library( name: " JavaScriptEventLoopTestSupport " , targets: [ " JavaScriptEventLoopTestSupport " ] ) ,
1617 . plugin( name: " PackageToJS " , targets: [ " PackageToJS " ] ) ,
1718 ] ,
18- traits: [
19- " Embedded "
20- ] ,
2119 targets: [
2220 . target(
2321 name: " JavaScriptKit " ,
2422 dependencies: [ " _CJavaScriptKit " ] ,
2523 exclude: useLegacyResourceBundling ? [ ] : [ " Runtime " ] ,
2624 resources: useLegacyResourceBundling ? [ . copy( " Runtime " ) ] : [ ] ,
27- cSettings: [
28- . unsafeFlags( [ " -fdeclspec " ] , . when( traits: [ " Embedded " ] ) )
29- ] ,
30- swiftSettings: [
31- . enableExperimentalFeature( " Embedded " , . when( traits: [ " Embedded " ] ) ) ,
32- . enableExperimentalFeature( " Extern " , . when( traits: [ " Embedded " ] ) ) ,
33- . unsafeFlags( [ " -Xfrontend " , " -emit-empty-object-file " ] , . when( traits: [ " Embedded " ] ) ) ,
34- ]
25+ cSettings: shouldBuildForEmbedded
26+ ? [
27+ . unsafeFlags( [ " -fdeclspec " ] )
28+ ] : nil ,
29+ swiftSettings: shouldBuildForEmbedded
30+ ? [
31+ . enableExperimentalFeature( " Embedded " ) ,
32+ . enableExperimentalFeature( " Extern " ) ,
33+ . unsafeFlags( [ " -Xfrontend " , " -emit-empty-object-file " ] ) ,
34+ ] : nil
3535 ) ,
3636 . target( name: " _CJavaScriptKit " ) ,
3737 . testTarget(
@@ -45,10 +45,11 @@ let package = Package(
4545 . target(
4646 name: " JavaScriptBigIntSupport " ,
4747 dependencies: [ " _CJavaScriptBigIntSupport " , " JavaScriptKit " ] ,
48- swiftSettings: [
49- . enableExperimentalFeature( " Embedded " , . when( traits: [ " Embedded " ] ) ) ,
50- . unsafeFlags( [ " -Xfrontend " , " -emit-empty-object-file " ] , . when( traits: [ " Embedded " ] ) ) ,
51- ]
48+ swiftSettings: shouldBuildForEmbedded
49+ ? [
50+ . enableExperimentalFeature( " Embedded " ) ,
51+ . unsafeFlags( [ " -Xfrontend " , " -emit-empty-object-file " ] ) ,
52+ ] : [ ]
5253 ) ,
5354 . target( name: " _CJavaScriptBigIntSupport " , dependencies: [ " _CJavaScriptKit " ] ) ,
5455 . testTarget(
@@ -59,10 +60,11 @@ let package = Package(
5960 . target(
6061 name: " JavaScriptEventLoop " ,
6162 dependencies: [ " JavaScriptKit " , " _CJavaScriptEventLoop " ] ,
62- swiftSettings: [
63- . enableExperimentalFeature( " Embedded " , . when( traits: [ " Embedded " ] ) ) ,
64- . unsafeFlags( [ " -Xfrontend " , " -emit-empty-object-file " ] , . when( traits: [ " Embedded " ] ) ) ,
65- ]
63+ swiftSettings: shouldBuildForEmbedded
64+ ? [
65+ . enableExperimentalFeature( " Embedded " ) ,
66+ . unsafeFlags( [ " -Xfrontend " , " -emit-empty-object-file " ] ) ,
67+ ] : [ ]
6668 ) ,
6769 . target( name: " _CJavaScriptEventLoop " ) ,
6870 . testTarget(
0 commit comments