Le dim 21/09/2003 à 21:37, Vincent Béron a écrit :
I think a combination of both is helpful. One in knowing what is uptodate (the MASTER), and one knowing what is not (the attached script, or a variation of).
It's not particularly fast (would need to be ported in Perl, where hashtables exist, for example), but it gets the job done in knowing which resources have the same structure as the master language. Missing lines, menus, stringtables, etc. are also found and reported.
The ww file is needed because my csplit dies with a "Memory exhausted" when used in a pipe following sed for commdlg, but not when used with cat. I'm stomped on that one.
Ideally, it'd be integrated with Make.rules, so it knows where it is and what are the rc files to check.
Comments (especially from those translating parts of Wine)?
Vincent
Here's an updated version of the script. Still slow as molasse though, only perl/C can change that I'm afraid (or another algorithm to check the files). By slow, I mean takes a couple minutes on a XP1800+.
16 bits resources ar not checked for now, would need the trivial addition of -O res16 to wrc args for the output file to be usable to build Wine.
Usage: cd to any dir in Wine build tree (including wine/), and launch. It'll check all subdirs for Makefiles and extract its needed information from that, no need to tell it were to look.
The output is what's missing (or different) for some types of resources (DIALOG, DIALOGEX, MENU, STRINGTABLE, UserResource for now) compared to LANG_ENGLISH. Some other resources types (ACCELERATOR, BITMAP, CURSOR, GROUP_CURSOR, GROUP_ICON, ICON, MESSAGETABLE, RCDATA, VERSIONINFO) are assumed shared for all languages, so they are skipped. Other resources types are absent from the Wine tree, so no decisions have been taken for now one way or the other.
A nice summary is not included for now, but should be pretty easy to add (and is planned for the short term). Also planned is something along the lines of the "last update" token idea from Dimi.
Vincent