ntdll: Don't produce unreachable code during conditional compilation. Found by Smatch.
[wine] / README
1 1. INTRODUCTION
2
3 Wine is a program which allows running Microsoft Windows programs
4 (including DOS, Windows 3.x and Win32 executables) on Unix.  It
5 consists of a program loader which loads and executes a Microsoft
6 Windows binary, and a library (called Winelib) that implements Windows
7 API calls using their Unix or X11 equivalents.  The library may also
8 be used for porting Win32 code into native Unix executables.
9
10 Wine is free software, released under the GNU LGPL; see the file
11 LICENSE for the details.
12
13
14 2. QUICK START
15
16 Whenever you compile from source, it is recommended to use the Wine
17 Installer to build and install Wine.  From the top-level directory
18 of the Wine source (which contains this file), run:
19
20 ./tools/wineinstall
21
22 Run programs as "wine program".  For more information and problem
23 resolution, read the rest of this file, the Wine man page, and
24 especially the wealth of information found at http://www.winehq.org.
25
26
27 3. REQUIREMENTS
28
29 To compile and run Wine, you must have one of the following:
30
31   Linux version 2.0.36 or above
32   FreeBSD 5.3 or later
33   Solaris x86 2.5 or later
34   NetBSD-current
35   Mac OS X 10.4 or later
36
37 As Wine requires kernel-level thread support to run, only the operating
38 systems mentioned above are supported.
39 Other operating systems which support kernel threads may be supported
40 in the future.
41
42 Linux info:
43   While Linux 2.2.x should still work and Linux 2.0.x may still work
44   (older 2.0.x versions had thread-related crashes),
45   it's best to have a current kernel such as 2.4.x or 2.6.x.
46
47 FreeBSD info:
48   Wine should build on FreeBSD 4.x and FreeBSD 5.x, but versions before
49   FreeBSD 5.3 will generally not work properly.
50  
51   More information can be found in the FreeBSD ports tree at
52   <ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/emulators/wine/>.
53
54 Solaris info:
55   You will most likely need to build Wine with the GNU toolchain
56   (gcc, gas, etc.). Warning : installing gas does *not* ensure that it
57   will be used by gcc. Recompiling gcc after installing gas or
58   symlinking cc, as and ld to the gnu tools is said to be necessary.
59
60 NetBSD info:
61   Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options
62   turned on in your kernel.
63
64 Mac OS X info:
65   You need Xcode 2.4 or later to build properly on x86.
66
67
68 Supported file systems:
69   Wine should run on most file systems. However, Wine will fail to start
70   if umsdos is used for the /tmp directory. A few compatibility problems have
71   also been reported using files accessed through Samba. Also, as NTFS
72   can only be used safely with readonly access for now, we recommend against
73   using NTFS, as Windows programs need write access almost everywhere.
74   In case of NTFS files, copy over to a writable location.
75
76 Basic requirements:
77   You need to have the X11 development include files installed
78   (called xlib6g-dev in Debian and XFree86-devel in Red Hat).
79
80 Build tool requirements:
81   On x86 Systems gcc >= 2.7.2 is required.
82   Versions earlier than 2.7.2.3 may have problems when certain files
83   are compiled with optimization, often due to problems with header file
84   management.
85
86   Of course you also need "make" (most likely GNU make).
87
88   You also need flex version 2.5 or later and bison.
89
90 Optional support libraries:
91   Run ./configure --verbose to see the optional libraries that could
92   be used but aren't found on your system.
93
94
95 4. COMPILATION
96
97 In case you chose to not use wineinstall, run the following commands
98 to build Wine:
99
100 ./configure
101 make depend
102 make
103
104 This will build the program "wine" and numerous support libraries/binaries.
105 The program "wine" will load and run Windows executables.
106 The library "libwine" ("Winelib") can be used to compile and link
107 Windows source code under Unix.
108
109 To see compile configuration options, do ./configure --help.
110
111 To upgrade to a new release by using a patch file, first cd to the
112 top-level directory of the release (the one containing this README
113 file). Then do a "make clean", and patch the release with:
114
115     bunzip2 -c patch-file | patch -p1
116
117 where "patch-file" is the name of the patch file (something like
118 wine-0.9.x.diff.bz2). You can then re-run "./configure", and then
119 run "make depend && make".
120
121
122 5. SETUP
123
124 Once Wine has been built correctly, you can do "make install"; this
125 will install the wine executable, the Wine man page, and a few other
126 needed files.
127
128 Don't forget to uninstall any conflicting previous Wine installation
129 first.  Try either "dpkg -r wine" or "rpm -e wine" or "make uninstall"
130 before installing.
131
132 See the Support area at http://www.winehq.org/ for configuration
133 hints.
134
135 In case of library loading errors
136 (e.g. "Error while loading shared libraries: libntdll.so"), make sure
137 to add the library path to /etc/ld.so.conf and run ldconfig as root.
138
139
140 6. RUNNING PROGRAMS
141
142 When invoking Wine, you may specify the entire path to the executable,
143 or a filename only.
144
145 For example: to run Solitaire:
146
147         wine sol                   (using the search Path as specified in
148         wine sol.exe                the config file to locate the file)
149
150         wine c:\\windows\\sol.exe  (using DOS filename syntax)
151
152         wine /usr/windows/sol.exe  (using Unix filename syntax)
153
154         wine sol.exe /parameter1 -parameter2 parameter3
155                                    (calling program with parameters)
156
157 Wine is not yet complete, so several programs may crash. In that crash
158 you will be dropped into the debugger so that you can investigate and
159 fix the problem.  For more information on how to do this, please check
160 the debugging section of the Wine Developer's Guide.
161
162
163 7. GETTING MORE INFORMATION
164
165 WWW:    A great deal of information about Wine is available from WineHQ at
166         http://www.winehq.org/ : various Wine Guides, application database,
167         bug tracking. This is probably the best starting point.
168
169 FAQ:    The Wine FAQ is located at http://www.winehq.org/FAQ
170
171 Usenet: You can discuss Wine-related issues and get help
172         on comp.emulators.ms-windows.wine.
173
174 Bugs:   Report bugs to Wine Bugzilla at http://bugs.winehq.org
175         Please search the bugzilla database to check whether your
176         problem is already found before posting a bug report.  You can
177         also post bug reports to comp.emulators.ms-windows.wine.
178
179 IRC:    Online help is available at channel #WineHQ on irc.freenode.net.
180
181 GIT:    The current Wine development tree is available through GIT.
182         Go to http://www.winehq.org/site/git for more information.
183
184 Mailing lists:
185         There are several mailing lists for Wine users and developers;
186         see http://www.winehq.org/forums for more information.
187
188 Wiki:   The Wine Wiki is located at http://wiki.winehq.org
189
190 If you add something, or fix a bug, please send a patch (in 'diff -u'
191 format) to wine-patches@winehq.org list for inclusion in the next
192 release.
193
194 --
195 Alexandre Julliard
196 julliard@winehq.org