diff options
| -rw-r--r-- | aarch64-support.patch | 14 | ||||
| -rw-r--r-- | libopenni2-dev.spec | 17 | ||||
| -rw-r--r-- | sources | 2 |
3 files changed, 31 insertions, 2 deletions
diff --git a/aarch64-support.patch b/aarch64-support.patch index d88fb16..424ec52 100644 --- a/aarch64-support.patch +++ b/aarch64-support.patch @@ -1,3 +1,16 @@ +diff --git a/Include/OniPlatform.h b/Include/OniPlatform.h +index 602b4ba..7de181a 100644 +--- a/Include/OniPlatform.h ++++ b/Include/OniPlatform.h +@@ -41,6 +41,8 @@ + # include "Linux-x86/OniPlatformLinux-x86.h" + #elif (__linux__ && __arm__) + # include "Linux-Arm/OniPlatformLinux-Arm.h" ++#elif (__linux__ && __aarch64__) ++# include "Linux-x86/OniPlatformLinux-x86.h" + #elif _ARC + # include "ARC/OniPlaformARC.h" + #elif (__APPLE__) diff --git a/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak b/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak index dd88b04..7454e8a 100644 --- a/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak @@ -32,6 +45,7 @@ index 0000000..2eb8966 +# removals (dynamic exception specifications, the register keyword, etc.). +CFLAGS += -std=gnu++14 diff --git a/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h b/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h +index 07e8192..93d8567 100644 --- a/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h +++ b/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h @@ -53,6 +53,8 @@ diff --git a/libopenni2-dev.spec b/libopenni2-dev.spec index 22b1a30..ad6f19f 100644 --- a/libopenni2-dev.spec +++ b/libopenni2-dev.spec @@ -2,12 +2,16 @@ # The upstream platform detection only knows x86 / x86_64 / arm32 and errors # out on aarch64; Patch0 adds the aarch64 (Arm64) platform with neutral, # SSE-free flags so the library and drivers build natively on aarch64. +# Patch0 routes __aarch64__ to the arch-neutral Linux-x86 platform header in +# BOTH platform-detection headers: ThirdParty/.../XnPlatform.h (XnLib +# internal, used by Source/*) and Include/OniPlatform.h (OpenNI public API, +# used by Source/DepthUtils via OniCTypes.h). # # topdir: libopenni2-dev-2.2.0 Name: libopenni2-dev Version: 2.2.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: OpenNI 2 framework for 3D sensors (development package) License: Apache-2.0 @@ -94,6 +98,17 @@ install -p -m 0644 Include/*.h %{buildroot}%{_includedir}/openni2/ %{_includedir}/openni2/ %changelog +* Thu Sep 24 2026 openEuler Builder <builder@openeuler.org> - 2.2.0-3 +- Extend aarch64-support.patch: route __aarch64__ in Include/OniPlatform.h + (the OpenNI public API platform header) to the arch-neutral + Linux-x86/OniPlatformLinux-x86.h, mirroring the XnPlatform.h fix from -2. + The previous release fixed XnLib's XnPlatform.h so XnLib built, but + Source/DepthUtils includes OniPlatform.h (via OniCTypes.h) which still hit + '#error Unsupported Platform', cascading into 'uint16_t/uint8_t does not + name a type' and 'expected ) before *' errors. ONI_STDCALL/__stdcall is + only #define'd, never expanded on Linux (verified), so routing aarch64 to + the Linux-x86 header is safe. + * Thu Sep 24 2026 openEuler Builder <builder@openeuler.org> - 2.2.0-2 - Extend aarch64-support.patch: route __aarch64__ in XnPlatform.h to the arch-neutral Linux-x86 platform header so the C++ build no longer hits @@ -1 +1 @@ -cb40b1d924ce4694a0ac6381f5098b97 libopenni2-dev-2.2.0.tar.gz +1115cff0b0009ad6e3b3e9f9319800d5 libopenni2-dev-2.2.0.tar.gz |
