https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108866
peter0x44 at disroot dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |peter0x44 at disroot dot org
--- Comment #7 from peter0x44 at disroot dot org ---
I'm interested in this feature, and would use it if it worked.
I do have a few questions about how this needs to be implemented, though.
1) should gcc pass through any arguments to windres?
-I --include-dir=<dir> Include directory when preprocessing rc file
-D --define <sym>[=<val>] Define SYM when preprocessing rc file
-U --undefine <sym> Undefine SYM when preprocessing rc file
2) does -m32 or -m64 need handling in any specific ways?
3) the linker has -Wl, for passing arguments to it, does windres need an
equivalent?
4) windres --help says:
FORMAT is one of rc, res, or coff, and is deduced from the file name
should ".res" be handled too?
5) windres --help has this list of "supported targets":
x86_64-w64-mingw32-windres: supported targets: pe-x86-64 pei-x86-64
pe-bigobj-x86-64 elf64-x86-64 pe-i386 pei-i386 elf32-i386 elf32-iamcu
elf64-little elf64-big elf32-little elf32-big srec symbolsrec verilog tekhex
binary ihex plugin
Do they matter? I did not expect to see any "elf" on this list, because windows
obviously doesn't use it.
I suspect some of these are not used/broken/handled by anyone, for windres
anyway. I tried the following:
$ x86_64-w64-mingw32-windres --target="elf64-x86-64" -i test.rc -o test.o
x86_64-w64-mingw32-windres: can't get BFD_RELOC_RVA relocation type: cause of
error unknown
$ x86_64-w64-mingw32-windres --target="elf32-i386" -i test.rc -o test.o
x86_64-w64-mingw32-windres: bruh.o: unsupported relocation type: 0x3f
$ x86_64-w64-mingw32-windres --target="elf32-iamcu" -i test.rc -o test.o
x86_64-w64-mingw32-windres: bfd_set_arch_mach(i386): cause of error unknown
6) does llvm-windres need to be considered at all? should there be a way to
select it? an -fuse-rc= command option or so?