diff --git a/Include/Linux-generic/OniPlatformLinux-generic.h b/Include/Linux-generic/OniPlatformLinux-generic.h new file mode 100644 index 00000000..50f2c586 --- /dev/null +++ b/Include/Linux-generic/OniPlatformLinux-generic.h @@ -0,0 +1,36 @@ +/***************************************************************************** +* * +* OpenNI 2.x Alpha * +* Copyright (C) 2012 PrimeSense Ltd. * +* * +* This file is part of OpenNI. * +* * +* Licensed under the Apache License, Version 2.0 (the "License"); * +* you may not use this file except in compliance with the License. * +* You may obtain a copy of the License at * +* * +* http://www.apache.org/licenses/LICENSE-2.0 * +* * +* Unless required by applicable law or agreed to in writing, software * +* distributed under the License is distributed on an "AS IS" BASIS, * +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * +* See the License for the specific language governing permissions and * +* limitations under the License. * +* * +*****************************************************************************/ +#ifndef _ONI_PLATFORM_LINUX_GENERIC_H_ +#define _ONI_PLATFORM_LINUX_GENERIC_H_ + +// Start with Linux-x86, and override what's different +#include "../Linux-x86/OniPlatformLinux-x86.h" + +//--------------------------------------------------------------------------- +// Platform Basic Definition +//--------------------------------------------------------------------------- +#undef ONI_PLATFORM +#undef ONI_PLATFORM_STRING +#define ONI_PLATFORM ONI_PLATFORM_LINUX_GENERIC +#define ONI_PLATFORM_STRING "Linux-generic" + +#endif //_ONI_PLATFORM_LINUX_GENERIC_H_ + diff --git a/Include/OniPlatform.h b/Include/OniPlatform.h index 23841889..26bc25ed 100644 --- a/Include/OniPlatform.h +++ b/Include/OniPlatform.h @@ -27,6 +27,7 @@ #define ONI_PLATFORM_LINUX_ARM 3 #define ONI_PLATFORM_MACOSX 4 #define ONI_PLATFORM_ANDROID_ARM 5 +#define ONI_PLATFORM_LINUX_GENERIC 6 #if (defined _WIN32) # ifndef RC_INVOKED @@ -41,6 +42,8 @@ # include "Linux-x86/OniPlatformLinux-x86.h" #elif (__linux__ && __arm__) # include "Linux-Arm/OniPlatformLinux-Arm.h" +#elif (__linux__) +# include "Linux-generic/OniPlatformLinux-generic.h" #elif _ARC # include "ARC/OniPlaformARC.h" #elif (__APPLE__) diff --git a/Packaging/Harvest.py b/Packaging/Harvest.py index 99c32689..7f5a1a22 100755 --- a/Packaging/Harvest.py +++ b/Packaging/Harvest.py @@ -115,9 +115,6 @@ def copyRedistFiles(self, targetDir): self.copySharedObject(binDriversDir, 'Kinect', targetDriversDir) def copySample(self, samplesDir, targetBinDir, name, isLibrary = False, isGL = False, isJava = False, sourceSamplesDir = None): - if self.arch == 'Arm' and isGL: - return - if sourceSamplesDir is None: sourceSamplesDir = os.path.join(self.rootDir, 'Samples') @@ -306,8 +303,6 @@ def copySample(self, samplesDir, targetBinDir, name, isLibrary = False, isGL = F self.copyExecutable(self.binDir, name, targetBinDir) def copyTool(self, toolsDir, name, isGL = False): - if self.arch == 'Arm' and isGL: - return self.copyExecutable(self.binDir, name, toolsDir) diff --git a/Source/Drivers/PS1080/Sensor/XnDeviceSensorInit.h b/Source/Drivers/PS1080/Sensor/XnDeviceSensorInit.h index 27b5c8bf..62b9c354 100644 --- a/Source/Drivers/PS1080/Sensor/XnDeviceSensorInit.h +++ b/Source/Drivers/PS1080/Sensor/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_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM) +#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM_LINUX_GENERIC) #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 diff --git a/Source/Drivers/PSLink/LinkProtoLib/XnClientUSBInDataEndpoint.cpp b/Source/Drivers/PSLink/LinkProtoLib/XnClientUSBInDataEndpoint.cpp index d61b559e..3dda4545 100644 --- a/Source/Drivers/PSLink/LinkProtoLib/XnClientUSBInDataEndpoint.cpp +++ b/Source/Drivers/PSLink/LinkProtoLib/XnClientUSBInDataEndpoint.cpp @@ -36,7 +36,7 @@ namespace xn const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_BUFFER_NUM_PACKETS_BULK = 120; const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_NUM_BUFFERS_BULK = 8; const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_TIMEOUT_BULK = 1000; -#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM) +#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM_LINUX_GENERIC ) const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_BUFFER_NUM_PACKETS_ISO = 32; const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_NUM_BUFFERS_ISO = 16; const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_TIMEOUT_ISO = 100; diff --git a/Source/Tools/NiViewer/NiViewer.cpp b/Source/Tools/NiViewer/NiViewer.cpp index df7dde52..b91ce7c2 100644 --- a/Source/Tools/NiViewer/NiViewer.cpp +++ b/Source/Tools/NiViewer/NiViewer.cpp @@ -68,7 +68,8 @@ #if (ONI_PLATFORM == ONI_PLATFORM_WIN32) #include #include -#elif (ONI_PLATFORM == ONI_PLATFORM_LINUX_X86 || ONI_PLATFORM == ONI_PLATFORM_LINUX_ARM || ONI_PLATFORM == ONI_PLATFORM_MACOSX) +#elif (ONI_PLATFORM == ONI_PLATFORM_LINUX_X86 || ONI_PLATFORM == ONI_PLATFORM_LINUX_ARM \ + || ONI_PLATFORM == ONI_PLATFORM_MACOSX ||ONI_PLATFORM == ONI_PLATFORM_LINUX_GENERIC) #define _getch() getchar() #endif diff --git a/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak b/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak index dd88b04c..eda27091 100644 --- a/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak +++ b/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak @@ -19,7 +19,7 @@ else ifneq (,$(findstring i386,$(MACHINE))) else ifneq (,$(findstring arm,$(MACHINE))) HOST_PLATFORM = Arm else - DUMMY:=$(error Can't determine host platform) + HOST_PLATFORM = generic endif # now check if this is a cross-compilation or not diff --git a/ThirdParty/PSCommon/BuildSystem/Platform.Arm b/ThirdParty/PSCommon/BuildSystem/Platform.Arm index c4a112df..2484f78b 100644 --- a/ThirdParty/PSCommon/BuildSystem/Platform.Arm +++ b/ThirdParty/PSCommon/BuildSystem/Platform.Arm @@ -1,7 +1,10 @@ +# some defaults +export GLUT_SUPPORTED=1 + ifeq "$(CFG)" "Release" # Hardware specifying flags - CFLAGS += -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp #-mcpu=cortex-a8 + CFLAGS += -Wno-unused-local-typedefs -march=armv7-a -mtune=cortex-a9 -mfpu=neon #-mfloat-abi=softfp #-mcpu=cortex-a8 # Optimization level, minus currently buggy optimizing methods (which break bit-exact) CFLAGS += -O3 -fno-tree-pre -fno-strict-aliasing diff --git a/ThirdParty/PSCommon/BuildSystem/Platform.generic b/ThirdParty/PSCommon/BuildSystem/Platform.generic new file mode 100644 index 00000000..02ea5e08 --- /dev/null +++ b/ThirdParty/PSCommon/BuildSystem/Platform.generic @@ -0,0 +1,4 @@ +# some defaults +export GLUT_SUPPORTED=1 +FLAGS += -O3 -fno-strict-aliasing + diff --git a/ThirdParty/PSCommon/XnLib/Include/Linux-generic/XnPlatformLinux-generic.h b/ThirdParty/PSCommon/XnLib/Include/Linux-generic/XnPlatformLinux-generic.h new file mode 100644 index 00000000..359deb8e --- /dev/null +++ b/ThirdParty/PSCommon/XnLib/Include/Linux-generic/XnPlatformLinux-generic.h @@ -0,0 +1,36 @@ +/***************************************************************************** +* * +* PrimeSense PSCommon Library * +* Copyright (C) 2012 PrimeSense Ltd. * +* * +* This file is part of PSCommon. * +* * +* Licensed under the Apache License, Version 2.0 (the "License"); * +* you may not use this file except in compliance with the License. * +* You may obtain a copy of the License at * +* * +* http://www.apache.org/licenses/LICENSE-2.0 * +* * +* Unless required by applicable law or agreed to in writing, software * +* distributed under the License is distributed on an "AS IS" BASIS, * +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * +* See the License for the specific language governing permissions and * +* limitations under the License. * +* * +*****************************************************************************/ +#ifndef _XN_PLATFORM_LINUX_GENERIC_H_ +#define _XN_PLATFORM_LINUX_GENERIC_H_ + +// Start with Linux-x86, and override what's different +#include "../Linux-x86/XnPlatformLinux-x86.h" + +//--------------------------------------------------------------------------- +// Platform Basic Definition +//--------------------------------------------------------------------------- +#undef XN_PLATFORM +#undef XN_PLATFORM_STRING +#define XN_PLATFORM XN_PLATFORM_LINUX_GENERIC +#define XN_PLATFORM_STRING "Linux-generic" + +#endif //_XN_PLATFORM_LINUX_GENERIC_H_ + diff --git a/ThirdParty/PSCommon/XnLib/Include/XnOS.h b/ThirdParty/PSCommon/XnLib/Include/XnOS.h index 3e410606..09cce1f6 100644 --- a/ThirdParty/PSCommon/XnLib/Include/XnOS.h +++ b/ThirdParty/PSCommon/XnLib/Include/XnOS.h @@ -43,7 +43,7 @@ //--------------------------------------------------------------------------- #if (XN_PLATFORM == XN_PLATFORM_WIN32) #include "Win32/XnOSWin32.h" -#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM) +#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_GENERIC) #include "Linux-x86/XnOSLinux-x86.h" #elif (XN_PLATFORM == XN_PLATFORM_MACOSX) #include "MacOSX/XnOSMacOSX.h" diff --git a/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h b/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h index 07e8192b..0b0f1da8 100644 --- a/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h +++ b/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h @@ -31,6 +31,7 @@ #define XN_PLATFORM_LINUX_ARM 7 #define XN_PLATFORM_MACOSX 8 #define XN_PLATFORM_ANDROID_ARM 9 +#define XN_PLATFORM_LINUX_GENERIC 10 #define XN_PLATFORM_IS_LITTLE_ENDIAN 1 #define XN_PLATFORM_IS_BIG_ENDIAN 2 @@ -53,6 +54,8 @@ #include "Linux-x86/XnPlatformLinux-x86.h" #elif (__linux__ && __arm__) #include "Linux-Arm/XnPlatformLinux-Arm.h" +#elif (__linux__) +#include "Linux-generic/XnPlatformLinux-generic.h" #elif _ARC #include "ARC/XnPlaformARC.h" #elif (__APPLE__) diff --git a/ThirdParty/PSCommon/XnLib/Include/XnUSBDevice.h b/ThirdParty/PSCommon/XnLib/Include/XnUSBDevice.h index 94c729b8..acaf6674 100644 --- a/ThirdParty/PSCommon/XnLib/Include/XnUSBDevice.h +++ b/ThirdParty/PSCommon/XnLib/Include/XnUSBDevice.h @@ -47,7 +47,7 @@ #define USB_DT_DEVICE_SIZE 0 #define USB_DT_DEVICE 0 -#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM) +#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_GENERIC) #include typedef struct usb_endpoint_descriptor XnUSBEndpointDescriptor; typedef struct usb_interface_descriptor XnUSBInterfaceDescriptor; diff --git a/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxUSB.cpp b/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxUSB.cpp index b886f827..6f33aba8 100644 --- a/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxUSB.cpp +++ b/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxUSB.cpp @@ -36,7 +36,7 @@ #include #include -#if (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM) +#if (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_GENERIC) #include #define XN_USE_UDEV #endif