From e544c6fa9e15e7277da79e2464243e90b2706b8c Mon Sep 17 00:00:00 2001 From: StevenWdV Date: Mon, 24 Jan 2022 14:59:25 +0100 Subject: 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. --- wrappers/swift/README.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'wrappers/swift/README.md') 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. + +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. + +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: -- cgit v1.2.3