Within the last few months recoil-rts has gained support for building
on aarch64. The following diff fixes building the port on aarch64.


Index: Makefile
===================================================================
RCS file: /cvs/ports/games/recoil-rts/Makefile,v
retrieving revision 1.28
diff -u -p -u -p -r1.28 Makefile
--- Makefile    24 Jul 2026 03:46:16 -0000      1.28
+++ Makefile    25 Jul 2026 22:12:04 -0000
@@ -1,5 +1,4 @@
-# heavy use of SSE with no alternative pathways for !x86 arches
-ONLY_FOR_ARCHS =       amd64
+ONLY_FOR_ARCHS =       aarch64 amd64
 
 COMMENT =              real-time strategy game engine for Beyond All Reason
 
Index: patches/patch-tools_pr-downloader_src_lib_7z_CpuArch_c
===================================================================
RCS file: patches/patch-tools_pr-downloader_src_lib_7z_CpuArch_c
diff -N patches/patch-tools_pr-downloader_src_lib_7z_CpuArch_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-tools_pr-downloader_src_lib_7z_CpuArch_c      25 Jul 2026 
22:12:04 -0000
@@ -0,0 +1,62 @@
+- 24.05
+  fc662341e6f85da78ada0e443f6116b978f79f22
+- 26.00
+  839151eaaad24771892afaae6bac690e31e58384
+
+Index: tools/pr-downloader/src/lib/7z/CpuArch.c
+--- tools/pr-downloader/src/lib/7z/CpuArch.c.orig
++++ tools/pr-downloader/src/lib/7z/CpuArch.c
+@@ -415,16 +415,42 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP
+ 
+ #else // __APPLE__
+ 
+-#include <sys/auxv.h>
++#if defined(__GLIBC__) && (__GLIBC__ * 100 + __GLIBC_MINOR__ >= 216)
++  #define Z7_GETAUXV_AVAILABLE
++#else
++  #if defined __has_include
++  #if __has_include (<sys/auxv.h>)
++    #define Z7_GETAUXV_AVAILABLE
++  #endif
++  #endif
++#endif
+ 
++#ifdef Z7_GETAUXV_AVAILABLE
++#include <sys/auxv.h>
+ #define USE_HWCAP
++#endif
+ 
+ #ifdef USE_HWCAP
+ 
++#if defined(__FreeBSD__) || defined(__OpenBSD__)
++static unsigned long MY_getauxval(int aux)
++{
++  unsigned long val;
++  if (elf_aux_info(aux, &val, sizeof(val)))
++    return 0;
++  return val;
++}
++#else
++#define MY_getauxval  getauxval
++  #if defined __has_include
++  #if __has_include (<asm/hwcap.h>)
+ #include <asm/hwcap.h>
++  #endif
++  #endif
++#endif
+ 
+   #define MY_HWCAP_CHECK_FUNC_2(name1, name2) \
+-  BoolInt CPU_IsSupported_ ## name1() { return (getauxval(AT_HWCAP)  & 
(HWCAP_  ## name2)) ? 1 : 0; }
++  BoolInt CPU_IsSupported_ ## name1(void) { return (MY_getauxval(AT_HWCAP)  & 
(HWCAP_  ## name2)); }
+ 
+ #ifdef MY_CPU_ARM64
+   #define MY_HWCAP_CHECK_FUNC(name) \
+@@ -433,7 +459,7 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP
+ // MY_HWCAP_CHECK_FUNC (ASIMD)
+ #elif defined(MY_CPU_ARM)
+   #define MY_HWCAP_CHECK_FUNC(name) \
+-  BoolInt CPU_IsSupported_ ## name() { return (getauxval(AT_HWCAP2) & 
(HWCAP2_ ## name)) ? 1 : 0; }
++  BoolInt CPU_IsSupported_ ## name(void) { return (MY_getauxval(AT_HWCAP2) & 
(HWCAP2_ ## name)); }
+   MY_HWCAP_CHECK_FUNC_2(NEON, NEON)
+ #endif
+ 

Reply via email to