From 4407b6fc5f619e50fae10eb87675b9c28450d228 Mon Sep 17 00:00:00 2001 From: Konrad Malawski Date: Sat, 16 May 2026 12:49:36 +0900 Subject: [PATCH 1/2] Experiment with targets to enable static linking in consumers --- Package.swift | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Package.swift b/Package.swift index bb7d453a..d67a0a8d 100644 --- a/Package.swift +++ b/Package.swift @@ -24,6 +24,20 @@ let package = Package( targets: ["SwiftJava", "SwiftJavaRuntimeSupport"] ), + // EXPERIMENTAL + // + // Auto-linkage variant of SwiftJava. + // Same targets as the .dynamic SwiftJava product, but without an explicit `type:` so SwiftPM picks + // linkage based on the consumer: + // - A .dynamic library consumer absorbs these objects into its own + // dylib, yielding a single .so / .dylib instead of one per package + // - A .static library consumer or executable links them statically + // Use this when static linking swift-java runtime along with swift stdlib and your own code into a single file. + .library( + name: "SwiftJavaStatic", + targets: ["SwiftJava", "SwiftJavaRuntimeSupport"] + ), + .library( name: "SwiftJavaConfigurationShared", targets: ["SwiftJavaConfigurationShared"] @@ -91,6 +105,14 @@ let package = Package( targets: ["SwiftRuntimeFunctions"] ), + // EXPERIMENTAL + // + // Auto-linkage variant of SwiftRuntimeFunctions; see SwiftJavaStatic for details. + .library( + name: "SwiftRuntimeFunctionsStatic", + targets: ["SwiftRuntimeFunctions"] + ), + .library( name: "JExtractSwiftLib", targets: ["JExtractSwiftLib"] From bbe6ea914ca40ec329cfd0fa5aece8ff4b57cfa7 Mon Sep 17 00:00:00 2001 From: Konrad Malawski Date: Mon, 18 May 2026 16:02:58 +0900 Subject: [PATCH 2/2] Add some docs about linking --- Sources/SwiftJavaDocumentation/Documentation.docc/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Sources/SwiftJavaDocumentation/Documentation.docc/index.md b/Sources/SwiftJavaDocumentation/Documentation.docc/index.md index 05279aa8..3d7e892f 100644 --- a/Sources/SwiftJavaDocumentation/Documentation.docc/index.md +++ b/Sources/SwiftJavaDocumentation/Documentation.docc/index.md @@ -42,6 +42,10 @@ which is a quick overview of all the features and approaches offered by SwiftJav - - +### Distribution + +- + ### Android Support -