This allows to define in lib-common/*.def.in files symbols with I386
stdcall @<num> suffixes and therefore have one common def file for all
platforms.
Removal of @<num> suffixes is done by following sed regex:
sed -E 's/^([^ ]+)@[0-9]+( |$)/\1\2/'
Note that dollar character in Makefile is duplicated to prevent treating it
as variable in Makefile.
This regex was checked on following test cases:
Test@4
Test1@4 ; comment
Test2@4 == Test22
Test3@4 @8
Test@4@8
Test@5test@8
@Test6@8
The result is:
Test
Test1 ; comment
Test2 == Test22
Test3 @8
Test@4
Test@5test
@Test6
That regex handles comments, ordinal numbers and also leading @ chars which
are part of the symbols.
---
mingw-w64-crt/Makefile.am | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index d90201d35f16..1c53e10809c5 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -4287,13 +4287,13 @@ lib32/%.def: lib-common/%.def.in
$(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P
-I$(top_srcdir)/def-include -DDEF_I386 > $@
lib64/%.def: lib-common/%.def.in
- $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P
-I$(top_srcdir)/def-include -DDEF_X64 > $@
+ $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P
-I$(top_srcdir)/def-include -DDEF_X64 | sed -E 's/^([^ ]+)@[0-9]+( |$$)/\1\2/'
> $@
libarm32/%.def: lib-common/%.def.in
- $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P
-I$(top_srcdir)/def-include -DDEF_ARM32 > $@
+ $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P
-I$(top_srcdir)/def-include -DDEF_ARM32 | sed -E 's/^([^ ]+)@[0-9]+(
|$$)/\1\2/' > $@
libarm64/%.def: lib-common/%.def.in
- $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P
-I$(top_srcdir)/def-include -DDEF_ARM64 > $@
+ $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P
-I$(top_srcdir)/def-include -DDEF_ARM64 | sed -E 's/^([^ ]+)@[0-9]+(
|$$)/\1\2/' > $@
# Don't compile these, but install as is:
#
--
2.20.1
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public