File: compiling.sgml

package info (click to toggle)
wine 0.0.20020411-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 43,012 kB
  • ctags: 104,265
  • sloc: ansic: 550,196; perl: 21,747; yacc: 3,990; sh: 3,904; makefile: 3,297; tcl: 2,616; lex: 2,443
file content (164 lines) | stat: -rw-r--r-- 4,523 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
  <chapter id="compiling">
    <title>Compiling Wine</title>
    <para>How to compile wine, and problems that may arise...</para>

    <sect1 id="compiling-wine">
      <title>Compiling Wine</title>

      <sect2>
        <title>Tools required</title>
	<para>
	  <itemizedlist>
	    <listitem>
	      <para>
	        gcc -- 2.7.x required (Wine uses attribute stdcall).
		Versions earlier than 2.7.2.3 barf on shellord.c
		-- compile without optimizing for that file.
		In addition EGCS 1.1.x and GCC 2.95.x are reported
		to work fine.
	      </para>
	    </listitem>
	    <listitem>
	      <para>
	        flex >= 2.5.1 (required for the debugger and wrc,
		and lex won't do)
	      </para>
	    </listitem>
	    <listitem>
	      <para>
	        bison (also required for debugger. Don't know whether BSD yacc
		would work.)
	      </para>
	    </listitem>
	    <listitem>
	      <para>
	        X11 libs and include files
	      </para>
	    </listitem>
	    <listitem>
	      <para>
	        texinfo >= 3.11 (optional, to compile the documentation.)
	      </para>
	    </listitem>
	    <listitem>
	      <para>
	        autoconf (if you want to remake configure, which is
		not normally required)
	      </para>
	    </listitem>
	    <listitem>
	      <para>
	        XF86DGA extension (optional, detected by configure,
		needed for DirectX support)
	      </para>
	    </listitem>
	    <listitem>
	      <para>
	        Open Sound System (optional, detected by configure,
		for sound support)
	      </para>
	    </listitem>
	  </itemizedlist>
	</para>
	<para>
	  The Red Hat RPMs are gcc-XXX, flex-XXX, and
	  XFree86-devel-XXX, where XXX is the version number.
	</para>
      </sect2>

      <sect2>
        <title>Space required</title>
	<para>
	  You also need about 230 MB of available disk space for compilation.
	  The compiled libwine.so binary takes around 5 MB of disk space,
	  which can be reduced to about 1 MB by stripping ('strip wine').
	  Stripping is not recommended, however, as you can't submit
	  proper crash reports with a stripped binary any more.
	</para>
      </sect2>
      
      <sect2>
        <title>Common problems</title>
	<para>
	  If you get a repeatable sig11 compiling shellord.c, thunk.c
	  or other files, try compiling just that file without optimization.
	  Then you should be able to finish the build.
	</para>
      </sect2>

      <sect2>
        <title>OS specific issues</title>
	<para>
	  <itemizedlist>
	    <listitem>
	      <para>
	        FreeBSD -- In order to run Wine, the FreeBSD kernel
		needs to be compiled with

		<informaltable frame="all">
		  <tgroup cols="2">
		    <tbody>
		      <row>
		        <entry>options</entry>
		        <entry>USER_LDT</entry>
		      </row>
		      <row>
		        <entry>options</entry>
		        <entry>SYSVSHM</entry>
		      </row>
		      <row>
		        <entry>options</entry>
		        <entry>SYSVSEM</entry>
		      </row>
		      <row>
		        <entry>options</entry>
		        <entry>SYSVMSG</entry>
		      </row>
		    </tbody>
		  </tgroup>
		</informaltable>


		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.
	      </para>
	    </listitem>
	    <listitem>
	      <para>
	        SCO Unixware, Openserver -- UW port is supported by SCO.
	      </para>
	    </listitem>
	    <listitem>
	      <para>
	        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.
	      </para>
	    </listitem>
	    <listitem>
	      <para>
		Solaris x86 2.x -- Needs GNU toolchain (gcc, gas, flex as above, yacc may work) to compile, seems functional (980215). 
	      </para>
	    </listitem>
	    <listitem>
	      <para>
		DGUX, HP, Irix, or other Unixes; non-intel Linux.
		No ports have been seriously attempted.
		For non-intel Unixes, only a winelib port is relevant.
		Alignment may be a problem.
	      </para>
	    </listitem>
	    <listitem>
	      <para>
	        Macintosh/Rhapsody/BeOS -- no ports have been attempted.
	      </para>
	    </listitem>
	  </itemizedlist>
        </para>
      </sect2>
    </sect1>
  </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")
End:
-->