Fix French translation.
[wine/multimedia.git] / documentation / build.sgml
blobc74c89ec0d9b416bfa035e4b69ab9688785f4598
1 <chapter id="build">
2 <title>Building Wine</title>
4 <sect1 id="build-intro">
5 <title>Introduction</title>
7 <para>
8 Written by &name-shachar-shemesh; <email>&email-shachar-shemesh;</email>
9 (Last updated: 5/27/2003)
10 </para>
11 <para>
12 (Extracted from <filename>wine/documentation/building</filename>)
13 </para>
14 <para>
15 This section explains how to build Wine locally. If you are a packager, please also refer to
16 <filename>wine/documentation/PACKAGING</filename> for package specific considerations.
17 </para>
18 </sect1>
19 <sect1 id="soft-vs-hard-dep">
20 <title>Before you compile - Soft vs. Hard dependencies</title>
22 <para>
23 Wine is a compatibility layer. It is not an attempt to create a new OS. As such, it tries to
24 rely on existing functionality wherever possible. This means that some aspects of Wine require
25 libraries to be available during compilation and runtime, or certain functionality will not
26 be available.
27 </para>
29 <para>
30 There are two types of dependencies. These are the <quote>soft dependency</quote> and the
31 <quote>hard dependency</quote>.
32 </para>
33 <variablelist>
34 <varlistentry>
35 <term>Hard Dependency</term>
36 <listitem>
37 <para>
38 This is a dependency of Wine that, if compiled into the code, must be available at runtime
39 or Wine will not function. Due to it's restrictive manner, developers go to a great length
40 to make sure there are as few of those as possible.
41 </para>
42 <note>
43 <title>Fixme</title>
44 <para>
45 How many of those are there?
46 </para>
47 </note>
48 </listitem>
49 </varlistentry>
50 <varlistentry>
51 <term>Soft Dependency</term>
52 <listitem>
53 <para>
54 These are libraries that, if present during both compilation and runtime, will add to Wine's
55 capabilities. Unlike the hard dependencies above, compiling Wine with these libraries will
56 allow Wine to work even on runtime environments where some or all of the soft dependencies
57 are not available.
58 </para>
59 <note>
60 <title>Packager's note</title>
61 <para>
62 Please do your best to make sure that as many soft dependencies are available during
63 compilation. Failing to have a soft dependency available means that users cannot benefit
64 from a Wine capability.
65 </para>
66 </note>
67 </listitem>
68 </varlistentry>
69 </variablelist>
71 <sect2>
72 <title>Soft dependencies list</title>
73 <para>
74 Here is a list of the libraries Wine needs, and their dependency is soft. We suggest packagers
75 install each and every last of those before building the package. These libraries are not
76 dependencies in the RPM sense. In DEB packages, they should appear as "Suggests" or "Recommends",
77 as the case may be.
78 </para>
79 <variablelist>
80 <varlistentry>
81 <term><ulink url="http://www.freetype.org/">FreeType</ulink></term>
82 <listitem>
83 <para>
84 This library is used for direct rendering of fonts. It provides better support of fonts than
85 using the X11 fonts engine. It is only needed for the X11 back end engine. Used from GDI.
86 </para>
87 </listitem>
88 </varlistentry>
89 <varlistentry>
90 <term><ulink url="http://sourceforge.net/projects/alsa">Alsa</ulink> - Linux only</term>
91 <listitem>
92 <para>
93 This library gives sound support to the Windows environment.
94 </para>
95 </listitem>
96 </varlistentry>
97 <varlistentry>
98 <term><ulink url="http://jackit.sourceforge.net/">libjack</ulink></term>
99 <listitem>
100 <para>
101 Something to do with the MultiMedia system. Recording sound?
102 </para>
103 <note><title>Fixme</title>
104 <para>I don't truely know what this lib is.</para>
105 </note>
106 </listitem>
107 </varlistentry>
108 <varlistentry>
109 <term><ulink url="http://www.cups.org/">CUPS</ulink> - Common Unix Printing System</term>
110 <listitem>
111 <para>
112 This library allows Windows to see CUPS defined printers, and to print to them.
113 </para>
114 </listitem>
115 </varlistentry>
116 <varlistentry>
117 <term>OpenGL</term>
118 <listitem>
119 <para>
120 This is used for both OpenGL and Direct3D (and some other DirectX functions as well) support
121 in Wine. There are many many libraries for providing this functionality. It is enough for one
122 of them to be available when compiling Wine. Wine can work with any other library during
123 runtime.
124 </para>
125 <para>
126 If no library is available, packagers are encouraged to compile Wine with
127 <ulink url="http://www.mesa3d.org/">Mesa3D</ulink>, which requires no hardware support to
128 install.
129 </para>
130 </listitem>
131 </varlistentry>
132 </variablelist>
133 </sect2>
134 </sect1>
136 <sect1 id="get-source">
137 <title>Getting the sources</title>
139 <sect2>
140 <title>HTTP Download</title>
141 <para>
142 The latest released sources
143 <ulink url="http://www.winehq.org/?page=download_source">http://www.winehq.org/?page=download_source</ulink>.
144 Installation instructions are also available at the same place.
145 </para>
146 </sect2>
147 <sect2>
148 <title>Getting sources from CVS</title>
149 <para>
150 In order to get the sources from CVS, you first need to log into the CVS server. Issue the
151 following command:
152 </para>
153 <screen>
154 <prompt>~/sources$ </prompt><command>cvs -d :pserver:cvs@cvs.winehq.org:/home/wine login</command>
155 Logging in to :pserver:cvs@cvs.winehq.org:2401/home/wine
156 CVS password:</screen>
157 <para>
158 Use "<command>cvs</command>" as password. Next, you need to pull the sources from CVS. Use the
159 following command:
160 </para>
161 <screen>
162 <prompt>~/sources$ </prompt><command>cvs -z 0 -d :pserver:cvs@cvs.winehq.org:/home/wine co wine</command>
163 cvs checkout: Updating wine
164 U wine/.cvsignore
165 U wine/ANNOUNCE
166 U wine/AUTHORS
167 U wine/BUGS
168 U wine/COPYING.LIB</screen>
169 <para>
170 The list will go on. When the operation finishes, a new directory called "wine" will be created,
171 and in it all the sources will reside.
172 </para>
173 <note>
174 <title>Warning</title>
175 <para>
176 In the above example, compression was disabled. Versions of CVS up to, and including, 1.11.1
177 hang if compression is enabled. If you have version 1.11.5 or higher, you can enable compression
178 by feeding other values to the <command>-z</command> argument.
179 </para>
180 </note>
181 <para>
182 For more details, consult the HOWTO at <ulink url="http://www.winehq.org/?page=cvs">http://www.winehq.org/?page=cvs</ulink>
183 </para>
184 </sect2>
185 </sect1>
186 </chapter>
187 <!-- Keep this comment at the end of the file
188 Local variables:
189 mode: sgml
190 sgml-parent-document:("wine-devel.sgml" "set" "book" "part" "chapter" "")
191 End: