Parzival
2003-Nov-09 20:54 UTC
wrc doesn't seem to accept -r option, even though it is automatically generated by make file
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 --with-wine-tools=/usr/bin <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@h24-79-72-61 MyWin]$ make sed -e 's,@bindir\@,/usr/local/bin,g' -e 's,@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@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@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 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@h24-79-72-61 MyWin]$ So it won't display its version, but [parz@h24-79-72-61 MyWin]$ wine -v Wine 20030115 [parz@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