From 34ef1043ee1783f8ab20e74a8f883a235a96d629 Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Wed, 14 Feb 2024 22:21:57 +0100 Subject: [Linux] Add arm32/arm64 linux builds support Fix arch detection in GDNative builds (3.x) and add a small patch to avoid warnings spam on ARM. Make CMake march flags explicit for Linux arm32/arm64. Add new platforms to CI. --- misc/patches/gdnantive_arm_warnings.diff | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 misc/patches/gdnantive_arm_warnings.diff (limited to 'misc/patches/gdnantive_arm_warnings.diff') diff --git a/misc/patches/gdnantive_arm_warnings.diff b/misc/patches/gdnantive_arm_warnings.diff new file mode 100644 index 0000000..4f1f085 --- /dev/null +++ b/misc/patches/gdnantive_arm_warnings.diff @@ -0,0 +1,34 @@ +diff --git a/godot-cpp-3.x/godot-headers/gdnative/gdnative.h b/godot-cpp-3.x/godot-headers/gdnative/gdnative.h +index c0573d21b5d7a..ec95c4c4ebfcc 100644 +--- a/godot-cpp-3.x/godot-headers/gdnative/gdnative.h ++++ b/godot-cpp-3.x/godot-headers/gdnative/gdnative.h +@@ -37,20 +37,24 @@ extern "C" { + + #if defined(_WIN32) || defined(__ANDROID__) + #define GDCALLINGCONV +-#define GDAPI GDCALLINGCONV ++ + #elif defined(__APPLE__) + #include "TargetConditionals.h" + #if TARGET_OS_IPHONE + #define GDCALLINGCONV __attribute__((visibility("default"))) +-#define GDAPI GDCALLINGCONV + #elif TARGET_OS_MAC + #define GDCALLINGCONV __attribute__((sysv_abi)) +-#define GDAPI GDCALLINGCONV + #endif +-#else // !_WIN32 && !__APPLE__ ++ ++#else // Linux/BSD/Web ++#if defined(__aarch64__) || defined(__arm__) ++#define GDCALLINGCONV ++#else + #define GDCALLINGCONV __attribute__((sysv_abi)) +-#define GDAPI GDCALLINGCONV + #endif ++#endif ++ ++#define GDAPI GDCALLINGCONV + + // This is for libraries *using* the header, NOT GODOT EXPOSING STUFF!! + #if !defined(GDN_EXPORT) -- cgit v1.2.3