From db3859e94f427b329525a5f57f3908d708614437 Mon Sep 17 00:00:00 2001 From: Samuel Audet Date: Thu, 21 Nov 2024 22:02:46 +0900 Subject: [PATCH] * Introduce `macosx-arm64` builds for ARPACK-NG, CMINPACK, FFTW, GSL, TensorFlow Lite, ONNX, ONNX Runtime --- .github/workflows/arpack-ng.yml | 6 +++++- .github/workflows/cminpack.yml | 6 +++++- .github/workflows/fftw.yml | 6 +++++- .github/workflows/gsl.yml | 6 +++++- .github/workflows/onnx.yml | 6 +++++- .github/workflows/onnxruntime.yml | 6 +++++- .github/workflows/tensorflow-lite.yml | 6 +++++- CHANGELOG.md | 2 ++ arpack-ng/platform/pom.xml | 9 ++++++++- cminpack/platform/pom.xml | 9 ++++++++- fftw/platform/pom.xml | 9 ++++++++- gsl/platform/pom.xml | 9 ++++++++- onnx/platform/pom.xml | 9 ++++++++- onnxruntime/cppbuild.sh | 3 +++ onnxruntime/platform/pom.xml | 9 ++++++++- pom.xml | 7 +++++++ tensorflow-lite/platform/pom.xml | 9 ++++++++- 17 files changed, 103 insertions(+), 14 deletions(-) diff --git a/.github/workflows/arpack-ng.yml b/.github/workflows/arpack-ng.yml index 010c5010a5..1d9c244355 100644 --- a/.github/workflows/arpack-ng.yml +++ b/.github/workflows/arpack-ng.yml @@ -38,6 +38,10 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions + macosx-arm64: + runs-on: macos-14 + steps: + - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions macosx-x86_64: runs-on: macos-13 steps: @@ -52,7 +56,7 @@ jobs: - uses: bytedeco/javacpp-presets/.github/actions/deploy-windows@actions redeploy: # needs: [linux-armhf, linux-arm64, linux-ppc64le, linux-x86, linux-x86_64, macosx-x86_64, windows-x86, windows-x86_64] - needs: [linux-arm64, linux-x86_64, macosx-x86_64, windows-x86_64] + needs: [linux-arm64, linux-x86_64, macosx-arm64, macosx-x86_64, windows-x86_64] runs-on: ubuntu-22.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/redeploy@actions diff --git a/.github/workflows/cminpack.yml b/.github/workflows/cminpack.yml index 478856be30..ebdc1c48d9 100644 --- a/.github/workflows/cminpack.yml +++ b/.github/workflows/cminpack.yml @@ -38,6 +38,10 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions + macosx-arm64: + runs-on: macos-14 + steps: + - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions macosx-x86_64: runs-on: macos-13 steps: @@ -52,7 +56,7 @@ jobs: - uses: bytedeco/javacpp-presets/.github/actions/deploy-windows@actions redeploy: # needs: [linux-armhf, linux-arm64, linux-ppc64le, linux-x86, linux-x86_64, macosx-x86_64, windows-x86, windows-x86_64] - needs: [linux-arm64, linux-x86_64, macosx-x86_64, windows-x86_64] + needs: [linux-arm64, linux-x86_64, macosx-arm64, macosx-x86_64, windows-x86_64] runs-on: ubuntu-22.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/redeploy@actions diff --git a/.github/workflows/fftw.yml b/.github/workflows/fftw.yml index 90a6b844cc..7c926a56b7 100644 --- a/.github/workflows/fftw.yml +++ b/.github/workflows/fftw.yml @@ -54,6 +54,10 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions + macosx-arm64: + runs-on: macos-14 + steps: + - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions macosx-x86_64: runs-on: macos-13 steps: @@ -68,7 +72,7 @@ jobs: - uses: bytedeco/javacpp-presets/.github/actions/deploy-windows@actions redeploy: # needs: [android-arm, android-arm64, android-x86, android-x86_64, linux-armhf, linux-arm64, linux-ppc64le, linux-x86, linux-x86_64, macosx-x86_64, windows-x86, windows-x86_64] - needs: [android-arm64, android-x86_64, linux-arm64, linux-x86_64, macosx-x86_64, windows-x86_64] + needs: [android-arm64, android-x86_64, linux-arm64, linux-x86_64, macosx-arm64, macosx-x86_64, windows-x86_64] runs-on: ubuntu-22.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/redeploy@actions diff --git a/.github/workflows/gsl.yml b/.github/workflows/gsl.yml index 57f6c92f18..94c7c3a81b 100644 --- a/.github/workflows/gsl.yml +++ b/.github/workflows/gsl.yml @@ -54,6 +54,10 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions + macosx-arm64: + runs-on: macos-14 + steps: + - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions macosx-x86_64: runs-on: macos-13 steps: @@ -68,7 +72,7 @@ jobs: - uses: bytedeco/javacpp-presets/.github/actions/deploy-windows@actions redeploy: # needs: [android-arm, android-arm64, android-x86, android-x86_64, linux-armhf, linux-arm64, linux-ppc64le, linux-x86, linux-x86_64, macosx-x86_64, windows-x86, windows-x86_64] - needs: [android-arm64, android-x86_64, linux-arm64, linux-x86_64, macosx-x86_64, windows-x86_64] + needs: [android-arm64, android-x86_64, linux-arm64, linux-x86_64, macosx-arm64, macosx-x86_64, windows-x86_64] runs-on: ubuntu-22.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/redeploy@actions diff --git a/.github/workflows/onnx.yml b/.github/workflows/onnx.yml index 202ed108da..a60e0e8e88 100644 --- a/.github/workflows/onnx.yml +++ b/.github/workflows/onnx.yml @@ -21,6 +21,10 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions + macosx-arm64: + runs-on: macos-14 + steps: + - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions macosx-x86_64: runs-on: macos-13 steps: @@ -30,7 +34,7 @@ jobs: steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-windows@actions redeploy: - needs: [linux-x86_64, macosx-x86_64, windows-x86_64] + needs: [linux-x86_64, macosx-arm64, macosx-x86_64, windows-x86_64] runs-on: ubuntu-22.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/redeploy@actions diff --git a/.github/workflows/onnxruntime.yml b/.github/workflows/onnxruntime.yml index 99f6f3469e..992b1bbbb2 100644 --- a/.github/workflows/onnxruntime.yml +++ b/.github/workflows/onnxruntime.yml @@ -29,6 +29,10 @@ jobs: ext: ["", -gpu] steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions + macosx-arm64: + runs-on: macos-14 + steps: + - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions macosx-x86_64: runs-on: macos-13 # strategy: @@ -44,7 +48,7 @@ jobs: steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-windows@actions redeploy: - needs: [linux-arm64, linux-x86_64, macosx-x86_64, windows-x86_64] + needs: [linux-arm64, linux-x86_64, macosx-arm64, macosx-x86_64, windows-x86_64] runs-on: ubuntu-22.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/redeploy@actions diff --git a/.github/workflows/tensorflow-lite.yml b/.github/workflows/tensorflow-lite.yml index 8b0da3810f..5b2adfcb6a 100644 --- a/.github/workflows/tensorflow-lite.yml +++ b/.github/workflows/tensorflow-lite.yml @@ -49,6 +49,10 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions + macosx-arm64: + runs-on: macos-14 + steps: + - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions macosx-x86_64: runs-on: macos-13 steps: @@ -59,7 +63,7 @@ jobs: - uses: bytedeco/javacpp-presets/.github/actions/deploy-windows@actions redeploy: # needs: [android-arm, android-arm64, android-x86, android-x86_64, linux-armhf, linux-arm64, linux-x86, linux-x86_64, macosx-x86_64, windows-x86_64] - needs: [android-arm64, android-x86_64, linux-arm64, linux-x86_64, macosx-x86_64, windows-x86_64] + needs: [android-arm64, android-x86_64, linux-arm64, linux-x86_64, macosx-arm64, macosx-x86_64, windows-x86_64] runs-on: ubuntu-22.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/redeploy@actions diff --git a/CHANGELOG.md b/CHANGELOG.md index afb1b30f9c..6de0c76951 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,6 @@ + * Introduce `macosx-arm64` builds for ARPACK-NG, CMINPACK, FFTW, GSL, TensorFlow Lite, ONNX, ONNX Runtime ([issue #1069](https://github.com/bytedeco/javacpp-presets/issues/1069)) + ### November 16, 2024 version 1.5.11 * Enable distributed package using Gloo in presets for PyTorch ([pull #1510](https://github.com/bytedeco/javacpp-presets/pull/1510)) * Add presets for the CUPTI module of CUDA ([pull #1531](https://github.com/bytedeco/javacpp-presets/pull/1531)) diff --git a/arpack-ng/platform/pom.xml b/arpack-ng/platform/pom.xml index 27a8d8d3b9..8ffcccf09c 100644 --- a/arpack-ng/platform/pom.xml +++ b/arpack-ng/platform/pom.xml @@ -61,6 +61,12 @@ + + ${project.groupId} + ${javacpp.moduleId} + ${project.version} + ${javacpp.platform.macosx-arm64} + ${project.groupId} ${javacpp.moduleId} @@ -91,7 +97,7 @@ - ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-x86.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-linux-armhf.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-ppc64le.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}-linux-armhf.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-ppc64le.jar ${javacpp.moduleId}-macosx-arm64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86.jar ${javacpp.moduleId}-windows-x86_64.jar @@ -141,6 +147,7 @@ // requires static org.bytedeco.${javacpp.packageName}.linux.armhf; requires static org.bytedeco.${javacpp.packageName}.linux.arm64; // requires static org.bytedeco.${javacpp.packageName}.linux.ppc64le; + requires static org.bytedeco.${javacpp.packageName}.macosx.arm64; requires static org.bytedeco.${javacpp.packageName}.macosx.x86_64; // requires static org.bytedeco.${javacpp.packageName}.windows.x86; requires static org.bytedeco.${javacpp.packageName}.windows.x86_64; diff --git a/cminpack/platform/pom.xml b/cminpack/platform/pom.xml index 7b9d7382f2..5f196f2067 100644 --- a/cminpack/platform/pom.xml +++ b/cminpack/platform/pom.xml @@ -60,6 +60,12 @@ + + ${project.groupId} + ${javacpp.moduleId} + ${project.version} + ${javacpp.platform.macosx-arm64} + ${project.groupId} ${javacpp.moduleId} @@ -90,7 +96,7 @@ - ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-x86.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-linux-armhf.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-ppc64le.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}-linux-armhf.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-ppc64le.jar ${javacpp.moduleId}-macosx-arm64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86.jar ${javacpp.moduleId}-windows-x86_64.jar @@ -140,6 +146,7 @@ // requires static org.bytedeco.${javacpp.moduleId}.linux.armhf; requires static org.bytedeco.${javacpp.moduleId}.linux.arm64; // requires static org.bytedeco.${javacpp.moduleId}.linux.ppc64le; + 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; diff --git a/fftw/platform/pom.xml b/fftw/platform/pom.xml index ad1dca4e57..0827dcc332 100644 --- a/fftw/platform/pom.xml +++ b/fftw/platform/pom.xml @@ -84,6 +84,12 @@ + + ${project.groupId} + ${javacpp.moduleId} + ${project.version} + ${javacpp.platform.macosx-arm64} + ${project.groupId} ${javacpp.moduleId} @@ -114,7 +120,7 @@ - ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-x86.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-linux-armhf.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-ppc64le.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}-linux-armhf.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-ppc64le.jar ${javacpp.moduleId}-macosx-arm64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86.jar ${javacpp.moduleId}-windows-x86_64.jar @@ -168,6 +174,7 @@ // requires static org.bytedeco.${javacpp.moduleId}.linux.armhf; requires static org.bytedeco.${javacpp.moduleId}.linux.arm64; // requires static org.bytedeco.${javacpp.moduleId}.linux.ppc64le; + 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; diff --git a/gsl/platform/pom.xml b/gsl/platform/pom.xml index a73d1cff89..7ad67ae88d 100644 --- a/gsl/platform/pom.xml +++ b/gsl/platform/pom.xml @@ -84,6 +84,12 @@ + + ${project.groupId} + ${javacpp.moduleId} + ${project.version} + ${javacpp.platform.macosx-arm64} + ${project.groupId} ${javacpp.moduleId} @@ -114,7 +120,7 @@ - ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-x86.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-linux-armhf.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-ppc64le.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}-linux-armhf.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-ppc64le.jar ${javacpp.moduleId}-macosx-arm64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86.jar ${javacpp.moduleId}-windows-x86_64.jar @@ -168,6 +174,7 @@ // requires static org.bytedeco.${javacpp.moduleId}.linux.armhf; requires static org.bytedeco.${javacpp.moduleId}.linux.arm64; // requires static org.bytedeco.${javacpp.moduleId}.linux.ppc64le; + 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; diff --git a/onnx/platform/pom.xml b/onnx/platform/pom.xml index 99b4bd7d36..0f6bd6faf6 100644 --- a/onnx/platform/pom.xml +++ b/onnx/platform/pom.xml @@ -42,6 +42,12 @@ ${project.version} ${javacpp.platform.linux-x86_64} + + ${project.groupId} + ${javacpp.moduleId} + ${project.version} + ${javacpp.platform.macosx-arm64} + ${project.groupId} ${javacpp.moduleId} @@ -66,7 +72,7 @@ - ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86_64.jar + ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-macosx-arm64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86_64.jar @@ -112,6 +118,7 @@ module org.bytedeco.${javacpp.moduleId}.platform { requires static org.bytedeco.${javacpp.moduleId}.linux.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_64; } diff --git a/onnxruntime/cppbuild.sh b/onnxruntime/cppbuild.sh index a68639ca9b..e563f9fdd9 100755 --- a/onnxruntime/cppbuild.sh +++ b/onnxruntime/cppbuild.sh @@ -45,6 +45,9 @@ case $PLATFORM in export ARCH_FLAGS="$ARCH_FLAGS --arm64" export DNNL_FLAGS= ;; + macosx-arm64) + export DNNL_FLAGS= + ;; windows-*) if [[ -n "${CUDA_PATH:-}" ]]; then export CUDACXX="$CUDA_PATH/bin/nvcc.exe" diff --git a/onnxruntime/platform/pom.xml b/onnxruntime/platform/pom.xml index bc059a51da..544036f574 100644 --- a/onnxruntime/platform/pom.xml +++ b/onnxruntime/platform/pom.xml @@ -42,6 +42,12 @@ ${project.version} ${javacpp.platform.linux-x86_64} + + ${project.groupId} + ${javacpp.moduleId} + ${project.version} + ${javacpp.platform.macosx-arm64} + ${project.groupId} ${javacpp.moduleId} @@ -66,7 +72,7 @@ - ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86_64.jar + ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-macosx-arm64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86_64.jar @@ -113,6 +119,7 @@ module org.bytedeco.${javacpp.moduleId}.platform { requires static org.bytedeco.${javacpp.moduleId}.linux.arm64; requires static org.bytedeco.${javacpp.moduleId}.linux.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_64; } diff --git a/pom.xml b/pom.xml index 4d92ef64a8..a103fde8d2 100644 --- a/pom.xml +++ b/pom.xml @@ -1461,6 +1461,10 @@ ffmpeg lz4 openblas + arpack-ng + cminpack + fftw + gsl cpython numpy scipy @@ -1472,6 +1476,9 @@ tesseract pytorch sentencepiece + tensorflow-lite + onnx + onnxruntime systems diff --git a/tensorflow-lite/platform/pom.xml b/tensorflow-lite/platform/pom.xml index 3b6b937af3..67a763bbe8 100644 --- a/tensorflow-lite/platform/pom.xml +++ b/tensorflow-lite/platform/pom.xml @@ -74,6 +74,12 @@ ${project.version} ${javacpp.platform.linux-x86_64} + + ${project.groupId} + ${javacpp.moduleId} + ${project.version} + ${javacpp.platform.macosx-arm64} + ${project.groupId} ${javacpp.moduleId} @@ -98,7 +104,7 @@ - ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-armhf.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-x86.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86_64.jar + ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-armhf.jar ${javacpp.moduleId}-linux-arm64.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_64.jar @@ -151,6 +157,7 @@ requires static org.bytedeco.${javacpp.packageName}.linux.arm64; // requires static org.bytedeco.${javacpp.packageName}.linux.x86; requires static org.bytedeco.${javacpp.packageName}.linux.x86_64; + requires static org.bytedeco.${javacpp.packageName}.macosx.arm64; requires static org.bytedeco.${javacpp.packageName}.macosx.x86_64; requires static org.bytedeco.${javacpp.packageName}.windows.x86_64; }