1 <chapter id="compiling">
2 <title>Compiling Wine</title>
3 <para>How to compile wine, and problems that may arise...</para>
5 <sect1 id="compiling-wine">
6 <title>Compiling Wine</title>
9 <title>Tools required</title>
14 gcc -- 2.7.x required (Wine uses attribute stdcall).
15 Versions earlier than 2.7.2.3 barf on shellord.c
16 -- compile without optimizing for that file.
17 In addition EGCS 1.1.x and GCC 2.95.x are reported
23 flex >= 2.5.1 (required for the debugger and wrc,
29 bison (also required for debugger. Don't know whether BSD yacc
35 X11 libs and include files
40 texinfo >= 3.11 (optional, to compile the documentation.)
45 autoconf (if you want to remake configure, which is
46 not normally required)
51 XF86DGA extension (optional, detected by configure,
52 needed for DirectX support)
57 Open Sound System (optional, detected by configure,
64 The Red Hat RPMs are gcc-XXX, flex-XXX, and
65 XFree86-devel-XXX, where XXX is the version number.
70 <title>Space required</title>
72 You also need about 230 MB of available disk space for compilation.
73 The compiled libwine.so binary takes around 5 MB of disk space,
74 which can be reduced to about 1 MB by stripping ('strip wine').
75 Stripping is not recommended, however, as you can't submit
76 proper crash reports with a stripped binary any more.
81 <title>Common problems</title>
83 If you get a repeatable sig11 compiling shellord.c, thunk.c
84 or other files, try compiling just that file without optimization.
85 Then you should be able to finish the build.
90 <title>OS specific issues</title>
95 FreeBSD -- In order to run Wine, the FreeBSD kernel
96 needs to be compiled with
98 <informaltable frame="all">
102 <entry>options</entry>
103 <entry>USER_LDT</entry>
106 <entry>options</entry>
107 <entry>SYSVSHM</entry>
110 <entry>options</entry>
111 <entry>SYSVSEM</entry>
114 <entry>options</entry>
115 <entry>SYSVMSG</entry>
122 If you need help, read the chapter "<ulink url="http://www.freebsd.org/handbook/kernelconfig-building.html">Building and Installing a Custom Kernel</ulink>" in the "<ulink url="http://www.freebsd.org/handbook/">FreeBSD handbook</ulink>. You'll need to be running FreeBSD 3.x or later.
127 SCO Unixware, Openserver -- UW port is supported by SCO.
132 OS/2 -- not a complete port. See <ulink url="http://odin.netlabs.org/ProjectAbout.phtml">Odin</ulink> for a project which uses some Wine code.
137 Solaris x86 2.x -- Needs GNU toolchain (gcc, gas, flex as above, yacc may work) to compile, seems functional (980215).
142 DGUX, HP, Irix, or other Unixes; non-intel Linux.
143 No ports have been seriously attempted.
144 For non-intel Unixes, only a winelib port is relevant.
145 Alignment may be a problem.
150 Macintosh/Rhapsody/BeOS -- no ports have been attempted.
159 <!-- Keep this comment at the end of the file
162 sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")