From 3a665a69f6a3ad91afad9fd67dda99f714255259 Mon Sep 17 00:00:00 2001 From: Christian Banse Date: Sat, 16 Oct 2021 15:23:21 +0200 Subject: [PATCH 01/11] Building LLVM on mac-arm64 --- .github/workflows/llvm.yml | 4 ++++ llvm/platform/pom.xml | 9 +++++++- pom.xml | 45 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 1 deletion(-) diff --git a/.github/workflows/llvm.yml b/.github/workflows/llvm.yml index f27f231343a..3c229dced98 100644 --- a/.github/workflows/llvm.yml +++ b/.github/workflows/llvm.yml @@ -45,6 +45,10 @@ jobs: runs-on: macos-10.15 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions + macosx-arm64: + runs-on: macos-10.15 + steps: + - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions windows-x86: runs-on: windows-2019 env: diff --git a/llvm/platform/pom.xml b/llvm/platform/pom.xml index d0d2d658d14..730cd2aecca 100644 --- a/llvm/platform/pom.xml +++ b/llvm/platform/pom.xml @@ -66,6 +66,12 @@ ${project.version} ${javacpp.platform.macosx-x86_64} + + ${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-x86_64.jar ${javacpp.moduleId}-macosx-arm64.jar ${javacpp.moduleId}-windows-x86.jar ${javacpp.moduleId}-windows-x86_64.jar @@ -141,6 +147,7 @@ requires static org.bytedeco.${javacpp.moduleId}.linux.arm64; requires static org.bytedeco.${javacpp.moduleId}.linux.ppc64le; 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 8577272a06f..49738640ce9 100644 --- a/pom.xml +++ b/pom.xml @@ -1396,6 +1396,7 @@ ${javacpp.platform}${javacpp.platform.extension} + @@ -1481,6 +1482,38 @@ + + javacpp-platform-macosx-arm64 + + + javacpp.platform + macosx-arm64 + + + + llvm + + + + + + + + + + + + + + + + + ${javacpp.platform}${javacpp.platform.extension} + + + + + javacpp-platform-windows-x86 @@ -1792,6 +1825,18 @@ + + javacpp.platform.macosx-arm64-true + + + javacpp.platform.macosx-arm64 + + + + macosx-arm64${javacpp.platform.extension} + + + javacpp.platform.windows-x86-true From d5c9c6a8ca1d47445531cd9c9bf28b148bae0877 Mon Sep 17 00:00:00 2001 From: Christian Banse Date: Sat, 16 Oct 2021 15:31:57 +0200 Subject: [PATCH 02/11] Fixed CI --- .github/workflows/llvm.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/llvm.yml b/.github/workflows/llvm.yml index 3c229dced98..7286c42a992 100644 --- a/.github/workflows/llvm.yml +++ b/.github/workflows/llvm.yml @@ -46,7 +46,7 @@ jobs: steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions macosx-arm64: - runs-on: macos-10.15 + runs-on: macos-11 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions windows-x86: @@ -62,7 +62,7 @@ jobs: steps: - 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-armhf, linux-arm64, linux-ppc64le, linux-x86, linux-x86_64, macosx-x86_64, macosx-arm64, windows-x86, windows-x86_64] runs-on: ubuntu-18.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/redeploy@actions From d75c8e91bcba634330ce08268b156814c2561aa4 Mon Sep 17 00:00:00 2001 From: Christian Banse Date: Sun, 17 Oct 2021 20:17:39 +0200 Subject: [PATCH 03/11] Added missing --- pom.xml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/pom.xml b/pom.xml index 49738640ce9..49237111b19 100644 --- a/pom.xml +++ b/pom.xml @@ -81,6 +81,7 @@ linux-x86${javacpp.platform.extension} linux-x86_64${javacpp.platform.extension} macosx-x86_64${javacpp.platform.extension} + macosx-arm64${javacpp.platform.extension} windows-x86${javacpp.platform.extension} windows-x86_64${javacpp.platform.extension} @@ -658,6 +659,7 @@ ${javacpp.platform}${javacpp.platform.extension} ${javacpp.platform}${javacpp.platform.extension} ${javacpp.platform}${javacpp.platform.extension} + ${os.name}-${os.arch}${javacpp.platform.extension} ${javacpp.platform}${javacpp.platform.extension} ${javacpp.platform}${javacpp.platform.extension} @@ -686,6 +688,7 @@ ${os.name}-${os.arch}${javacpp.platform.extension} ${os.name}-${os.arch}${javacpp.platform.extension} ${os.name}-${os.arch}${javacpp.platform.extension} + ${os.name}-${os.arch}${javacpp.platform.extension} ${os.name}-${os.arch}${javacpp.platform.extension} ${os.name}-${os.arch}${javacpp.platform.extension} @@ -714,6 +717,7 @@ + @@ -742,6 +746,7 @@ + @@ -791,6 +796,7 @@ + @@ -839,6 +845,7 @@ + @@ -887,6 +894,7 @@ + @@ -935,6 +943,7 @@ + @@ -968,6 +977,7 @@ + @@ -1001,6 +1011,7 @@ + @@ -1034,6 +1045,7 @@ + @@ -1067,6 +1079,7 @@ + @@ -1125,6 +1138,7 @@ + @@ -1190,6 +1204,7 @@ + @@ -1246,6 +1261,7 @@ + @@ -1312,6 +1328,7 @@ ${javacpp.platform}${javacpp.platform.extension} + @@ -1477,6 +1494,7 @@ ${javacpp.platform}${javacpp.platform.extension} + @@ -1571,6 +1589,7 @@ + ${javacpp.platform}${javacpp.platform.extension} @@ -1650,6 +1669,7 @@ + ${javacpp.platform}${javacpp.platform.extension} From 02e68ec1dd93218a87085d344799811e5f966ee4 Mon Sep 17 00:00:00 2001 From: Christian Banse Date: Sun, 17 Oct 2021 21:01:37 +0200 Subject: [PATCH 04/11] Correctly cross-compiling now --- cppbuild.sh | 2 +- llvm/cppbuild.sh | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/cppbuild.sh b/cppbuild.sh index 895065044d8..a6c2c6ff4d7 100755 --- a/cppbuild.sh +++ b/cppbuild.sh @@ -84,7 +84,7 @@ echo if [[ -z ${OPERATION:-} ]]; then echo "Usage: ANDROID_NDK=/path/to/android-ndk/ bash cppbuild.sh [-platform ] [-extension ] [projects]" - echo "where possible platform names are: android-arm, android-x86, linux-x86, linux-x86_64, macosx-x86_64, windows-x86, windows-x86_64, etc." + echo "where possible platform names are: android-arm, android-x86, linux-x86, linux-x86_64, macosx-x86_64, macosx-arm64, windows-x86, windows-x86_64, etc." exit 1 fi diff --git a/llvm/cppbuild.sh b/llvm/cppbuild.sh index 84350ad8d86..a6f8b33d367 100755 --- a/llvm/cppbuild.sh +++ b/llvm/cppbuild.sh @@ -87,8 +87,14 @@ case $PLATFORM in make -C $LLVM_BUILD install > /dev/null cp $INSTALL_PATH/lib/LLVMPolly.so $INSTALL_PATH/lib/libLLVMPolly.so ;; - macosx-*) - $CMAKE -S ../llvm -B $LLVM_BUILD -DLLVM_CCACHE_BUILD=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,@loader_path/' -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS="$PROJECTS" + macosx-x86_64) + $CMAKE -S ../llvm -B $LLVM_BUILD -DLLVM_CCACHE_BUILD=ON -DCMAKE_CXX_FLAGS='-arch x86_64' -DCMAKE_C_FLAGS='-arch x86_64' -DCMAKE_EXE_LINKER_FLAGS='-arch x86_64 -Wl,-rpath,@loader_path/' -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS="$PROJECTS" + make -C $LLVM_BUILD -j $MAKEJ + make -C $LLVM_BUILD install > /dev/null + cp $INSTALL_PATH/lib/LLVMPolly.so $INSTALL_PATH/lib/libLLVMPolly.so + ;; + macosx-arm64) + $CMAKE -S ../llvm -B $LLVM_BUILD -DLLVM_CCACHE_BUILD=ON -DCMAKE_CXX_FLAGS='-arch arm64' -DCMAKE_C_FLAGS='-arch arm64' -DCMAKE_EXE_LINKER_FLAGS='-arch arm64 -Wl,-rpath,@loader_path/' -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS="$PROJECTS" make -C $LLVM_BUILD -j $MAKEJ make -C $LLVM_BUILD install > /dev/null cp $INSTALL_PATH/lib/LLVMPolly.so $INSTALL_PATH/lib/libLLVMPolly.so From e8c1c4b183089ff046d24cabc57b783eb60f63b7 Mon Sep 17 00:00:00 2001 From: Christian Banse Date: Sun, 17 Oct 2021 21:04:41 +0200 Subject: [PATCH 05/11] Correctly detecting macosx-arm64 in cppbuild.sh --- cppbuild.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cppbuild.sh b/cppbuild.sh index a6c2c6ff4d7..57dc9396b90 100755 --- a/cppbuild.sh +++ b/cppbuild.sh @@ -30,6 +30,9 @@ case $KERNEL in ;; esac case $ARCH in + arm64) + ARCH=arm64 + ;; arm*) ARCH=arm ;; From 4464016451ba1549489e908d13023b062f18c93a Mon Sep 17 00:00:00 2001 From: Christian Banse Date: Mon, 18 Oct 2021 21:29:51 +0200 Subject: [PATCH 06/11] Added cross-compiled tblgen for arm64 --- llvm/cppbuild.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/llvm/cppbuild.sh b/llvm/cppbuild.sh index a6f8b33d367..4ebbc46b259 100755 --- a/llvm/cppbuild.sh +++ b/llvm/cppbuild.sh @@ -94,7 +94,13 @@ case $PLATFORM in cp $INSTALL_PATH/lib/LLVMPolly.so $INSTALL_PATH/lib/libLLVMPolly.so ;; macosx-arm64) - $CMAKE -S ../llvm -B $LLVM_BUILD -DLLVM_CCACHE_BUILD=ON -DCMAKE_CXX_FLAGS='-arch arm64' -DCMAKE_C_FLAGS='-arch arm64' -DCMAKE_EXE_LINKER_FLAGS='-arch arm64 -Wl,-rpath,@loader_path/' -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS="$PROJECTS" + mkdir -p ../tblgen + cd ../tblgen + $CMAKE -S ../llvm -B $TBLGEN_BUILD -DLLVM_CCACHE_BUILD=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS='-arch arm64' -DCMAKE_C_FLAGS='-arch arm64' -DLLVM_TARGET_ARCH=AArch64 -DLLVM_TARGETS_TO_BUILD=AArch64 -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS="$PROJECTS" + make -C $TBLGEN_BUILD -j $MAKEJ llvm-tblgen clang-tblgen + TBLGEN=`pwd` + cd ../build + $CMAKE -S ../llvm -B $LLVM_BUILD -DLLVM_CCACHE_BUILD=ON -DCMAKE_CXX_FLAGS='-arch arm64' -DCMAKE_C_FLAGS='-arch arm64' -DCMAKE_EXE_LINKER_FLAGS='-arch arm64 -Wl,-rpath,@loader_path/' -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH -DLLVM_TABLEGEN="$TBLGEN/bin/llvm-tblgen" -DCLANG_TABLEGEN="$TBLGEN/bin/clang-tblgen" -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS="$PROJECTS" make -C $LLVM_BUILD -j $MAKEJ make -C $LLVM_BUILD install > /dev/null cp $INSTALL_PATH/lib/LLVMPolly.so $INSTALL_PATH/lib/libLLVMPolly.so From b2890d73202481e7addfde02db700360139a1ea3 Mon Sep 17 00:00:00 2001 From: Christian Banse Date: Wed, 20 Oct 2021 16:04:02 +0200 Subject: [PATCH 07/11] Update cppbuild.sh --- llvm/cppbuild.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/cppbuild.sh b/llvm/cppbuild.sh index 4ebbc46b259..df8c4c6ffd7 100755 --- a/llvm/cppbuild.sh +++ b/llvm/cppbuild.sh @@ -96,7 +96,7 @@ case $PLATFORM in macosx-arm64) mkdir -p ../tblgen cd ../tblgen - $CMAKE -S ../llvm -B $TBLGEN_BUILD -DLLVM_CCACHE_BUILD=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS='-arch arm64' -DCMAKE_C_FLAGS='-arch arm64' -DLLVM_TARGET_ARCH=AArch64 -DLLVM_TARGETS_TO_BUILD=AArch64 -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS="$PROJECTS" + $CMAKE -S ../llvm -B $TBLGEN_BUILD -DLLVM_CCACHE_BUILD=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=AArch64 -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS="$PROJECTS" make -C $TBLGEN_BUILD -j $MAKEJ llvm-tblgen clang-tblgen TBLGEN=`pwd` cd ../build From ff27011bc424e54def3c9751cba3764b1d78cb8e Mon Sep 17 00:00:00 2001 From: Christian Banse Date: Wed, 20 Oct 2021 20:06:28 +0200 Subject: [PATCH 08/11] Adding arm64 before x86 where appropriate --- .github/workflows/llvm.yml | 8 +-- pom.xml | 122 ++++++++++++++++++------------------- 2 files changed, 65 insertions(+), 65 deletions(-) diff --git a/.github/workflows/llvm.yml b/.github/workflows/llvm.yml index 7286c42a992..896dbf6b54c 100644 --- a/.github/workflows/llvm.yml +++ b/.github/workflows/llvm.yml @@ -41,14 +41,14 @@ jobs: container: centos:7 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-centos@actions - macosx-x86_64: - runs-on: macos-10.15 - 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 + macosx-x86_64: + runs-on: macos-10.15 + steps: + - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions windows-x86: runs-on: windows-2019 env: diff --git a/pom.xml b/pom.xml index 49237111b19..2645a5c52e5 100644 --- a/pom.xml +++ b/pom.xml @@ -80,8 +80,8 @@ linux-ppc64le${javacpp.platform.extension} linux-x86${javacpp.platform.extension} linux-x86_64${javacpp.platform.extension} - macosx-x86_64${javacpp.platform.extension} macosx-arm64${javacpp.platform.extension} + macosx-x86_64${javacpp.platform.extension} windows-x86${javacpp.platform.extension} windows-x86_64${javacpp.platform.extension} @@ -658,8 +658,8 @@ ${javacpp.platform}${javacpp.platform.extension} ${javacpp.platform}${javacpp.platform.extension} ${javacpp.platform}${javacpp.platform.extension} - ${javacpp.platform}${javacpp.platform.extension} ${os.name}-${os.arch}${javacpp.platform.extension} + ${javacpp.platform}${javacpp.platform.extension} ${javacpp.platform}${javacpp.platform.extension} ${javacpp.platform}${javacpp.platform.extension} @@ -687,8 +687,8 @@ ${os.name}-${os.arch}${javacpp.platform.extension} ${os.name}-${os.arch}${javacpp.platform.extension} ${os.name}-${os.arch}${javacpp.platform.extension} - ${os.name}-${os.arch}${javacpp.platform.extension} ${os.name}-${os.arch}${javacpp.platform.extension} + ${os.name}-${os.arch}${javacpp.platform.extension} ${os.name}-${os.arch}${javacpp.platform.extension} ${os.name}-${os.arch}${javacpp.platform.extension} @@ -716,8 +716,8 @@ - + @@ -745,8 +745,8 @@ - + @@ -795,8 +795,8 @@ - + @@ -844,8 +844,8 @@ - + @@ -893,8 +893,8 @@ - + @@ -942,8 +942,8 @@ - + @@ -976,8 +976,8 @@ - + @@ -1010,8 +1010,8 @@ - + @@ -1044,8 +1044,8 @@ - + @@ -1078,8 +1078,8 @@ - + @@ -1137,8 +1137,8 @@ - + @@ -1203,8 +1203,8 @@ - + @@ -1260,8 +1260,8 @@ ${javacpp.platform}${javacpp.platform.extension} - + @@ -1327,8 +1327,8 @@ ${javacpp.platform}${javacpp.platform.extension} - + @@ -1412,8 +1412,40 @@ ${javacpp.platform}${javacpp.platform.extension} + + + + + + + + + javacpp-platform-macosx-arm64 + + + javacpp.platform + macosx-arm64 + + + + llvm + + + + + + + + + + + + + + + + ${javacpp.platform}${javacpp.platform.extension} - @@ -1493,40 +1525,8 @@ - ${javacpp.platform}${javacpp.platform.extension} - - - - - - - javacpp-platform-macosx-arm64 - - - javacpp.platform - macosx-arm64 - - - - llvm - - - - - - - - - - - - - - - - - ${javacpp.platform}${javacpp.platform.extension} + ${javacpp.platform}${javacpp.platform.extension} @@ -1588,8 +1588,8 @@ - + ${javacpp.platform}${javacpp.platform.extension} @@ -1668,8 +1668,8 @@ - + ${javacpp.platform}${javacpp.platform.extension} @@ -1834,28 +1834,28 @@ - javacpp.platform.macosx-x86_64-true + javacpp.platform.macosx-arm64-true - javacpp.platform.macosx-x86_64 + javacpp.platform.macosx-arm64 - macosx-x86_64${javacpp.platform.extension} + macosx-arm64${javacpp.platform.extension} - + - javacpp.platform.macosx-arm64-true + javacpp.platform.macosx-x86_64-true - javacpp.platform.macosx-arm64 + javacpp.platform.macosx-x86_64 - macosx-arm64${javacpp.platform.extension} + macosx-x86_64${javacpp.platform.extension} - + javacpp.platform.windows-x86-true From 1c224166e73b75d6de14cb6dbae10371e8ff3c9b Mon Sep 17 00:00:00 2001 From: Christian Banse Date: Thu, 21 Oct 2021 08:32:48 +0200 Subject: [PATCH 09/11] Putting macosx-arm64 first --- .github/workflows/llvm.yml | 2 +- cppbuild.sh | 2 +- llvm/cppbuild.sh | 12 ++++++------ llvm/platform/pom.xml | 8 ++++---- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/llvm.yml b/.github/workflows/llvm.yml index 896dbf6b54c..5772cb9a5f4 100644 --- a/.github/workflows/llvm.yml +++ b/.github/workflows/llvm.yml @@ -62,7 +62,7 @@ jobs: steps: - 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, macosx-arm64, windows-x86, windows-x86_64] + needs: [linux-armhf, linux-arm64, linux-ppc64le, linux-x86, linux-x86_64, macosx-arm64, macosx-x86_64, windows-x86, windows-x86_64] runs-on: ubuntu-18.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/redeploy@actions diff --git a/cppbuild.sh b/cppbuild.sh index 57dc9396b90..7c98b95a1aa 100755 --- a/cppbuild.sh +++ b/cppbuild.sh @@ -87,7 +87,7 @@ echo if [[ -z ${OPERATION:-} ]]; then echo "Usage: ANDROID_NDK=/path/to/android-ndk/ bash cppbuild.sh [-platform ] [-extension ] [projects]" - echo "where possible platform names are: android-arm, android-x86, linux-x86, linux-x86_64, macosx-x86_64, macosx-arm64, windows-x86, windows-x86_64, etc." + echo "where possible platform names are: android-arm, android-x86, linux-x86, linux-x86_64, macosx-arm64, macosx-x86_64, windows-x86, windows-x86_64, etc." exit 1 fi diff --git a/llvm/cppbuild.sh b/llvm/cppbuild.sh index df8c4c6ffd7..fb2ff297a1b 100755 --- a/llvm/cppbuild.sh +++ b/llvm/cppbuild.sh @@ -87,12 +87,6 @@ case $PLATFORM in make -C $LLVM_BUILD install > /dev/null cp $INSTALL_PATH/lib/LLVMPolly.so $INSTALL_PATH/lib/libLLVMPolly.so ;; - macosx-x86_64) - $CMAKE -S ../llvm -B $LLVM_BUILD -DLLVM_CCACHE_BUILD=ON -DCMAKE_CXX_FLAGS='-arch x86_64' -DCMAKE_C_FLAGS='-arch x86_64' -DCMAKE_EXE_LINKER_FLAGS='-arch x86_64 -Wl,-rpath,@loader_path/' -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS="$PROJECTS" - make -C $LLVM_BUILD -j $MAKEJ - make -C $LLVM_BUILD install > /dev/null - cp $INSTALL_PATH/lib/LLVMPolly.so $INSTALL_PATH/lib/libLLVMPolly.so - ;; macosx-arm64) mkdir -p ../tblgen cd ../tblgen @@ -105,6 +99,12 @@ case $PLATFORM in make -C $LLVM_BUILD install > /dev/null cp $INSTALL_PATH/lib/LLVMPolly.so $INSTALL_PATH/lib/libLLVMPolly.so ;; + macosx-x86_64) + $CMAKE -S ../llvm -B $LLVM_BUILD -DLLVM_CCACHE_BUILD=ON -DCMAKE_CXX_FLAGS='-arch x86_64' -DCMAKE_C_FLAGS='-arch x86_64' -DCMAKE_EXE_LINKER_FLAGS='-arch x86_64 -Wl,-rpath,@loader_path/' -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS="$PROJECTS" + make -C $LLVM_BUILD -j $MAKEJ + make -C $LLVM_BUILD install > /dev/null + cp $INSTALL_PATH/lib/LLVMPolly.so $INSTALL_PATH/lib/libLLVMPolly.so + ;; windows-x86) export INSTALL_PATH=$(cygpath -w $INSTALL_PATH) export CC="cl.exe" diff --git a/llvm/platform/pom.xml b/llvm/platform/pom.xml index 730cd2aecca..2b3dacc7e89 100644 --- a/llvm/platform/pom.xml +++ b/llvm/platform/pom.xml @@ -64,13 +64,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} @@ -96,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}-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}-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 @@ -146,8 +146,8 @@ 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.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 bfe009e41f70305c86d94febd12e5720c79f0569 Mon Sep 17 00:00:00 2001 From: Samuel Audet Date: Fri, 22 Oct 2021 22:37:31 +0900 Subject: [PATCH 10/11] Add missing profiles and update CHANGELOG.md --- .github/workflows/llvm.yml | 2 +- CHANGELOG.md | 1 + pom.xml | 43 ++++++++++++++++++++++++++++++++++++-- 3 files changed, 43 insertions(+), 3 deletions(-) diff --git a/.github/workflows/llvm.yml b/.github/workflows/llvm.yml index 5772cb9a5f4..16d773bcc66 100644 --- a/.github/workflows/llvm.yml +++ b/.github/workflows/llvm.yml @@ -42,7 +42,7 @@ jobs: steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-centos@actions macosx-arm64: - runs-on: macos-11 + runs-on: macos-10.15 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions macosx-x86_64: diff --git a/CHANGELOG.md b/CHANGELOG.md index 231775ae98e..b76596d88e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ + * Introduce `macosx-arm64` builds to presets for LLVM ([pull #1092](https://github.com/bytedeco/javacpp-presets/pull/1092)) * Add presets for the NvToolsExt (NVTX) module of CUDA ([issue #1068](https://github.com/bytedeco/javacpp-presets/issues/1068)) * Increase the amount of function pointers available for callbacks in presets for Qt ([pull #1080](https://github.com/bytedeco/javacpp-presets/pull/1080)) * Map C++ JIT classes and functions of TorchScript in presets for PyTorch ([issue #1068](https://github.com/bytedeco/javacpp-presets/issues/1068)) diff --git a/pom.xml b/pom.xml index 2645a5c52e5..91df37a2e02 100644 --- a/pom.xml +++ b/pom.xml @@ -1412,7 +1412,7 @@ ${javacpp.platform}${javacpp.platform.extension} - + @@ -1843,7 +1843,7 @@ macosx-arm64${javacpp.platform.extension} - + javacpp.platform.macosx-x86_64-true @@ -1998,6 +1998,45 @@ + + javacpp.platform.custom-macosx-aarch64 + + + javacpp.platform.host + + mac os xaarch64 + + + macosx-arm64${javacpp.platform.extension} + + + + + javacpp.platform.custom-macosx-armv8 + + + javacpp.platform.host + + mac os xarmv8 + + + macosx-arm64${javacpp.platform.extension} + + + + + javacpp.platform.custom-macosx-arm64 + + + javacpp.platform.host + + mac os xarm64 + + + macosx-arm64${javacpp.platform.extension} + + + javacpp.platform.custom-macosx-amd64 From 63e65de4d6e4b55b76bbcf167c6674e6af3c0486 Mon Sep 17 00:00:00 2001 From: Samuel Audet Date: Fri, 22 Oct 2021 23:13:38 +0900 Subject: [PATCH 11/11] Try to set the triples properly --- llvm/cppbuild.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/llvm/cppbuild.sh b/llvm/cppbuild.sh index fb2ff297a1b..d0fc6b43f4d 100755 --- a/llvm/cppbuild.sh +++ b/llvm/cppbuild.sh @@ -90,11 +90,11 @@ case $PLATFORM in macosx-arm64) mkdir -p ../tblgen cd ../tblgen - $CMAKE -S ../llvm -B $TBLGEN_BUILD -DLLVM_CCACHE_BUILD=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=AArch64 -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS="$PROJECTS" + $CMAKE -S ../llvm -B $TBLGEN_BUILD -DLLVM_CCACHE_BUILD=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_HOST_TRIPLE=arm64-apple-darwin20.6.0 -DLLVM_DEFAULT_TARGET_TRIPLE=arm64-apple-darwin20.6.0 -DLLVM_TARGET_ARCH=AArch64 -DLLVM_TARGETS_TO_BUILD=AArch64 -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS="$PROJECTS" make -C $TBLGEN_BUILD -j $MAKEJ llvm-tblgen clang-tblgen TBLGEN=`pwd` cd ../build - $CMAKE -S ../llvm -B $LLVM_BUILD -DLLVM_CCACHE_BUILD=ON -DCMAKE_CXX_FLAGS='-arch arm64' -DCMAKE_C_FLAGS='-arch arm64' -DCMAKE_EXE_LINKER_FLAGS='-arch arm64 -Wl,-rpath,@loader_path/' -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH -DLLVM_TABLEGEN="$TBLGEN/bin/llvm-tblgen" -DCLANG_TABLEGEN="$TBLGEN/bin/clang-tblgen" -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS="$PROJECTS" + $CMAKE -S ../llvm -B $LLVM_BUILD -DLLVM_CCACHE_BUILD=ON -DCMAKE_CROSSCOMPILING=True -DCMAKE_CXX_FLAGS='-arch arm64' -DCMAKE_C_FLAGS='-arch arm64' -DCMAKE_EXE_LINKER_FLAGS='-arch arm64 -Wl,-rpath,@loader_path/' -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH -DLLVM_TABLEGEN="$TBLGEN/bin/llvm-tblgen" -DCLANG_TABLEGEN="$TBLGEN/bin/clang-tblgen" -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_HOST_TRIPLE=arm64-apple-darwin20.6.0 -DLLVM_DEFAULT_TARGET_TRIPLE=arm64-apple-darwin20.6.0 -DLLVM_TARGET_ARCH=AArch64 -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS="$PROJECTS" make -C $LLVM_BUILD -j $MAKEJ make -C $LLVM_BUILD install > /dev/null cp $INSTALL_PATH/lib/LLVMPolly.so $INSTALL_PATH/lib/libLLVMPolly.so