summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--0-librealsense2-add-riscv-arch.patch22
-rw-r--r--0-librealsense2-fix-threads-not-found.patch6
-rw-r--r--disable-lto.patch20
-rw-r--r--librealsense2.spec4
4 files changed, 49 insertions, 3 deletions
diff --git a/0-librealsense2-add-riscv-arch.patch b/0-librealsense2-add-riscv-arch.patch
new file mode 100644
index 0000000..512f12e
--- /dev/null
+++ b/0-librealsense2-add-riscv-arch.patch
@@ -0,0 +1,22 @@
+---
+ CMake/unix_config.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMake/unix_config.cmake b/CMake/unix_config.cmake
+index 50371cd..554e961 100644
+--- a/CMake/unix_config.cmake
++++ b/CMake/unix_config.cmake
+@@ -29,8 +29,8 @@ macro(os_set_flags)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ftree-vectorize")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftree-vectorize")
+ elseif(${MACHINE} MATCHES "riscv64-*")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mstrict-align -ftree-vectorize")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mstrict-align -ftree-vectorize")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mstrict-align -ftree-vectorize -march=rv64ifd")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mstrict-align -ftree-vectorize -march=rv64ifd")
+ else()
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mssse3")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mssse3")
+--
+2.34.1
+
diff --git a/0-librealsense2-fix-threads-not-found.patch b/0-librealsense2-fix-threads-not-found.patch
index e985607..bcb784c 100644
--- a/0-librealsense2-fix-threads-not-found.patch
+++ b/0-librealsense2-fix-threads-not-found.patch
@@ -3,10 +3,10 @@
1 file changed, 5 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8f80c78..0b11b78 100644
+index 9ef630e..dcb2882 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -4,6 +4,11 @@ project(librealsense2 LANGUAGES CXX C)
+@@ -6,6 +6,11 @@ project( ${LRS_TARGET} LANGUAGES CXX C )
# Allow librealsense2 and all of the nested project to include the main repo folder
set(REPO_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
@@ -19,5 +19,5 @@ index 8f80c78..0b11b78 100644
include(CMake/lrs_options.cmake)
--
-2.43.0
+2.34.1
diff --git a/disable-lto.patch b/disable-lto.patch
new file mode 100644
index 0000000..0486b1f
--- /dev/null
+++ b/disable-lto.patch
@@ -0,0 +1,20 @@
+---
+ CMake/unix_config.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMake/unix_config.cmake b/CMake/unix_config.cmake
+index 554e961..8865c9e 100644
+--- a/CMake/unix_config.cmake
++++ b/CMake/unix_config.cmake
+@@ -33,7 +33,7 @@ macro(os_set_flags)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mstrict-align -ftree-vectorize -march=rv64ifd")
+ else()
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mssse3")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mssse3")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mssse3 -flto")
+ set(LRS_TRY_USE_AVX true)
+ endif(${MACHINE} MATCHES "arm64-*" OR ${MACHINE} MATCHES "aarch64-*")
+
+--
+2.34.1
+
diff --git a/librealsense2.spec b/librealsense2.spec
index 133cdc8..fec04b4 100644
--- a/librealsense2.spec
+++ b/librealsense2.spec
@@ -18,6 +18,9 @@ Url: https://github.com/realsenseai/librealsense/
License: Apache License, Version 2.0
Patch1: 0-librealsense2-fix-threads-not-found.patch
+Patch2: 0-librealsense2-add-riscv-arch.patch
+Patch3: disable-lto.patch
+
Source0: %{RosPkgName}-%{version}.tar.gz.aa
Source1: %{RosPkgName}-%{version}.tar.gz.ab
Source2: %{RosPkgName}-%{version}.tar.gz.ac
@@ -73,6 +76,7 @@ mkdir -p .obj-%{_target_platform} && cd .obj-%{_target_platform}
-DAMENT_PREFIX_PATH="/opt/ros/%{ros_distro}" \
-DCMAKE_PREFIX_PATH="/opt/ros/%{ros_distro}" \
-DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCMAKE_EXE_LINKER_FLAGS="-latomic" \
-DBUILD_EXAMPLES=OFF \
-DBUILD_GLSL_EXTENSIONS=OFF \
-DBUILD_GRAPHICAL_EXAMPLES=OFF \