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