Source: kodi
Version: 15.1+dfsg1-2
Tags: patch
Thanks for sorting out the configuration on unknown architectures.
Here's a patch for arm64. You should probably reverse some of the
tests: test for Intel instead of listing all the non-Intel
architectures we can think of. But this patch did get it to build for
me on arm64.
diff -ru kodi-15.1+dfsg1.orig/xbmc/cores/DllLoader/DllLoader.h kodi-15.1+dfsg1/xbmc/cores/DllLoader/DllLoader.h
--- kodi-15.1+dfsg1.orig/xbmc/cores/DllLoader/DllLoader.h
+++ kodi-15.1+dfsg1/xbmc/cores/DllLoader/DllLoader.h
@@ -23,7 +23,7 @@
#include "coffldr.h"
#include "LibraryLoader.h"
-#if defined(__linux__) && !defined(__powerpc__) && !defined(__arm__) && !defined(__mips__)
+#if defined(__linux__) && !defined(__powerpc__) && !defined(__arm__) && !defined(__mips__) && !defined(__aarch64__)
#define USE_LDT_KEEPER
#include "ldt_keeper.h"
#endif
diff -ru kodi-15.1+dfsg1.orig/xbmc/cores/DllLoader/ldt_keeper.c kodi-15.1+dfsg1/xbmc/cores/DllLoader/ldt_keeper.c
--- kodi-15.1+dfsg1.orig/xbmc/cores/DllLoader/ldt_keeper.c
+++ kodi-15.1+dfsg1/xbmc/cores/DllLoader/ldt_keeper.c
@@ -19,7 +19,7 @@
*/
//#ifndef __powerpc__
-#if !defined(__powerpc__) && !defined(__ppc__) && !defined(__arm__) && !defined(__mips__)
+#if !defined(__powerpc__) && !defined(__ppc__) && !defined(__arm__) && !defined(__mips__) && !defined(__aarch64__)
#include "ldt_keeper.h"
diff -ru kodi-15.1+dfsg1.orig/xbmc/cores/VideoRenderers/LinuxRendererGL.h kodi-15.1+dfsg1/xbmc/cores/VideoRenderers/LinuxRendererGL.h
--- kodi-15.1+dfsg1.orig/xbmc/cores/VideoRenderers/LinuxRendererGL.h
+++ kodi-15.1+dfsg1/xbmc/cores/VideoRenderers/LinuxRendererGL.h
@@ -323,7 +323,7 @@
inline int NP2( unsigned x ) {
-#if defined(TARGET_POSIX) && !defined(__POWERPC__) && !defined(__PPC__) && !defined(__arm__) && !defined(__mips__)
+#if defined(TARGET_POSIX) && !defined(__POWERPC__) && !defined(__PPC__) && !defined(__arm__) && !defined(__mips__) && !defined(__aarch64__)
// If there are any issues compiling this, just append a ' && 0'
// to the above to make it '#if defined(TARGET_POSIX) && 0'
diff -ru kodi-15.1+dfsg1.orig/xbmc/threads/Atomics.cpp kodi-15.1+dfsg1/xbmc/threads/Atomics.cpp
--- kodi-15.1+dfsg1.orig/xbmc/threads/Atomics.cpp
+++ kodi-15.1+dfsg1/xbmc/threads/Atomics.cpp
@@ -106,7 +106,7 @@
///////////////////////////////////////////////////////////////////////////
long long cas2(volatile long long* pAddr, long long expectedVal, long long swapVal)
{
-#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__)// PowerPC and ARM
+#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || defined(__aarch64__) // PowerPC and ARM
// Not available/required
// Hack to allow compilation
throw "cas2 is not implemented";
diff -ru kodi-15.1+dfsg1.orig/xbmc/utils/MathUtils.h kodi-15.1+dfsg1/xbmc/utils/MathUtils.h
--- kodi-15.1+dfsg1.orig/xbmc/utils/MathUtils.h
+++ kodi-15.1+dfsg1/xbmc/utils/MathUtils.h
@@ -35,7 +35,7 @@
#if defined(__ppc__) || \
defined(__powerpc__) || \
defined(__mips__) || \
- defined(__arm__)
+ defined(__arm__) || defined(__aarch64__)
#define DISABLE_MATHUTILS_ASM_ROUND_INT
#endif