diff --git a/sys/windows/Makefile.mingw32 b/sys/windows/Makefile.mingw32 index 6533e90d7..9ae38be95 100644 --- a/sys/windows/Makefile.mingw32 +++ b/sys/windows/Makefile.mingw32 @@ -203,6 +203,11 @@ ifdef CI_COMPILER cc = i686-w64-mingw32-gcc.exe ld = i686-w64-mingw32-gcc.exe rc = windres --target=pe-i386 +# the mingw version on our CI is missing +# windef.h. This will cause the Makefile.mingw32 +# to put a temporary copy into one of our folders +# that windres is already looking in. +MISSING_HEADER = Y else cc = gcc -c ld = gcc @@ -211,6 +216,7 @@ rc = windres --target=pe-i386 else # MINGW64 rc = windres --target=pe-x86-64 endif +MISSING_HEADER = N endif # @@ -730,7 +736,22 @@ $(ONH)/%.o: $(WCURSES)/%.c $(NHLUAH) | $(ONH) $(cc) $(CFLAGSNH) $(PDCINCL) $< -o$@ $(NHRES): $(MSWIN)/NetHack.rc $(MSWIN)/NetHack.ico | $(ONH) +ifeq "$(MISSING_HEADER)" "Y" + echo '/**' > $(MSWIN)/winres.h + echo ' * This file has no copyright assigned and is placed in the Public Domain.' >> $(MSWIN)/winres.h + echo ' * This file is part of the mingw-w64 runtime package.' >> $(MSWIN)/winres.h + echo ' * No warranty is given; refer to the file DISCLAIMER.PD within this package.' >> $(MSWIN)/winres.h + echo ' */' >> $(MSWIN)/winres.h + echo '#include ' >> $(MSWIN)/winres.h + echo '#ifdef IDC_STATIC' >> $(MSWIN)/winres.h + echo '#undef IDC_STATIC' >> $(MSWIN)/winres.h + echo '#endif' >> $(MSWIN)/winres.h + echo '#define IDC_STATIC (-1)' >> $(MSWIN)/winres.h +endif $(rc) --include-dir=$(MSWIN) --input=$< -o$@ +ifeq "$(MISSING_HEADER)" "Y" + @-rm -f $(MSWIN)/winres.h +endif $(ONH): @mkdir -p $@