Source: openni-sensor-pointclouds
Version: 5.1.0.41.10-1
Severity: normal
Tags: patch loong64 FTBFS
X-Debbugs-Cc: zhangjial...@loongson.cn

Dear Maintainer,

This Package build failed for loong64 , I add the patch for
LoongArch64.Please help to support loong64 .

Thanks
JiaLing,
--- 
openni-sensor-pointclouds-5.1.0.41.10.orig/Platform/Linux/Build/Common/CommonDefs.mak
+++ 
openni-sensor-pointclouds-5.1.0.41.10/Platform/Linux/Build/Common/CommonDefs.mak
@@ -23,6 +23,8 @@ else ifneq (,$(findstring mips,$(MACHINE
        HOST_PLATFORM = Mips
 else ifneq (,$(findstring riscv64,$(MACHINE)))
         HOST_PLATFORM = Riscv64
+else ifneq (,$(findstring loongarch64,$(MACHINE)))
+        HOST_PLATFORM = LoongArch64
 else
        DUMMY:=$(error Can't determine host platform)
 endif
--- /dev/null
+++ 
openni-sensor-pointclouds-5.1.0.41.10/Platform/Linux/Build/Common/Platform.LoongArch64
@@ -0,0 +1,12 @@
+export GLUT_SUPPORTED=1
+
+ifeq "$(CFG)" "Release"
+
+    # Optimization level, minus currently buggy optimizing methods (which 
break bit-exact)
+    CFLAGS += -O3 -fno-tree-pre -fno-strict-aliasing
+
+    # More optimization flags
+    CFLAGS += -ftree-vectorize -ffast-math -funsafe-math-optimizations 
-fsingle-precision-constant
+
+endif
+
--- 
openni-sensor-pointclouds-5.1.0.41.10.orig/Platform/Linux/CreateRedist/RedistMaker
+++ 
openni-sensor-pointclouds-5.1.0.41.10/Platform/Linux/CreateRedist/RedistMaker
@@ -39,6 +39,8 @@ else
                PLATFORM="Mips" ;;
        riscv64)
                PLATFORM="Riscv64" ;;
+       loongarch64)
+               PLATFORM="LoongArch64" ;;
        *)
                echo "Unknown machine type: $MACHINE_TYPE"
                exit 1
--- 
openni-sensor-pointclouds-5.1.0.41.10.orig/Source/Utils/XnSensorServer/SensorServer.cpp
+++ 
openni-sensor-pointclouds-5.1.0.41.10/Source/Utils/XnSensorServer/SensorServer.cpp
@@ -56,7 +56,7 @@ int main(int argc, char* argv[])
        nRetVal = XnSensorServerGetGlobalConfigFile(strConfigDir, 
strConfigFile, XN_FILE_MAX_PATH);
        XN_CHECK_RC(nRetVal, "Resolving global config file");
 
-#if (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == 
XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || 
XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_MACOSX 
|| XN_PLATFORM == XN_PLATFORM_LINUX_MIPS || XN_PLATFORM == 
XN_PLATFORM_LINUX_RISCV64)
+#if (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == 
XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || 
XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_MACOSX 
|| XN_PLATFORM == XN_PLATFORM_LINUX_MIPS || XN_PLATFORM == 
XN_PLATFORM_LINUX_RISCV64 || XN_PLATFORM == XN_PLATFORM_LINUX_LOONGARCH64)
        xnLogSetOutputFolder("/var/log/primesense/XnSensorServer/");
 #endif
 
--- 
openni-sensor-pointclouds-5.1.0.41.10.orig/Source/XnDeviceSensorV2/XnDeviceSensorInit.h
+++ 
openni-sensor-pointclouds-5.1.0.41.10/Source/XnDeviceSensorV2/XnDeviceSensorInit.h
@@ -57,7 +57,7 @@
 
        #define XN_SENSOR_USB_MISC_BUFFER_SIZE  0x1000
        #define XN_SENSOR_USB_MISC_BUFFERS              1
-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == 
XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || 
XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_MACOSX 
|| XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM == 
XN_PLATFORM_LINUX_MIPS || XN_PLATFORM == XN_PLATFORM_LINUX_RISCV64)
+#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == 
XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || 
XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_MACOSX 
|| XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM == 
XN_PLATFORM_LINUX_MIPS || XN_PLATFORM == XN_PLATFORM_LINUX_RISCV64 || 
XN_PLATFORM == XN_PLATFORM_LINUX_LOONGARCH64)
        #define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_ISO                  
        32
        #define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_BULK                 
        40
        #define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_LOWBAND_ISO          
16
--- 
openni-sensor-pointclouds-5.1.0.41.10.orig/Source/XnDeviceSensorV2/XnSensorClient.cpp
+++ 
openni-sensor-pointclouds-5.1.0.41.10/Source/XnDeviceSensorV2/XnSensorClient.cpp
@@ -882,7 +882,7 @@ XnStatus XnSensorClient::StartServerProc
        
 #if (XN_PLATFORM == XN_PLATFORM_WIN32)
        nRetVal = GetModuleDir(strServerDir);
-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == 
XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || 
XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_MACOSX 
|| XN_PLATFORM == XN_PLATFORM_LINUX_MIPS || XN_PLATFORM == 
XN_PLATFORM_LINUX_RISCV64)
+#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == 
XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || 
XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_MACOSX 
|| XN_PLATFORM == XN_PLATFORM_LINUX_MIPS || XN_PLATFORM == 
XN_PLATFORM_LINUX_RISCV64 || XN_PLATFORM == XN_PLATFORM_LINUX_LOONGARCH64)
        sprintf(strServerDir, "/usr/lib/libopenni-sensor-primesense0");
 #endif
 

Reply via email to