Hello again list.
I'm still struggling with understanding the build of Wine on Win-10 using MSVC or clang-cl.
E.g. the 'wrc' program behaves rather different from MSVC's 'rc'. When for example using 'wrc' to build 'attrib.exe', the output of 'attrib.exe /?' looks like this:
ATTRIB - Displays or changes file attributes.
Syntax:
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [drive:][path][filename]
[/S [/D]]
Where:
+ Sets an attribute. ----------------
All lines are doubled up (?!).
But using 'rc', there is this issue:
ATTRIB - Displays or changes file attributes.
Syntax: ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [drive:][path][filename] \ [/S [/D]]
\Where:
\ + Sets an attribute. \ - Clears an attribute.
--------------
The extra '' at each line (!?). I've tried converting 'attrib.rc' to Unix/DOS line-endings to no avail. And BTW, I used: wrc -D__WINESRC__ -I../../include --output objdir/attrib.res attrib.rc
to compile it.
What is going on with this, please?
Am 13.07.2022 um 16:08 schrieb Gisle Vanem gvanem@online.no:
Hello again list.
I'm still struggling with understanding the build of Wine on Win-10 using MSVC or clang-cl.
E.g. the 'wrc' program behaves rather different from MSVC's 'rc'. When for example using 'wrc' to build 'attrib.exe', the output of 'attrib.exe /?' looks like this:
My best guess is again that nobody tries to make wine's .rc files work with Microsoft's rc. A bug that might be noticed is if someone tries to use wrc with a Windows program's source code and it doesn't behave as intended.
I am not even sure if Microsoft's rc is supposed to work at all. Our translations use gettext .po files that are somehow migrated to Windows resource files; That might be done through non-standard .rc statements. I don't think that's your issue here though.
Stefan Dösinger wrote:
I'm still struggling with understanding the build of Wine on Win-10 using MSVC or clang-cl.
E.g. the 'wrc' program behaves rather different from MSVC's 'rc'. When for example using 'wrc' to build 'attrib.exe', the output of 'attrib.exe /?' looks like this:
My best guess is again that nobody tries to make wine's .rc files work with Microsoft's rc. A bug that might be noticed is if someone tries to use wrc with a Windows program's source code and it doesn't behave as intended.
I am not even sure if Microsoft's rc is supposed to work at all. Our translations use gettext .po files that are somehow migrated to Windows resource files; That might be done through non-standard .rc statements. I don't think that's your issue here though.
Thanks for the details.
I'm just playing with Wine for the time being. To see what it could offer for Win users. AFAICS, only the 'attrib.rc' is weird. So MS's 'rc' *could* work for the most part if one stays far away from gettext.
BTW.
Why not support '-nologo' to ease the switching between 'rc' and 'wrc'? And I feel 'wrc' is way more solid program than 'rc' is. I've yet to see 'wrc' crash in bad input (like 'rc' often does).
Am 15.07.2022 um 18:49 schrieb Gisle Vanem gvanem@online.no:
Why not support '-nologo' to ease the switching between 'rc' and 'wrc'? And I feel 'wrc' is way more solid program than 'rc' is. I've yet to see 'wrc' crash in bad input (like 'rc' often does).
Submit a merge request :-)
I think command line tool compatibility is a worthy thing. I guess you mean that currently wrc returns an error when -nologo is passed?
Am 15.07.2022 um 18:49 schrieb Gisle Vanem gvanem@online.no:
'm just playing with Wine for the time being. To see what it could offer for Win users.
Fwiw Wine doesn't primarily target Windows users. While we don't object to adding things that makes our code useful on Windows, there are other projects that are more focused on this use case and probably a better fit:
*) Mingw to provide build tools: https://www.mingw-w64.org/ Wine and Mingw share some things, most notably header files.
*) winevdm: https://github.com/otya128/winevdm Uses parts of Wine plus a CPU emulator to run 16 bit Windows applications on 64 bit Windows
We do share knowledge across related projects. More code sharing is generally welcome, although we found in the past that our goals differ enough that the drawbacks of keeping code and processes in sync outweigh the benefit.