GetCPInfo should return FALSE if called with NULL info buffer.
[wine] / documentation / getting.sgml
1   <chapter id="getting-wine">
2     <title>Getting Wine</title>
3     <sect1 id="installation-methods">
4       <title>Wine Installation Methods</title>
5       <para>
6         Once you've decided that Wine is right for your needs, the next step is 
7         to decide how you want to install it.  There are three methods for 
8         installing Wine from WineHQ, each with their own advantages and 
9         disadvantages.
10       </para>
11
12       <sect2 id="installation-methods-package">
13         <title>Installation from a package</title>
14         <para>
15           By far the easiest method for installing Wine is to use a prepackaged 
16           version of Wine.  These packages contain ready-to-run Wine binary 
17           files specifically compiled for your distribution, and they are 
18           tested regularly by the packagers for both functionality and 
19           completeness.
20         </para>
21         <para>
22           Packages are the recommended method for installing Wine.  We make 
23           them easily available at the 
24           <ulink url="http://www.winehq.org/site/download">WineHQ downloads page
25           </ulink>, and these are always the latest packages available.  Being 
26           popular, Wine packages can also be found elsewhere in official 
27           distribution repositories.  These can, however, sometimes be out of 
28           date, depending on the distribution.  Packages are easily upgradable 
29           as well, and many distributions can upgrade Wine seamlessly with a 
30           few clicks.  Building your own installable binary package from a 
31           source package is also possible, although it is beyond the scope of 
32           this guide.
33         </para>
34       </sect2>
35
36       <sect2 id="installation-methods-source">
37         <title>Installation from a source archive</title>
38         <para>
39           Sometimes the Wine packages don't fit your needs exactly.  Perhaps 
40           they're not available for your architecture or distribution, or 
41           perhaps you want to build wine using your own compiler optimizations 
42           or with some options disabled, or perhaps you need to modify a 
43           specific part of the source code before compilation.  Being an open 
44           source project, you are free to do all of these things with Wine's 
45           source code, which is provided with every Wine release. This method 
46           of installation can be done by downloading a Wine source archive and 
47           compiling from the command line.  If you are comfortable with such 
48           things and have special needs, this option may be for you.
49         </para>
50         <para>
51           Getting Wine source archives is simple.  Every release, we put a 
52           source package in compressed tar.gz format at the 
53           <ulink url="http://www.winehq.org/site/download">WineHQ downloads 
54           page</ulink>.  Compiling and installing Wine from source is slightly 
55           more difficult than using a package, however we will cover it in 
56           depth and attempt to hold your hand along the way.
57         </para>
58       </sect2>
59
60       <sect2 id="installation-methods-cvs">
61         <title>Installation from a cvs snapshot</title>
62         <para>
63           If you wish to try out the bleeding edge of Wine development, or 
64           would even like to help develop Wine yourself, you can download the 
65           very latest source code from our CVS server.  Instructions for 
66           downloading from the Wine cvs repository are available at <ulink 
67           url="http://www.winehq.org/site/cvs">http://www.winehq.org/site/cvs
68           </ulink>.
69         </para>
70         <para>
71           Please take note that the usual warnings for using a developmental 
72           version still apply.  The source code on the CVS server is largely 
73           untested and may not even compile properly.  It is, however, the 
74           best way to test out how Wine will work in the next version, and if 
75           you're modifying source code it's best to get the latest copy.  The 
76           CVS repository is also useful for application maintainers interested 
77           in testing if an application will still work right for the next 
78           release, or if a recent patch actually improves things.  If you're 
79           interested in helping us to get an application working in Wine, see 
80           the <ulink url="http://www.winehq.org/site/helping-applications">
81           guide to helping applications work</ulink>.
82         </para>
83       </sect2>
84     </sect1>
85
86     <sect1 id="installing-wine-package">
87       <title>Installing Wine from a package</title>
88       <sect2>
89         <title>Installing a fresh package</title>
90         <para>
91           Installing a package on a fresh system is remarkably straightforward. 
92           Simply download and install the package using whatever utility your 
93           distribution provides.  There is usually no need to explicitly 
94           remove old packages before installing, as modern Linux distributions 
95           should upgrade and replace them automatically.  If you installed 
96           Wine from source code, however, you should remove it before 
97           installing a Wine package.  See the section on <link 
98           linkend="uninstalling-wine-source">uninstalling Wine from source
99           </link> for proper instructions.
100         </para>
101       </sect2>
102       <sect2>
103         <title>Different Distributions</title>
104         <para>
105           Wine works on a huge amount of different Linux distributions, as well 
106           other Unix-like systems such as Solaris and FreeBSD, each with their 
107           own specific way of installing and managing packages.  Fortunately, 
108           however, the same general ideas apply to all of them, and installing 
109           Wine should be no more difficult than installing any other software, 
110           no matter what distribution you use.  Uninstalling Wine packages is 
111           simple as well, and in modern Linux distributions is usually done 
112           through the same easy interface as package installation.
113         </para>
114         <para>
115           We won't cover the specifics of installing or uninstalling Wine 
116           packages among the various systems' methods of packaging and package 
117           management in this guide, however, up to date installation notes for 
118           particular distributions can be found at the WineHQ website in the 
119           <ulink url="http://www.winehq.org/site/howto">HowTo</ulink>.
120           If you need further help figuring 
121           out how to simply install a Wine package, we suggest consulting your 
122           distribution's documentation, support forums, or IRC channels.
123         </para>
124       </sect2>
125     </sect1>
126
127     <sect1 id="installing-wine-source">
128       <title>Installing Wine from source</title>
129       <para>
130           Before installing Wine from source, make sure you uninstall any Wine 
131           binary packages you may have on your system.  Installing from source 
132           requires use of the terminal window as well as a full copy of the 
133           Wine source code.  Once having downloaded the source from CVS or 
134           extracted it from an archive, navigate to it using the terminal and 
135           then follow the remaining steps.
136       </para>
137       <sect2>
138         <title>Getting the Build Dependencies</title>
139         <para>
140           Wine makes use of many open source libraries during its operation.  
141           While Wine is not strictly dependent on these libraries and will 
142           compile without most of them, much of Wine's functionality is 
143           improved by having them available at compile time.  In the past, 
144           many user problems were caused by people not having the necessary 
145           development libraries when they built Wine from source; because of 
146           this reason and others, we highly recommend installing via binary 
147           packages or by building source packages which can automatically 
148           satisfy their build dependencies.
149         </para>
150         <para>
151           If you wish to install build dependencies by hand, there are several 
152           ways to see if you're missing some useful development libraries.  
153           The most straightforward approach is to watch the configure program's 
154           output before you compile Wine and see if anything important is 
155           missing; if it is, simply install what's missing and rerun configure 
156           before compiling.  You can also check the file configure generates, 
157           (include/config.h.in) and see if what files configure is looking for 
158           but not finding.
159         </para>
160       </sect2>
161       <sect2 id="compiling-wine">
162         <title>Compiling Wine</title>
163         <para>
164           Once you've installed the build dependencies you need, you're ready 
165           to compile the package.  In the terminal window, after having 
166           navigated to the Wine source tree, run the following commands:
167             <screen>
168             <prompt>$ </><userinput>./configure</>
169             <prompt># </><userinput>make depend</>
170             <prompt># </><userinput>make</>
171             <prompt># </><userinput>make install</>
172             </screen>
173           The last command requires root privileges.  Although you should 
174           never run Wine as root, you will need to install it this way.
175         </para>
176       </sect2>
177       <sect2 id="uninstalling-wine-source">
178         <title>Uninstalling Wine from Source</title>
179         <para>
180           To uninstall Wine from source, once again navigate to the same 
181           source folder that you used to install Wine using the terminal.  
182           Then, run the following command:
183             <screen>
184             <prompt># </><userinput>make uninstall</>
185             </screen>
186           This command will require root privileges, and should remove all of 
187           the Wine binary files from your system.  It will not, however, 
188           remove your Wine configuration and applications located in your 
189           user's home directory, so you are free to install another version of 
190           Wine or delete that configuration by hand.
191         </para>
192       </sect2>
193     </sect1>
194
195   </chapter>
196
197 <!-- Keep this comment at the end of the file
198 Local variables:
199 mode: sgml
200 sgml-parent-document:("wine-user.sgml" "set" "book" "chapter" "")
201 End:
202 -->