]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
WireGuardKit: Add swift package scaffolding
authorAndrej Mihajlov <and@mullvad.net>
Mon, 2 Nov 2020 13:40:24 +0000 (14:40 +0100)
committerAndrej Mihajlov <and@mullvad.net>
Wed, 2 Dec 2020 10:08:08 +0000 (11:08 +0100)
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
.gitignore
Package.swift [new file with mode: 0644]
WireGuardKit/Sources/WireGuardKit/WireGuardKit.swift [new file with mode: 0644]
WireGuardKit/Sources/libwg-go/dummy.c [new file with mode: 0644]
WireGuardKit/Sources/libwg-go/include/libwg_go.h [new file with mode: 0644]
WireGuardKit/Sources/libwg-go/module.modulemap [new file with mode: 0644]

index 14fa0aec6f56436833298453d79d4778eee33259..6b55f8fd40ecf6ae3ebb12924c5cf9b9edd83086 100644 (file)
@@ -31,6 +31,10 @@ xcuserdata
 *.hmap
 *.ipa
 
+# Swift Package Manager
+.swiftpm
+.build/
+
 # Fastlane
 *.app.dSYM.zip
 *.mobileprovision
diff --git a/Package.swift b/Package.swift
new file mode 100644 (file)
index 0000000..430d2e3
--- /dev/null
@@ -0,0 +1,29 @@
+// swift-tools-version:5.3
+// The swift-tools-version declares the minimum version of Swift required to build this package.
+
+import PackageDescription
+
+let package = Package(
+    name: "WireGuardKit",
+    platforms: [
+        .macOS(.v10_14),
+        .iOS(.v12)
+    ],
+    products: [
+        .library(name: "WireGuardKit", targets: ["WireGuardKit"])
+    ],
+    dependencies: [],
+    targets: [
+        .target(
+            name: "WireGuardKit",
+            dependencies: ["libwg-go"],
+            path: "WireGuardKit/Sources/WireGuardKit"
+        ),
+        .target(
+            name: "libwg-go",
+            dependencies: [],
+            path: "WireGuardKit/Sources/libwg-go",
+            linkerSettings: [.linkedLibrary("wg-go")]
+        )
+    ]
+)
diff --git a/WireGuardKit/Sources/WireGuardKit/WireGuardKit.swift b/WireGuardKit/Sources/WireGuardKit/WireGuardKit.swift
new file mode 100644 (file)
index 0000000..8d005a9
--- /dev/null
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: MIT
+// Copyright © 2018-2019 WireGuard LLC. All Rights Reserved.
+
+import Foundation
+import libwg_go
+
+public func getWireGuardVersion() -> String {
+    return String(cString: wgVersion()!)
+}
diff --git a/WireGuardKit/Sources/libwg-go/dummy.c b/WireGuardKit/Sources/libwg-go/dummy.c
new file mode 100644 (file)
index 0000000..d15abba
--- /dev/null
@@ -0,0 +1 @@
+// Empty
diff --git a/WireGuardKit/Sources/libwg-go/include/libwg_go.h b/WireGuardKit/Sources/libwg-go/include/libwg_go.h
new file mode 100644 (file)
index 0000000..55cc00d
--- /dev/null
@@ -0,0 +1 @@
+#include "../../../../wireguard-go-bridge/wireguard.h"
diff --git a/WireGuardKit/Sources/libwg-go/module.modulemap b/WireGuardKit/Sources/libwg-go/module.modulemap
new file mode 100644 (file)
index 0000000..9c50624
--- /dev/null
@@ -0,0 +1,5 @@
+module libwg_go {
+    umbrella header "include/libwg_go.h"
+    link "wg-go"
+    export *
+}