wrc doesn't seem to accept -r option, even though it is automatically generated by make file

Parzival parz at shaw.ca
Sun Nov 9 20:54:42 CST 2003

I am trying to build a program using the wine libraries. I am following the 
recipies given in the docs without much understanding of what is actually 
happening.  The first step, running winemaker, seemed to work,
the ./configure step took some time, as it would fail, and then I would go 
searching for the file it was looking for, amend the options, and run it 
again, finally coming up with:

./configure --with-wine-includes=/usr/include/wine/windows 
--with-wine-libraries=/usr/lib --with-wine-dlls=/usr/lib  

<lots of output snipped>

creating Makefile

Configure finished.  Do 'make' to build the project.

The reason I mention this is that I am not sure that my arguments to configure 
are correct. For example, I have noticed that there are also include files at 
/usr/includes/wine/msvcrt, and configure doesn't seem to care about that, so 
how are these include files found?

In any case configure is happy, so I tried to run make:

[parz at h24-79-72-61 MyWin]$ make
sed -e 's, at bindir\@,/usr/local/bin,g' -e 's, at winelibdir\@,.,g' 
./wineapploader.in >wineapploader || rm -f wineapploader
LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" /usr/bin/wrc -J -m   -I.  
-I/usr/include/wine/windows -o MyWin.res -r MyWin.rc
Usage: wrc [options...] [infile[.rc|.res]] [outfile]
   -a n        Alignment of resource (win16 only, default is 4)
   -A          Auto register resources (only with gcc 2.7 and better)
   -b          Create an assembly array from a binary .res file
   -B x        Set output byte-order x={n[ative], l[ittle], b[ig]}
               (win32 only; default is little-endian)
   -c          Add 'const' prefix to C constants
   -C cp       Set the resource's codepage to cp (default is 0)
   -d n        Set debug level to 'n'
   -D id[=val] Define preprocessor identifier id=val
   -e          Disable recognition of win32 keywords in 16bit compile
   -E          Preprocess only
   -F target    Ignored for compatibility with windres
   -g          Add symbols to the global c namespace
   -h           Prints this summary.
   -i file      The name of the input file.
   -I path     Set include search dir to path (multiple -I allowed)
   -J           Do not search the standard include path
   -l lan      Set default language to lan (default is neutral {0, 0})
   -m          Do not remap numerical resource IDs
   -N          Do not preprocess input
   -o file     Output to file (default is infile.[res|s|h]
   -O format    The output format: one of `res', 'asm', 'hdr'.
   -p prefix   Give a prefix for the generated names
   -s          Add structure with win32/16 (PE/NE) resource directory
   -t          Generate indirect loadable resource tables
   -T          Generate only indirect loadable resources tables
   -v          Enable verbose mode.
   -V          Print version and exit
   -w 16|32    Select win16 or win32 output (default is win32)
   -W          Enable pedantic warnings
The following long options are supported:
   --input              Synonym for -i.
   --output             Synonym for -o.
   --target             Synonym for -F.
   --format             Synonym for -O.
   --include-dir        Synonym for -I.
   --nostdinc           Synonym for -J.
   --define             Synonym for -D.
   --language           Synonym for -l.
   --use-temp-file      Ignored for compatibility with windres.
   --no-use-temp-file   Ignored for compatibility with windres.
   --preprocessor       Specify the preprocessor to use, including arguments.
   --help               Synonym for -h.
   --version            Synonym for -V.
Input is taken from stdin if no sourcefile specified.
Debug level 'n' is a bitmask with following meaning:
    * 0x01 Tell which resource is parsed (verbose mode)
    * 0x02 Dump internal structures
    * 0x04 Create a parser trace (yydebug=1)
    * 0x08 Preprocessor messages
    * 0x10 Preprocessor lex messages
    * 0x20 Preprocessor yacc trace
If no input filename is given and the output name is not overridden
with -o, then the output is written to "wrc.tab.[sh]"
make: *** [MyWin.res] Error 1
[parz at h24-79-72-61 MyWin]$

So, it looks like the automatically generated Makefile gives wrc a "-r" 
option, which it doesn't like.  Is this a bug? How can I work around it?

I am using the wine installed with Mandrake 9.1. I found the following 
funny bug:

[parz at h24-79-72-61 MyWin]$ wine --version

Usage: wine.bin [options] [--] program_name [arguments]
The -- has to be used if you specify arguments OR options

--debugmsg name  Turn debugging-messages on or off
--dll name       Enable or disable built-in DLLs
--help,-h        Show this help message
--version,-v     Display the Wine version

[parz at h24-79-72-61 MyWin]$

So it won't display its version, but

[parz at h24-79-72-61 MyWin]$ wine -v
Wine 20030115
[parz at h24-79-72-61 MyWin]$

In all of the "Why doesn't it work" struggles I did previously, to get another 
program to run in emulation mode, I also tried installing a more recent 
version of wine from sources, but this version would crash loading my 
programs, so I reverted to the Mandrake 9.1 installed version. I don't really 
want to work on my present problem by re-installing the (newer, I believe 
from August) version, because the config files are not compatible, so it is a 
lot of work to move between the versions, and of course, my programs that I 
want to run, don't seem to work then.

Does anyone have a clue how to solve the Makefile problem?

-- Parzival

More information about the wine-users mailing list