summaryrefslogtreecommitdiff
path: root/wrappers/swift/README.md
diff options
context:
space:
mode:
authorStevenWdV <stevenwdv@gmail.com>2022-01-24 14:59:25 +0100
committerStevenWdV <stevenwdv@gmail.com>2022-01-24 16:24:57 +0100
commite544c6fa9e15e7277da79e2464243e90b2706b8c (patch)
treede6613747e0e34a799089d4677f9833a85748712 /wrappers/swift/README.md
parentaab2e4b966c82b67eb0e204060e5ea6cd4ea15cf (diff)
Cleanup
Added variables to Makefiles to specify custom exports/ directory; Split exception classes in Java & C#; Added more comments; Renamed library and Go package; Removed real (pure) tests; Added generate_lib.ps1 to generate import .lib for Windows (Swift); Moved built Go libraries to exports/lib/; Switch to hopefully faster Swift GitHub Action.
Diffstat (limited to 'wrappers/swift/README.md')
-rw-r--r--wrappers/swift/README.md20
1 files changed, 18 insertions, 2 deletions
diff --git a/wrappers/swift/README.md b/wrappers/swift/README.md
index 8259592..f28b028 100644
--- a/wrappers/swift/README.md
+++ b/wrappers/swift/README.md
@@ -2,7 +2,8 @@
## Requirements
-You will need to install the [Swift SDK](https://www.swift.org/getting-started), which includes the `swift` tool.
+You will need to install the [Swift SDK](https://www.swift.org/getting-started), which includes the `swift` tool. This
+project does not require Xcode as it uses the Swift Package Manager.
## Build & test
@@ -18,7 +19,22 @@ Build `EduVpnCommon` using shared Go library for specified platform, e.g.:
make GOOS=linux GOARCH=amd64
```
-On Windows, you will also need to generate a .lib for the .dll.
+When using this library, you will need to make sure that the linker can find the shared Go library.
+
+<small>On Windows, you will also need to generate a .lib import library for the .dll. You can
+use `exports/generate_lib.ps1`
+for this, passing in the path to the DLL file. Execute this from a Visual Studio Developer shell before building the
+Swift project. Alternatively, you could use `objdump` and `llvm-dlltool`. You only need to update this if the list of
+exported symbols changes.</small>
+
+If you just want to copy over the C header file to the right directory for the modulemap in `CEduVpnCommon`, run:
+
+```shell
+make install-header
+```
+
+If you do not build this as part of the full repository, specify `EXPORTS_PATH="path/to/exports-folder"` when calling
+make. This folder must contain `platform.mk` and the `lib/` folder with built libraries and headers.
Test: