diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 29ddb293..a8aa3f7a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -59,7 +59,7 @@ version by executing the script in Bash (or Git Bash on Windows): build/download-native-libs.sh ``` -Alternatively you can download a particular FFI version from the [pact-referece] releases or build your own version +Alternatively you can download a particular FFI version from the [pact-reference] releases or build your own version locally, and then copy the artifacts into the folders: ``` @@ -67,8 +67,10 @@ build/ linux/ x86_64/ libpact_ffi.so + aarch64/ + libpact_ffi.so osx/ - aarch64-apple-darwin/ + aarch64/ libpact_ffi.dylib x86_64/ libpact_ffi.dylib diff --git a/README.md b/README.md index ee15ef05..ab1946a7 100644 --- a/README.md +++ b/README.md @@ -232,16 +232,16 @@ For writing messaging pacts instead of requests/response pacts, see the [messagi Due to using a shared native library instead of C# for the main Pact logic only certain OSs are supported: -| OS | Arch | Support | -| ------------ | ----------- | -------------------------------------------------------------------| -| Windows | x86 | ❌ No | -| Windows | x64 | ✔️ Yes | -| Linux (libc) | ARM | ❌ No | -| Linux (libc) | x86 | ❌ No | -| Linux (libc) | x64 | ✔️ Yes | -| Linux (musl) | Any | ❌ [No](https://github.com/pact-foundation/pact-net/issues/374) | -| OSX | x64 | ✔️ Yes | -| OSX | ARM (M1/M2) | ✔️ Yes | +| OS | Arch | Support | +| ------------ | ------------ | -------------------------------------------------------------------| +| Windows | x86 | ❌ No | +| Windows | x64 | ✔️ Yes | +| Linux (libc) | ARM64 | ✔️ Yes | +| Linux (libc) | x64 | ✔️ Yes | +| Linux (libc) | x86 | ❌ No | +| Linux (musl) | Any | ❌ [No](https://github.com/pact-foundation/pact-net/issues/374) | +| OSX | x64 | ✔️ Yes | +| OSX | ARM64 (M1/M2)| ✔️ Yes | ### Pact Specification diff --git a/build/download-native-libs.sh b/build/download-native-libs.sh index d39a379d..90a94d11 100755 --- a/build/download-native-libs.sh +++ b/build/download-native-libs.sh @@ -64,6 +64,7 @@ download_native() { download_native "pact_ffi" "windows" "x86_64" "dll" download_native "libpact_ffi" "linux" "x86_64" "so" +download_native "libpact_ffi" "linux" "aarch64" "so" download_native "libpact_ffi" "macos" "x86_64" "dylib" download_native "libpact_ffi" "macos" "aarch64" "dylib" diff --git a/src/PactNet/PactNet.csproj b/src/PactNet/PactNet.csproj index e62463af..3cb10197 100644 --- a/src/PactNet/PactNet.csproj +++ b/src/PactNet/PactNet.csproj @@ -33,7 +33,14 @@ libpact_ffi.so runtimes/linux-x64/native true - PreserveNewest + PreserveNewest + false + + + libpact_ffi.so + runtimes/linux-arm64/native + true + PreserveNewest false