Commit 65b6ff69fd980a3f5ea8a595193c169022c57a7f

Lvv.me 2021-11-25T13:37:24

Add Swift Package Manager support

diff --git a/Package.swift b/Package.swift
new file mode 100644
index 0000000..738bb7f
--- /dev/null
+++ b/Package.swift
@@ -0,0 +1,36 @@
+// swift-tools-version:5.0
+// The swift-tools-version declares the minimum version of Swift required to build this package.
+
+import PackageDescription
+
+let package = Package(
+    name: "tommath",
+    platforms: [
+        .macOS(.v10_10), .iOS(.v9), .tvOS(.v9)
+    ],
+    products: [
+        // Products define the executables and libraries a package produces, and make them visible to other packages.
+        .library(
+            name: "libtommath",
+            targets: ["libtommath"])
+    ],
+    dependencies: [
+        // Dependencies declare other packages that this package depends on.
+        // .package(url: /* package url */, from: "1.0.0"),
+    ],
+    targets: [
+        // Targets are the basic building blocks of a package. A target can define a module or a test suite.
+        // Targets can depend on other targets in this package, and on products in packages this package depends on.
+        .target(
+            name: "libtommath",
+            path: ".",
+            exclude: ["demo", "doc", "etc", "logs", "mtest"],
+            sources: ["."],
+            publicHeadersPath: "modulemap",
+            cSettings: [
+                .headerSearchPath(".")
+            ])
+    ],
+    cLanguageStandard: .gnu11,
+    cxxLanguageStandard: .gnucxx14
+)
diff --git a/modulemap/module.modulemap b/modulemap/module.modulemap
new file mode 100644
index 0000000..7280be7
--- /dev/null
+++ b/modulemap/module.modulemap
@@ -0,0 +1,4 @@
+module libtommath [extern_c] {
+    header "../tommath.h"
+    export *
+}