AArch64 tweaks

This commit is contained in:
Nedko Arnaudov 2022-02-28 16:28:23 +02:00
parent 2f8dbdf871
commit 749f74c536
8 changed files with 92 additions and 7 deletions

View File

@ -0,0 +1,37 @@
/*****************************************************************************
* *
* OpenNI 2.x Alpha *
* Copyright (C) 2012 PrimeSense Ltd. *
* Copyleft (C) 2022 Nedko Arnaudov *
* *
* 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 ONIPLATFORMLINUX_AARCH64_H
#define ONIPLATFORMLINUX_AARCH64_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_ARM
#define ONI_PLATFORM_STRING "Linux-Arm"
#endif // ONIPLATFORMLINUX_AARCH64_H

View File

@ -2,6 +2,7 @@
* *
* OpenNI 2.x Alpha *
* Copyright (C) 2012 PrimeSense Ltd. *
* Copyleft (C) 2022 Nedko Arnaudov *
* *
* This file is part of OpenNI. *
* *
@ -27,6 +28,7 @@
#define ONI_PLATFORM_LINUX_ARM 3
#define ONI_PLATFORM_MACOSX 4
#define ONI_PLATFORM_ANDROID_ARM 5
#define ONI_PLATFORM_LINUX_AARCH64 6
#if (defined _WIN32)
# ifndef RC_INVOKED
@ -41,6 +43,8 @@
# include "Linux-x86/OniPlatformLinux-x86.h"
#elif (__linux__ && __arm__)
# include "Linux-Arm/OniPlatformLinux-Arm.h"
#elif (__linux__ && __aarch64__)
# include "Linux-AArch64/OniPlatformLinux-AArch64.h"
#elif _ARC
# include "ARC/OniPlaformARC.h"
#elif (__APPLE__)

View File

@ -49,12 +49,12 @@ CXX_MAIN_SUBDIRS = \
$(CORE) \
ThirdParty/PSCommon/XnLib/Source \
Source/DepthUtils \
Source/Drivers/DummyDevice \
Source/Drivers/PS1080 \
Source/Drivers/PSLink \
Source/Drivers/OniFile \
Source/Drivers/PS1080/PS1080Console \
Source/Drivers/PSLink/PSLinkConsole
Source/Drivers/DummyDevice
# Source/Drivers/PS1080 \
# Source/Drivers/PSLink \
# Source/Drivers/OniFile \
# Source/Drivers/PS1080/PS1080Console \
# Source/Drivers/PSLink/PSLinkConsole
CXX_SAMPLES_SUBDIRS = \
Samples/SimpleRead \

View File

@ -18,6 +18,8 @@ else ifneq (,$(findstring i386,$(MACHINE)))
HOST_PLATFORM = x86
else ifneq (,$(findstring arm,$(MACHINE)))
HOST_PLATFORM = Arm
else ifneq (,$(findstring aarch64,$(MACHINE)))
HOST_PLATFORM = AArch64
else
DUMMY:=$(error Can't determine host platform)
endif

View File

@ -0,0 +1 @@
CXX=clang++

View File

@ -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_AARCH64_H_
#define _XN_PLATFORM_LINUX_AARCH64_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_AARCH64
#define XN_PLATFORM_STRING "Linux-AArch64"
#endif //_XN_PLATFORM_LINUX_AARCH64_H_

View File

@ -2,6 +2,7 @@
* *
* PrimeSense PSCommon Library *
* Copyright (C) 2012 PrimeSense Ltd. *
* Copyleft (C) 2022 Nedko Arnaudov *
* *
* This file is part of PSCommon. *
* *
@ -43,7 +44,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_AARCH64)
#include "Linux-x86/XnOSLinux-x86.h"
#elif (XN_PLATFORM == XN_PLATFORM_MACOSX)
#include "MacOSX/XnOSMacOSX.h"

View File

@ -2,6 +2,7 @@
* *
* PrimeSense PSCommon Library *
* Copyright (C) 2012 PrimeSense Ltd. *
* Copyleft (C) 2022 Nedko Arnaudov *
* *
* This file is part of PSCommon. *
* *
@ -31,6 +32,7 @@
#define XN_PLATFORM_LINUX_ARM 7
#define XN_PLATFORM_MACOSX 8
#define XN_PLATFORM_ANDROID_ARM 9
#define XN_PLATFORM_LINUX_AARCH64 10
#define XN_PLATFORM_IS_LITTLE_ENDIAN 1
#define XN_PLATFORM_IS_BIG_ENDIAN 2
@ -53,6 +55,8 @@
#include "Linux-x86/XnPlatformLinux-x86.h"
#elif (__linux__ && __arm__)
#include "Linux-Arm/XnPlatformLinux-Arm.h"
#elif (__linux__ && __aarch64__)
#include "Linux-AArch64/XnPlatformLinux-AArch64.h"
#elif _ARC
#include "ARC/XnPlaformARC.h"
#elif (__APPLE__)