Building a full win32 winetest.exe

Paul Millar paulm at astro.gla.ac.uk
Fri Dec 29 14:25:39 CST 2006


On Sunday 24 December 2006 09:37, Paul Vriens wrote:
> Doing a simple 'make clean' and 'make' only gives me a winetest.exe.so
> which is a 'ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV),
> not stripped'.
>
> Is there something I'm missing here?

Sorry, what I said was a bit incomplete (and a bit misleading).  WRT does 
cross-builds using out-of-tree builds.  There's also a way of doing in-tree 
cross-building, but I don't use it myself.

For the out-of-tree builds, the directories are something like:
  wine-source/
  wine-native/
  wine-pe/

Within the wine-native directory, I do something like:
  ../wine-source/configure && make depend \
        && make tools

Within the wine-pe directory, I do something like:
  ../wine-source/configure --host=i686-mingw32msvc --with-wine-tools=../wine-native 
  make depends && make -C libs
[and, the following line, with a big fat FIXME]
  find dlls -name tests -execdir make -C \{\} \;
  make -C programs/winetest winetest.exe

I think just "make" in the wine-pe/programs/winetest directory (instead 
of "make winetest.exe") should work within wine-pe dir.  For in-tree builds 
you probably need to use the explicit "winetest.exe" target.

There is also the "winetest-dist.exe" target that embeds some metadata within 
the winetest executable.  You shouldn't needed this target unless you're 
planning on uploading your results to the test.winehq.org pages.

On Monday 25 December 2006 10:22, Paul Vriens wrote:
> cert.cross.o:cert.c:(.text+0x3b05): undefined reference to
> `_CryptSignAndEncodeCertificate at 36' cert.cross.o:cert.c:(.text+0x3bb8):
[...]
> [..]/i386-mingw32/bin/ld:
> cannot find -lhlink collect2: ld returned 1 exit status
[...]

Yes, you need a "newer" MinGW with CryptSignAndEncodeCertificate and hlink 
library support.

Stefan (Leichter), Hans (Leidekker) and myself keep a mutual set of win32api 
patches up-to-date (this is mostly their work, not mine!).  So, I have some 
patches that add support for these functions 

For historical reasons, I roll my own MinGW rather than use Hans' RPMs.  Hmm, 
I need to release the MinGW-build script and the set of patches (I can send 
you them if you like :) but in the mean time perhaps you could ask Hans to 
check his RPMs :-)

On Wednesday 27 December 2006 19:23, Paul Vriens wrote:
> When I look at the output on
> http://quisquiliae.ph.gla.ac.uk/crossbuild-logs/ I somehow have the
> feeling that you've modified the makefiles?

I used to apply some patches on-the-fly, but don't any more.  I use straight 
winehq.org source-code now.

> In you're (failing) logs I see 'i686-mingw32msvc-windres -i winetest.res
> -o winetest.res.o' whereas mine show 'false -i winetest.res -o
> winetest.res.o'.

Ah!  "false" (as an executable) usually indicates that the configure script 
failed to find some executable.  Here, it looks like it failed to find the 
windres executable.  You should track down why this is happening.

> So for some strange (?) reason you have WINDRES=i686-mingw32msvc-windres
> in you're Makefile whereas my Makefile shows 'WINDRES=false'.
>
> ./configure in the wine root shows that WINDRES is not found but
> CROSSWINDRES='i386-mingw32-windres'.
>
> Any idea?

Yes, it looks like the configure script can't find your MinGW windres 
executable.  You'll also need a "newer" MinGW or rather, one with a more 
complete win32api.  Once those two are fixed, you should be good to go!

HTH,

Paul.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20061229/2d279e6b/attachment.pgp


More information about the wine-devel mailing list