diff --git a/.github/workflows/libpostal.yml b/.github/workflows/libpostal.yml index 006e8ccfe62..8ea9aab4fdc 100644 --- a/.github/workflows/libpostal.yml +++ b/.github/workflows/libpostal.yml @@ -20,6 +20,11 @@ jobs: container: centos:7 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-centos@actions + linux-arm64: + runs-on: ubuntu-18.04 + container: ubuntu:bionic + steps: + - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions macosx-x86_64: runs-on: macos-10.15 steps: @@ -29,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, linux-arm64, macosx-x86_64, windows-x86_64] runs-on: ubuntu-18.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/redeploy@actions diff --git a/.travis.yml b/.travis.yml index e9f14fbb641..41ae55a5629 100644 --- a/.travis.yml +++ b/.travis.yml @@ -66,6 +66,10 @@ jobs: env: PROJ=fftw,gsl OS=android-arm64 install: true script: ./ci/install-travis.sh + - os: linux + env: PROJ=libpostal OS=linux-arm64 + install: true + script: ./ci/install-arm.sh - os: linux env: PROJ=leptonica,tesseract OS=android-arm64 install: true diff --git a/CHANGELOG.md b/CHANGELOG.md index 025142f9876..63d41ebb01c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ + * Introduce `linux-arm64` to presets for libpostal * Add presets for the nvJPEG module of CUDA ([issue #1193](https://github.com/bytedeco/javacpp-presets/issues/1193)) * Introduce Android builds for TensorFlow Lite ([discussion #1180](https://github.com/bytedeco/javacpp-presets/discussions/1180)) * Map `std::vector >` for `CCheckerDetector.getListColorChecker()` ([issue bytedeco/javacpp#571](https://github.com/bytedeco/javacpp/issues/571)) diff --git a/README.md b/README.md index 21ce9fdda70..f366cfc7620 100644 --- a/README.md +++ b/README.md @@ -263,7 +263,25 @@ With the above in working order, the scripts get launched automatically as part ```bash $ ANDROID_NDK=/path/to/android-ndk/ bash cppbuild.sh [-platform ] [-extension ] [projects] ``` -where possible platform names are: `android-arm`, `android-x86`, `linux-x86`, `linux-x86_64`, `linux-armhf`, `linux-ppc64le`, `linux-mips64el`, `macosx-x86_64`, `windows-x86`, `windows-x86_64`, etc. The `-gpu` extension as supported by some builds also require CUDA to be installed. (The `ANDROID_NDK` variable is required only for Android builds.) Please note that the scripts download source archives from appropriate sites as necessary. +where possible platform names are: + +* `android-arm` +* `android-arm64` +* `android-x86` +* `android-x86_64` +* `ios-arm64` +* `ios-x86_64` +* `linux-arm64` +* `linux-armhf` +* `linux-ppc64le` +* `linux-x86` +* `linux-x86_64` +* `macosx-arm64` +* `macosx-x86_64` +* `windows-x86` +* `windows-x86_64` + +The `-gpu` extension as supported by some builds also require CUDA to be installed. (The `ANDROID_NDK` variable is required only for Android builds.) Please note that the scripts download source archives from appropriate sites as necessary. To compile binaries for an Android device with no FPU, first make sure this is what you want. Without FPU, the performance of either OpenCV or FFmpeg is bound to be unacceptable. If you still wish to continue down that road, then replace "armeabi-v7a" by "armeabi" and "-march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16" with "-march=armv5te -mtune=xscale -msoft-float", inside various files. diff --git a/libpostal/cppbuild.sh b/libpostal/cppbuild.sh index c824ab6ee20..cb80bc6d9a6 100755 --- a/libpostal/cppbuild.sh +++ b/libpostal/cppbuild.sh @@ -33,6 +33,13 @@ case $PLATFORM in make -j $MAKEJ V=0 make install ;; + linux-arm64) + ./bootstrap.sh + ./configure --prefix=$INSTALL_PATH --disable-data-download --disable-sse2 + #./configure --prefix=$INSTALL_PATH --datadir=[...some dir with a few GB of space...] + make -j $MAKEJ V=0 + make install + ;; macosx-*) ./bootstrap.sh sed -i="" 's/-install_name \\$rpath/-install_name @rpath/g' configure diff --git a/libpostal/platform/pom.xml b/libpostal/platform/pom.xml index de693d95f5b..ee3c4345ee0 100644 --- a/libpostal/platform/pom.xml +++ b/libpostal/platform/pom.xml @@ -36,6 +36,12 @@ ${project.version} ${javacpp.platform.linux-x86_64} + + ${project.groupId} + ${javacpp.moduleId} + ${project.version} + ${javacpp.platform.linux-arm64} + ${project.groupId} ${javacpp.moduleId} diff --git a/libpostal/src/main/java/org/bytedeco/libpostal/presets/postal.java b/libpostal/src/main/java/org/bytedeco/libpostal/presets/postal.java index 593187b0682..6552bfe2b0e 100644 --- a/libpostal/src/main/java/org/bytedeco/libpostal/presets/postal.java +++ b/libpostal/src/main/java/org/bytedeco/libpostal/presets/postal.java @@ -37,7 +37,7 @@ inherit = javacpp.class, value = { @Platform( - value = {"linux-x86_64", "macosx-x86_64", "windows-x86_64"}, + value = {"linux-x86_64", "linux-arm64" "macosx-x86_64", "windows-x86_64"}, cinclude = "libpostal/libpostal.h", link = "postal@.1", preload = "libpostal-1" diff --git a/pom.xml b/pom.xml index 94277452907..60cdafc7d51 100644 --- a/pom.xml +++ b/pom.xml @@ -1190,6 +1190,7 @@ llvm libffi leptonica + libpostal tesseract cuda nvcodec