瀏覽代碼

[GDNative] Fix GDN_EXPORT define with mingw.

The define is **not used by godot**, but in GDNative libraries.

I'm not sure it should be defined there in the first place, though we
shouldn't change that (for compatibility).

This commit changes the platform detection order to detect mingw
compiling for windows (which defines `__GNUC__`).

This commit also wraps the definition around a guard to let libraries
override it with a build-time define.
Fabio Alessandrelli 3 年之前
父節點
當前提交
a77d514ec0
共有 1 個文件被更改,包括 5 次插入3 次删除
  1. 5 3
      modules/gdnative/include/gdnative/gdnative.h

+ 5 - 3
modules/gdnative/include/gdnative/gdnative.h

@@ -53,13 +53,15 @@ extern "C" {
 #endif
 
 // This is for libraries *using* the header, NOT GODOT EXPOSING STUFF!!
-#ifdef __GNUC__
-#define GDN_EXPORT __attribute__((visibility("default")))
-#elif defined(_WIN32)
+#if !defined(GDN_EXPORT)
+#if defined(_WIN32)
 #define GDN_EXPORT __declspec(dllexport)
+#elif defined(__GNUC__)
+#define GDN_EXPORT __attribute__((visibility("default")))
 #else
 #define GDN_EXPORT
 #endif
+#endif
 
 #include <stdbool.h>
 #include <stdint.h>