From 1831677f6366db9ee8ff08497f5dc58ae396b057 Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Fri, 22 Dec 2023 12:08:34 +0100 Subject: [Windows/MinGW] Only export extension init symbol When building for Windows using MinGW GCC we need to apply the same workaround we use on Linux to only export the necessary symbols so we can safely statically link libstdc++ --- SConstruct | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'SConstruct') diff --git a/SConstruct b/SConstruct index 140fe29..c77b469 100644 --- a/SConstruct +++ b/SConstruct @@ -167,11 +167,13 @@ env.Depends(sources, ssl + rtc) # symbols using a GCC version script, or we might end up overriding symbols from other libraries. # Using "-fvisibility=hidden" will not work, since libstdc++ explicitly exports its symbols. symbols_file = None -if env["platform"] == "linux": +if env["platform"] == "linux" or ( + env["platform"] == "windows" and env.get("use_mingw", False) and not env.get("use_llvm", False) +): if env["godot_version"] == "3": - symbols_file = env.File("misc/dist/linux/symbols-gdnative.map") + symbols_file = env.File("misc/gcc/symbols-gdnative.map") else: - symbols_file = env.File("misc/dist/linux/symbols-extension.map") + symbols_file = env.File("misc/gcc/symbols-extension.map") env.Append( LINKFLAGS=[ "-Wl,--no-undefined,--version-script=" + symbols_file.abspath, -- cgit v1.2.3