From 2205a1f2d04358e62febe1251e965f9ac26c7f69 Mon Sep 17 00:00:00 2001 From: Tobias Leininger <60990627+ICH88@users.noreply.github.com> Date: Wed, 23 Sep 2020 23:42:47 +0200 Subject: [PATCH 1/5] added support for arm64 (testing) --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 69deeaa764c..df5fcc68e3f 100644 --- a/pom.xml +++ b/pom.xml @@ -1127,6 +1127,7 @@ + librealsense2 opencv ffmpeg flycapture From d649c7256eae6b10875ca459737836c48a765b50 Mon Sep 17 00:00:00 2001 From: Tobias Leininger <60990627+ICH88@users.noreply.github.com> Date: Wed, 23 Sep 2020 23:44:34 +0200 Subject: [PATCH 2/5] added support for arm64 (testing) --- librealsense2/cppbuild.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/librealsense2/cppbuild.sh b/librealsense2/cppbuild.sh index 429a60b2f2f..27858dda35c 100755 --- a/librealsense2/cppbuild.sh +++ b/librealsense2/cppbuild.sh @@ -35,6 +35,16 @@ case $PLATFORM in make -j $MAKEJ make install/strip ;; + linux-arm64) + cd ../libusb-$LIBUSB_VERSION + CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ CFLAGS="-march=armv8-a -mcpu=cortex-a57" CXXFLAGS="-march=armv8-a -mcpu=cortex-a57" CPPFLAGS="-march=armv8-a -mcpu=cortex-a57" ./configure --prefix=$INSTALL_PATH --disable-shared --with-pic --host=aarch64-linux-gnu --disable-udev + make -j $MAKEJ + make install + cd ../librealsense-$LIBREALSENSE2_VERSION + CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ "$CMAKE" -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH" -DLIBUSB_INC=$INSTALL_PATH/include/libusb-1.0/ -DLIBUSB_LIB=$INSTALL_PATH/lib/libusb-1.0.a -DBUILD_UNIT_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_GRAPHICAL_EXAMPLES=OFF . + make -j $MAKEJ + make install/strip + ;; linux-x86) cd ../libusb-$LIBUSB_VERSION CC="gcc -m32" CXX="g++ -m32" ./configure --prefix=$INSTALL_PATH --disable-shared --with-pic --host=i686-linux --disable-udev From 7560153641378f771ec8dcd08ddc10a6fb5d440b Mon Sep 17 00:00:00 2001 From: Tobias Leininger <60990627+ICH88@users.noreply.github.com> Date: Wed, 23 Sep 2020 23:45:48 +0200 Subject: [PATCH 3/5] added support for arm64 (testing) --- librealsense2/platform/pom.xml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/librealsense2/platform/pom.xml b/librealsense2/platform/pom.xml index 654b7b9fc37..f58792021fb 100644 --- a/librealsense2/platform/pom.xml +++ b/librealsense2/platform/pom.xml @@ -40,13 +40,19 @@ ${project.groupId} ${javacpp.moduleId} ${project.version} - ${javacpp.platform.linux-x86_64} + ${javacpp.platform.linux-armhf} ${project.groupId} ${javacpp.moduleId} ${project.version} - ${javacpp.platform.linux-armhf} + ${javacpp.platform.linux-arm64} + + + ${project.groupId} + ${javacpp.moduleId} + ${project.version} + ${javacpp.platform.linux-x86_64} ${project.groupId} @@ -78,7 +84,7 @@ - ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-x86.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-linux-armhf.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86.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-x86_64.jar ${javacpp.moduleId}-windows-x86.jar ${javacpp.moduleId}-windows-x86_64.jar @@ -125,10 +131,11 @@ 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}.linux.armhf; 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; + requires static org.bytedeco.${javacpp.moduleId}.linux.armhf; + requires static org.bytedeco.${javacpp.moduleId}.linux.arm64; } From b94530f30f641887929b40161bb74325a90a61c7 Mon Sep 17 00:00:00 2001 From: Tobias Leininger <60990627+ICH88@users.noreply.github.com> Date: Wed, 23 Sep 2020 23:47:06 +0200 Subject: [PATCH 4/5] added support for arm64 (testing) --- .../java/org/bytedeco/librealsense2/presets/realsense2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/librealsense2/src/main/java/org/bytedeco/librealsense2/presets/realsense2.java b/librealsense2/src/main/java/org/bytedeco/librealsense2/presets/realsense2.java index 6ac29e450b0..1a761a365f5 100644 --- a/librealsense2/src/main/java/org/bytedeco/librealsense2/presets/realsense2.java +++ b/librealsense2/src/main/java/org/bytedeco/librealsense2/presets/realsense2.java @@ -38,7 +38,7 @@ inherit = javacpp.class, value = { @Platform( - value = {"linux-x86", "macosx-x86", "windows-x86", "linux-armhf"}, + value = {"linux-x86", "macosx-x86", "windows-x86", "linux-armhf", "linux-arm64"}, compiler = "cpp11", include = { "librealsense2/h/rs_types.h", From 3d3b285029a286ee6b0bdb4f14bda7f787d7439f Mon Sep 17 00:00:00 2001 From: Tobias Leininger <60990627+ICH88@users.noreply.github.com> Date: Thu, 24 Sep 2020 19:02:42 +0200 Subject: [PATCH 5/5] G++ compiler changed Set G++ compiler to aarch64-linux-gnu-g++-8 --- librealsense2/cppbuild.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/librealsense2/cppbuild.sh b/librealsense2/cppbuild.sh index 27858dda35c..8a8034648d5 100755 --- a/librealsense2/cppbuild.sh +++ b/librealsense2/cppbuild.sh @@ -37,11 +37,11 @@ case $PLATFORM in ;; linux-arm64) cd ../libusb-$LIBUSB_VERSION - CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ CFLAGS="-march=armv8-a -mcpu=cortex-a57" CXXFLAGS="-march=armv8-a -mcpu=cortex-a57" CPPFLAGS="-march=armv8-a -mcpu=cortex-a57" ./configure --prefix=$INSTALL_PATH --disable-shared --with-pic --host=aarch64-linux-gnu --disable-udev + CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++-8 CFLAGS="-march=armv8-a -mcpu=cortex-a57" CXXFLAGS="-march=armv8-a -mcpu=cortex-a57" CPPFLAGS="-march=armv8-a -mcpu=cortex-a57" ./configure --prefix=$INSTALL_PATH --disable-shared --with-pic --host=aarch64-linux-gnu --disable-udev make -j $MAKEJ make install cd ../librealsense-$LIBREALSENSE2_VERSION - CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ "$CMAKE" -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH" -DLIBUSB_INC=$INSTALL_PATH/include/libusb-1.0/ -DLIBUSB_LIB=$INSTALL_PATH/lib/libusb-1.0.a -DBUILD_UNIT_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_GRAPHICAL_EXAMPLES=OFF . + CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++-8 "$CMAKE" -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH" -DLIBUSB_INC=$INSTALL_PATH/include/libusb-1.0/ -DLIBUSB_LIB=$INSTALL_PATH/lib/libusb-1.0.a -DBUILD_UNIT_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_GRAPHICAL_EXAMPLES=OFF . make -j $MAKEJ make install/strip ;;