Add Swift Package Manager support
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
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 *
+}