diff options
author | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2022-06-18 14:05:07 +0200 |
---|---|---|
committer | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2022-06-18 14:35:51 +0200 |
commit | f315912d8568d47c52f739807768629714981fdf (patch) | |
tree | 1004ade5bda98da37227913eb18e3812897fa202 | |
parent | 62ab2e59f8781286724b1347a0bf97b88ccc63e6 (diff) | |
download | fork-godot-webrtc-native-f315912d8568d47c52f739807768629714981fdf.tar.gz fork-godot-webrtc-native-f315912d8568d47c52f739807768629714981fdf.tar.bz2 fork-godot-webrtc-native-f315912d8568d47c52f739807768629714981fdf.zip |
[Windows] Fix windows build with mingw.
Forces ".dll" extension for library when building with mingw.
Override GDN_EXPORT which is incorrectly defined in the upstream
gdnative headers (3.x) and godot-cpp include (4.0) when building for
windows with mingw.
-rw-r--r-- | SConstruct | 4 | ||||
-rw-r--r-- | src/init_gdextension.cpp | 6 | ||||
-rw-r--r-- | src/init_gdnative.cpp | 6 |
3 files changed, 16 insertions, 0 deletions
@@ -67,6 +67,10 @@ else: }) env = env.Clone() +# Patch mingw SHLIBSUFFIX. +if env["platform"] == "windows" and env["use_mingw"]: + env["SHLIBSUFFIX"] = ".dll" + opts.Update(env) target = env["target"] diff --git a/src/init_gdextension.cpp b/src/init_gdextension.cpp index c923881..b252379 100644 --- a/src/init_gdextension.cpp +++ b/src/init_gdextension.cpp @@ -37,6 +37,12 @@ #include "WebRTCLibDataChannel.hpp" #include "WebRTCLibPeerConnection.hpp" +#ifdef _WIN32 +// See upstream godot-cpp GH-771. +#undef GDN_EXPORT +#define GDN_EXPORT __declspec(dllexport) +#endif + using namespace godot; using namespace godot_webrtc; diff --git a/src/init_gdnative.cpp b/src/init_gdnative.cpp index 77669af..00109a4 100644 --- a/src/init_gdnative.cpp +++ b/src/init_gdnative.cpp @@ -34,6 +34,12 @@ #include <gdnative_api_struct.gen.h> #include <net/godot_net.h> +#ifdef _WIN32 +// See upstream godot GH-62173. +#undef GDN_EXPORT +#define GDN_EXPORT __declspec(dllexport) +#endif + /* Singleton */ static bool _singleton = false; static const godot_object *_singleton_lib = NULL; |