From e6920e4c3f78e6e65168e69a2b87e691df7d8f5d Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Fri, 7 Oct 2022 16:13:44 +0200 Subject: [PATCH 1/4] Add macosx-arm64 preset for lz4 --- .github/workflows/lz4.yml | 6 +++++- lz4/cppbuild.sh | 6 ++++++ lz4/platform/pom.xml | 9 ++++++++- pom.xml | 1 + 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lz4.yml b/.github/workflows/lz4.yml index 76806668c12..e4dfc75cb4f 100644 --- a/.github/workflows/lz4.yml +++ b/.github/workflows/lz4.yml @@ -31,6 +31,10 @@ jobs: runs-on: macos-11 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions + macosx-arm64: + runs-on: macos-11 + steps: + - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions windows-x86: runs-on: windows-2019 steps: @@ -40,7 +44,7 @@ jobs: steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-windows@actions redeploy: - needs: [linux-x86, linux-x86_64, macosx-x86_64, windows-x86, windows-x86_64] + needs: [linux-x86, linux-x86_64, macosx-x86_64, macosx-arm64, windows-x86, windows-x86_64] runs-on: ubuntu-20.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/redeploy@actions diff --git a/lz4/cppbuild.sh b/lz4/cppbuild.sh index 63d253945f7..edb5ddfd9a9 100755 --- a/lz4/cppbuild.sh +++ b/lz4/cppbuild.sh @@ -31,6 +31,12 @@ case $PLATFORM in # fix library with correct rpath install_name_tool -add_rpath @loader_path/. -id @rpath/liblz4.1.dylib ../lib/liblz4.1.dylib ;; + macosx-arm64) + make -j $MAKEJ + PREFIX=$INSTALL_PATH make install + # fix library with correct rpath + install_name_tool -add_rpath @loader_path/. -id @rpath/liblz4.1.dylib ../lib/liblz4.1.dylib + ;; windows-x86) cd build/cmake export CC="cl.exe" diff --git a/lz4/platform/pom.xml b/lz4/platform/pom.xml index 5fe98b263f6..107107ec9b7 100644 --- a/lz4/platform/pom.xml +++ b/lz4/platform/pom.xml @@ -48,6 +48,12 @@ ${project.version} ${javacpp.platform.macosx-x86_64} + + ${project.groupId} + ${javacpp.moduleId} + ${project.version} + ${javacpp.platform.macosx-arm64} + ${project.groupId} ${javacpp.moduleId} @@ -72,7 +78,7 @@ - ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-x86.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86.jar ${javacpp.moduleId}-windows-x86_64.jar + ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-x86.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-macosx-arm64.jar ${javacpp.moduleId}-windows-x86.jar ${javacpp.moduleId}-windows-x86_64.jar @@ -120,6 +126,7 @@ requires static org.bytedeco.${javacpp.moduleId}.linux.x86; requires static org.bytedeco.${javacpp.moduleId}.linux.x86_64; requires static org.bytedeco.${javacpp.moduleId}.macosx.x86_64; + requires static org.bytedeco.${javacpp.moduleId}.macosx.arm64; requires static org.bytedeco.${javacpp.moduleId}.windows.x86; requires static org.bytedeco.${javacpp.moduleId}.windows.x86_64; } diff --git a/pom.xml b/pom.xml index df007b07545..c9d9bb7a304 100644 --- a/pom.xml +++ b/pom.xml @@ -1453,6 +1453,7 @@ libffi libpostal leptonica + lz4 tesseract From 7ef5bf35e050d9177fd001faf8b195c3f22431ac Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Mon, 10 Oct 2022 13:45:42 +0200 Subject: [PATCH 2/4] Reordered macosx-arm64 before macosx-x86_64 --- lz4/cppbuild.sh | 8 ++++---- lz4/platform/pom.xml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lz4/cppbuild.sh b/lz4/cppbuild.sh index edb5ddfd9a9..007743c7ecf 100755 --- a/lz4/cppbuild.sh +++ b/lz4/cppbuild.sh @@ -25,16 +25,16 @@ case $PLATFORM in CC="gcc -m64 -fPIC" make -j $MAKEJ PREFIX=$INSTALL_PATH make install ;; - macosx-x86_64) + macosx-arm64) make -j $MAKEJ PREFIX=$INSTALL_PATH make install - # fix library with correct rpath + # fix library with correct rpath install_name_tool -add_rpath @loader_path/. -id @rpath/liblz4.1.dylib ../lib/liblz4.1.dylib ;; - macosx-arm64) + macosx-x86_64) make -j $MAKEJ PREFIX=$INSTALL_PATH make install - # fix library with correct rpath + # fix library with correct rpath install_name_tool -add_rpath @loader_path/. -id @rpath/liblz4.1.dylib ../lib/liblz4.1.dylib ;; windows-x86) diff --git a/lz4/platform/pom.xml b/lz4/platform/pom.xml index 107107ec9b7..4b0f2abed28 100644 --- a/lz4/platform/pom.xml +++ b/lz4/platform/pom.xml @@ -46,13 +46,13 @@ ${project.groupId} ${javacpp.moduleId} ${project.version} - ${javacpp.platform.macosx-x86_64} + ${javacpp.platform.macosx-arm64} ${project.groupId} ${javacpp.moduleId} ${project.version} - ${javacpp.platform.macosx-arm64} + ${javacpp.platform.macosx-x86_64} ${project.groupId} @@ -78,7 +78,7 @@ - ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-x86.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-macosx-arm64.jar ${javacpp.moduleId}-windows-x86.jar ${javacpp.moduleId}-windows-x86_64.jar + ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-x86.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-macosx-arm64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86.jar ${javacpp.moduleId}-windows-x86_64.jar @@ -125,8 +125,8 @@ module org.bytedeco.${javacpp.moduleId}.platform { requires static org.bytedeco.${javacpp.moduleId}.linux.x86; requires static org.bytedeco.${javacpp.moduleId}.linux.x86_64; - requires static org.bytedeco.${javacpp.moduleId}.macosx.x86_64; requires static org.bytedeco.${javacpp.moduleId}.macosx.arm64; + requires static org.bytedeco.${javacpp.moduleId}.macosx.x86_64; requires static org.bytedeco.${javacpp.moduleId}.windows.x86; requires static org.bytedeco.${javacpp.moduleId}.windows.x86_64; } From c156a4fd522ba11635d8a12f6395d242c26e2b83 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Mon, 10 Oct 2022 15:11:17 +0200 Subject: [PATCH 3/4] Enable cross-compilation for arm64 --- lz4/cppbuild.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lz4/cppbuild.sh b/lz4/cppbuild.sh index 007743c7ecf..13ec76d39b9 100755 --- a/lz4/cppbuild.sh +++ b/lz4/cppbuild.sh @@ -26,6 +26,8 @@ case $PLATFORM in PREFIX=$INSTALL_PATH make install ;; macosx-arm64) + export CC="clang -arch arm64" + export CXX="clang++ -arch arm64" make -j $MAKEJ PREFIX=$INSTALL_PATH make install # fix library with correct rpath From dd41bcb2cee97644a5c9dc2663a212d4822abcf0 Mon Sep 17 00:00:00 2001 From: Samuel Audet Date: Tue, 11 Oct 2022 22:21:10 +0900 Subject: [PATCH 4/4] Update CHANGELOG.md and fix formatting --- .github/workflows/lz4.yml | 6 +++--- CHANGELOG.md | 2 +- pom.xml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/lz4.yml b/.github/workflows/lz4.yml index e4dfc75cb4f..440062aa476 100644 --- a/.github/workflows/lz4.yml +++ b/.github/workflows/lz4.yml @@ -27,11 +27,11 @@ jobs: container: centos:7 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-centos@actions - macosx-x86_64: + macosx-arm64: runs-on: macos-11 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions - macosx-arm64: + macosx-x86_64: runs-on: macos-11 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions @@ -44,7 +44,7 @@ jobs: steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-windows@actions redeploy: - needs: [linux-x86, linux-x86_64, macosx-x86_64, macosx-arm64, windows-x86, windows-x86_64] + needs: [linux-x86, linux-x86_64, macosx-arm64, macosx-x86_64, windows-x86, windows-x86_64] runs-on: ubuntu-20.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/redeploy@actions diff --git a/CHANGELOG.md b/CHANGELOG.md index f2a5cbef02b..5f1f316326e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ * Include missing `opencv2/mcc/ccm.hpp` header file in presets for OpenCV ([discussion bytedeco/javacpp#568](https://github.com/bytedeco/javacpp/discussions/568)) * Fix a few incorrectly mapped instances of `std::unordered_map` for PyTorch ([issue #1164](https://github.com/bytedeco/javacpp-presets/issues/1164)) * Migrate builds for Leptonica and Tesseract to CMake ([issue #1163](https://github.com/bytedeco/javacpp-presets/issues/1163)) - * Introduce `macosx-arm64` builds for libffi ([issue #1182](https://github.com/bytedeco/javacpp-presets/issues/1182)), Leptonica, and Tesseract ([issue #814](https://github.com/bytedeco/javacpp-presets/issues/814)) + * Introduce `macosx-arm64` builds for lz4 ([pull #1243](https://github.com/bytedeco/javacpp-presets/pull/1243)), libffi ([issue #1182](https://github.com/bytedeco/javacpp-presets/issues/1182)), Leptonica, and Tesseract ([issue #814](https://github.com/bytedeco/javacpp-presets/issues/814)) * Map instances of `torch::OrderedDict` using C++ templates from PyTorch ([issue #623](https://github.com/bytedeco/javacpp-presets/issues/623)) * Add presets for Bullet Physics SDK 3.24 ([pull #1153](https://github.com/bytedeco/javacpp-presets/pull/1153)) * Add `long[] pytorch.Tensor.shape()` method for convenience ([pull #1161](https://github.com/bytedeco/javacpp-presets/pull/1161)) diff --git a/pom.xml b/pom.xml index c9d9bb7a304..d5b686e7067 100644 --- a/pom.xml +++ b/pom.xml @@ -1448,12 +1448,12 @@ opencv ffmpeg + lz4 openblas llvm libffi libpostal leptonica - lz4 tesseract