Having -DDEF_<ARCH> is required by func.def.in which is used either
directly or indirectly by crt-aliases.def.in in all CRT def.in files.
Some symbols in crt-aliases.def.in are defined via F* macros and these
symbols are currently missing in versioned non-os msvcrt import libraries.

This change is fixing missing symbols in all CRT import libraries.
---
I'm really sorry about this issue. It was caused by me by starting using
all those F* macros in crt-aliases.def.in file and then also moving
DECORATED_EXPORT() macro into func.def.in. I spotted it just because
fastcall exports (in 4/4 change) did not worked at all.
---
 mingw-w64-crt/Makefile.am | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index a0c885ec4f6c..0c702b645e4d 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -3823,8 +3823,17 @@ endif
        cd $(dir $@) && $(AR) -M < $(abspath $<)
        $(RANLIB) $@
 
-%.def: %.def.in
-       $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P 
-I$(top_srcdir)/def-include > $@
+lib32/%.def: lib32/%.def.in
+       $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P 
-I$(top_srcdir)/def-include -DDEF_I386 > $@
+
+lib64/%.def: lib64/%.def.in
+       $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P 
-I$(top_srcdir)/def-include -DDEF_X64 > $@
+
+libarm32/%.def: libarm32/%.def.in
+       $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P 
-I$(top_srcdir)/def-include -DDEF_ARM32 > $@
+
+libarm64/%.def: libarm64/%.def.in
+       $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P 
-I$(top_srcdir)/def-include -DDEF_ARM64 > $@
 
 lib32/%.def: lib-common/%.def.in
        $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P 
-I$(top_srcdir)/def-include -DDEF_I386 > $@
-- 
2.20.1



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to