Update doc about cross-compiling of the Wine tests.
This commit is contained in:
parent
8d94d1925d
commit
3b659d16b8
|
@ -4,7 +4,7 @@
|
||||||
<sect1 id="testing-intro">
|
<sect1 id="testing-intro">
|
||||||
<title>Introduction</title>
|
<title>Introduction</title>
|
||||||
<para>
|
<para>
|
||||||
With more The Windows API follows no standard, it is itself a defacto
|
With more The Windows API follows no standard, it is itself a de facto
|
||||||
standard, and deviations from that standard, even small ones, often
|
standard, and deviations from that standard, even small ones, often
|
||||||
cause applications to crash or misbehave in some way. Furthermore
|
cause applications to crash or misbehave in some way. Furthermore
|
||||||
a conformance test suite is the most accurate (if not necessarily
|
a conformance test suite is the most accurate (if not necessarily
|
||||||
|
@ -173,6 +173,80 @@ thread.c: 86 tests executed, 5 marked as todo, 0 failures.
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
|
||||||
|
<sect1 id="cross-compiling-tests">
|
||||||
|
<title>Cross-compiling the tests with MinGW</title>
|
||||||
|
<sect2>
|
||||||
|
<title>Setup of the MinGW cross-compiling environment</title>
|
||||||
|
<para>
|
||||||
|
The most daunting problem while trying to cross-compile the Wine
|
||||||
|
tests is the setup of the MinGW cross-compiling environment. Here
|
||||||
|
are some instructions for different Linux distributions and *BSD
|
||||||
|
systems to help with this problem.
|
||||||
|
</para>
|
||||||
|
<sect3>
|
||||||
|
<title>Debian GNU/Linux</title>
|
||||||
|
<para>
|
||||||
|
On Debian all you need to do is type <command>apt-get install
|
||||||
|
mingw32</>.
|
||||||
|
</para>
|
||||||
|
</sect3>
|
||||||
|
<sect3>
|
||||||
|
<title>Red Hat Linux like rpm systems</title>
|
||||||
|
<para>
|
||||||
|
This includes Fedora Core, Red Hat Enterprise Linux, Mandrake,
|
||||||
|
most probably SuSE Linux too, etc. But this list isn't exhaustive;
|
||||||
|
the following steps should probably work on any rpm based system.
|
||||||
|
</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
Download the mingw-binutils and mingw-gcc srpm's from
|
||||||
|
<ulink url="http://ftp.redhat.com/pub/contrib/libc6/SRPMS/">
|
||||||
|
http://ftp.redhat.com/pub/contrib/libc6/SRPMS/</ulink>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
Download the mingw srpm from
|
||||||
|
<ulink url="http://ftp.redhat.com/pub/contrib/libc6/noarch/SRPMS/">
|
||||||
|
http://ftp.redhat.com/pub/contrib/libc6/noarch/SRPMS/</ulink>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
Build the mingw and mingw-binutils rpm's (<command>rpmbuild
|
||||||
|
--rebuild $SRPM</>) and install them.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
After the above step you can build the mingw-gcc rpm too.
|
||||||
|
Install it.
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</sect3>
|
||||||
|
<sect3>
|
||||||
|
<title>*BSD</title>
|
||||||
|
<para>
|
||||||
|
The *BSD systems have in their ports collection a port for the
|
||||||
|
MinGW cross-compiling environment. Please see the documentation
|
||||||
|
of your system about how to build and install a port.
|
||||||
|
</para>
|
||||||
|
</sect3>
|
||||||
|
</sect2>
|
||||||
|
<sect2>
|
||||||
|
<title>Compiling the tests</title>
|
||||||
|
<para>
|
||||||
|
Having the cross-compiling environment set up the generation of the
|
||||||
|
Windows executables is easy by using the Wine build system.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
If you had already run <command>configure</>, then delete
|
||||||
|
<filename>config.cache</> and re-run <command>configure</>.
|
||||||
|
You can then run <command>make crosstest</>. To sum up:
|
||||||
|
<screen>
|
||||||
|
<prompt>$ </><userinput>rm config.cache</>
|
||||||
|
<prompt>$ </><userinput>./configure</>
|
||||||
|
<prompt>$ </><userinput>make crosstest</>
|
||||||
|
</screen>
|
||||||
|
</para>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
|
||||||
<sect1 id="testing-windows">
|
<sect1 id="testing-windows">
|
||||||
<title>Building and running the tests on Windows</title>
|
<title>Building and running the tests on Windows</title>
|
||||||
<sect2>
|
<sect2>
|
||||||
|
@ -256,34 +330,6 @@ thread.c: 86 tests executed, 5 marked as todo, 0 failures.
|
||||||
result of your inquiry.
|
result of your inquiry.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
<sect2>
|
|
||||||
<title>Cross compiling with MinGW on Linux</title>
|
|
||||||
<para>
|
|
||||||
Here is how to generate Windows executables for the tests straight
|
|
||||||
from the comfort of Linux.
|
|
||||||
</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem><para>
|
|
||||||
First you need to get the MinGW cross-compiler. On Debian all
|
|
||||||
you need to do is type <command>apt-get install mingw32</>.
|
|
||||||
</para></listitem>
|
|
||||||
<listitem><para>
|
|
||||||
If you had already run <command>configure</>, then delete
|
|
||||||
<filename>config.cache</> and re-run <command>configure</>.
|
|
||||||
You can then run <command>make crosstest</>. To sum up:
|
|
||||||
<screen>
|
|
||||||
<prompt>$ </><userinput>rm config.cache</>
|
|
||||||
<prompt>$ </><userinput>./configure</>
|
|
||||||
<prompt>$ </><userinput>make crosstest</>
|
|
||||||
</screen>
|
|
||||||
</para></listitem>
|
|
||||||
<listitem><para>
|
|
||||||
If you get an error when compiling <filename>winsock.h</> then
|
|
||||||
you probably need to apply the following patch:
|
|
||||||
<ulink url="http://www.winehq.org/hypermail/wine-patches/2002/12/0157.html">http://www.winehq.org/hypermail/wine-patches/2002/12/0157.html</>
|
|
||||||
</para></listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</sect2>
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue