Move implementation of SysParametersInfo from Ascii to Unicode.
[wine] / README
diff --git a/README b/README
index 6dc6d64..7bece10 100644 (file)
--- a/README
+++ b/README
 1. INTRODUCTION
 
-Wine is a program that allows running MS-Windows programs under X11.
-It consists of a program loader, that loads and executes an
-MS-Windows binary, and of an emulation library that translates Windows
-API calls to their Unix/X11 equivalent.
+Wine is a program which allows running Microsoft Windows programs
+(including DOS, Windows 3.x and Win32 executables) on Unix.  It
+consists of a program loader which loads and executes a Microsoft
+Windows binary, and a library (called Winelib) that implements Windows
+API calls using their Unix or X11 equivalents.  The library may also
+be used for porting Win32 code into native Unix executables.
 
-Wine is free software. See the file LICENSE for the details.
-Basically, you can do anything with it, except claim that you wrote it.
+Wine is free software, released under the GNU LGPL; see the file
+LICENSE for the details.
 
+2. QUICK START
 
-2. COMPILATION
+Whenever you compile from source, it is recommended to use the Wine
+Installer to build and install Wine.  From the top-level directory
+of the Wine source (which contains this file), run:
 
-You must have one of:
+./tools/wineinstall
 
-       Linux version 0.99.13 or above
-       NetBSD-current
-       FreeBSD-current or FreeBSD 1.1
+Run programs as "wine [options] program".  For more information and
+problem resolution, read the rest of this file, the Wine man page,
+the files in the documentation directory of the Wine source
+(see "DOCUMENTATION"), and especially the wealth of information
+found at http://www.winehq.org.
 
-You also need to have libXpm installed on your system. The sources for
-it are probably available on the ftp site where you got Wine. They can
-also be found on ftp.x.org and all its mirror sites.
+3. REQUIREMENTS
 
-To build Wine, first do a "./configure" and then a "make depend; make".
- The executable "wine" will be built.  "wine" will load and run 16-bit
-Windows executables.
+To compile and run Wine, you must have one of the following:
 
-To upgrade to a new release by using a patch file, first cd to the
-top-level directory of the release (the one containing this README
-file). Then do a "make clean", and patch the release with:
+  Linux version 2.0.36 or above
+  FreeBSD 4.x or FreeBSD 5-CURRENT or later
+  Solaris x86 2.5 or later
+  NetBSD-current
 
-    gunzip -c patch-file | patch -p1
-
-where "patch-file" is the name of the patch file (something like
-Wine-yymmdd.diff.gz). You can then re-run "./configure", and then
-run "make depend; make".
+As Wine requires kernel-level thread support to run, only the operating
+systems mentioned above are supported.
+Other operating systems which support kernel threads may be supported
+in the future.
 
+Linux info:
+  While Linux 2.2.x should still work and Linux 2.0.x may still work
+  (older 2.0.x versions had thread-related crashes),
+  it's best to have a current kernel such as 2.4.x.
 
-3. SETUP
+FreeBSD info:
+  Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG
+  options turned on in your kernel.  More information is in the ports
+  tree: ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/emulators/wine/
 
-Wine requires you to have a file /usr/local/etc/wine.conf (you can
-supply a different name when configuring wine) or a file called .winerc
-in your home directory.
+Solaris info:
+  You will most likely need to build Wine with the GNU toolchain
+  (gcc, gas, etc.). Warning : installing gas does *not* ensure that it
+  will be used by gcc. Recompiling gcc after installing gas or
+  symlinking cc, as and ld to the gnu tools is said to be necessary.
 
-The format of this config file is just like a Windows .ini file.
-The file wine.ini contains a config file example.
+NetBSD info:
+  Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options
+  turned on in your kernel.
 
-Here's an explanation of each section:
 
-* [drives]
 
-format: <driveletter> = <rootdirectory>
-default: none
+Supported file systems:
+  Wine should run on most file systems. However, Wine will fail to start
+  if umsdos is used for the /tmp directory. A few compatibility problems have
+  also been reported using files accessed through Samba. Also, as NTFS
+  can only be used safely with readonly access for now, we recommend against
+  using NTFS, as Windows programs need write access almost everywhere.
+  In case of NTFS files, copy over to a writable location.
 
-This section is used to specify the root directory of each `dos'drive 
-as Windows' applications require a dos/mswindows based diskdrive & 
-directory scheme. 
+Basic requirements:
+  You need to have the X11 development include files installed
+  (called xlib6g-dev in Debian and XFree86-devel in RedHat).
 
-If you mounted your dos-partition as /dos and installed Microsoft Windows 
-in c:\windows than you should specify c=/dos in the drives section.
+Build tool requirements:
+  On x86 Systems gcc >= 2.7.2 is required.
+  Versions earlier than 2.7.2.3 may have problems when certain files
+  are compiled with optimization, often due to problems with header file
+  management. pgcc currently doesn't work with Wine. The cause of this problem
+  is unknown.
 
-* [wine]
+  Of course you also need "make" (most likely GNU make).
 
-format: windows = <directory>
-default: c:\windows
+  You also need flex version 2.5 or later and yacc.
+  Bison will work as a replacement for yacc. If you are
+  using RedHat or Debian, install the flex and bison packages.
 
-Used to specify an different windows directory.
+Optional support libraries:
+  If you want CUPS printing support, please install both cups and cups-devel
+  packages.
 
-format: system = <directory>
-default: c:\windows\system
+  For the automatic processing of the test suite scripts, you also need
+  libperl development header support (libperl-dev package on Debian).
 
-Used to specify an different system directory.
+For requirements in case you intend to build the documentation yourself,
+see "DOCUMENTATION" section.
 
-format: temp = <directory>
-default: c:\temp
+4. COMPILATION
 
-Used to specify a directory where Windows applications can store temporary
-files.
+In case you chose to not use wineinstall, run the following commands
+to build Wine:
 
-format: path = <directories separated by semi-colons>
-default: c:\windows;c:\windows\system
+./configure
+make depend
+make
 
-Used to specify the path which will be used to find executables and DLL's.
+This will build the program "wine" and numerous support libraries/binaries.
+The program "wine" will load and run Windows executables.
+The library "libwine" ("Winelib") can be used to compile and link
+Windows source code under Unix.
 
-format: symboltablefile = <filename>
-default: wine.sym
+To see compile configuration options, do ./configure --help.
 
-Used to specify the path and file name of the symbol table used by the
-built-in debugger.
-
-* [serialports]
-
-format: com[12345678] = <devicename>
-default: none
+To upgrade to a new release by using a patch file, first cd to the
+top-level directory of the release (the one containing this README
+file). Then do a "make clean", and patch the release with:
 
-Used to specify the devices which are used as com1 - com8.
+    gunzip -c patch-file | patch -p1
 
-* [parallelports]
+where "patch-file" is the name of the patch file (something like
+Wine-yymmdd.diff.gz). You can then re-run "./configure", and then
+run "make depend && make".
 
-format: lpt[12345678] = <devicename>
-default: none
+5. SETUP
 
-Used to specify the devices which are used as lpt1 - lpt8.
+Once Wine has been built correctly, you can do "make install"; this
+will install the wine executable, the Wine man page, and a few other
+needed files.
 
-* [spy]
+Don't forget to uninstall any conflicting previous Wine installation
+first.  Try either "dpkg -r wine" or "rpm -e wine" or "make uninstall"
+before installing.
 
-format: file = <filename or CON when logging to stdout>
-default: none
+If you want to read the documentation supplied with the Wine source,
+see the "DOCUMENTATION" section.
 
-used to specify the file which will be used as logfile.
+Wine requires a configuration file named named "config" in your
+~/.wine directory. The format of this file is explained in the config file
+man page (documentation/wine.conf.man).
+The file documentation/samples/config contains an example configuration file
+which has to be adapted and copied to the location mentioned above.
 
-format: exclude = <message names separated by semicolons>
-default: none
+Don't forget to add vital registry entries by applying winedefault.reg
+with programs/regedit/. See documentation/ directory for details.
 
-Used to specify which messages will be excluded from the logfile.
+See the Support area at http://www.winehq.org/ for further
+configuration hints.
 
-format: include = <message names separated by semicolons>
-default: none
+In case of library loading errors
+(e.g. "Error while loading shared libraries: libntdll.so"), make sure
+to add the library path to /etc/ld.so.conf and run ldconfig as root.
 
-Used to specify which messages will be included in the logfile.
+In order to verify the correctness of the environment you need for
+Wine to run successfully, you may run "./tools/winecheck | less".
+You'll get a percentage score indicating "Wine configuration correctness".
+As this program is alpha, it doesn't run a truly thorough test yet, though,
+so it should be taken as a first verification step only.
 
+See wine.conf man page on how to switch to text mode only support if desired.
 
-4. RUNNING PROGRAMS
+6. RUNNING PROGRAMS
 
-When invoking Wine, you must specify the entire path to the executable,
+When invoking Wine, you may specify the entire path to the executable,
 or a filename only.
 
-For example: to run Windows' solitaire:
+For example: to run Solitaire:
+
+       wine sol                   (using the search Path as specified in
+       wine sol.exe                the config file to locate the file)
 
-       wine sol                   (using the searchpath to locate the file)
-       wine sol.exe
+       wine c:\\windows\\sol.exe  (using DOS filename syntax)
 
-       wine c:\\windows\\sol.exe  (using a dosfilename)
+       wine /usr/windows/sol.exe  (using Unix filename syntax)
 
-       wine /usr/windows/sol.exe  (using a unixfilename)
+        wine -- sol.exe /parameter1 -parameter2 parameter3
+                                  (calling program with parameters)
 
 Note: the path of the file will also be added to the path when
       a full name is supplied on the commandline.
 
-Have a nice game of solitaire, but be careful.  Emulation isn't perfect.
-So, occasionally it may crash.
+Wine is not yet complete, so several programs may crash. Provided you set up
+winedbg correctly according to documentation/debugger.sgml, you will be dropped
+into a debugger so that you can investigate and fix the problem.
+For more information on how to do this, please read the file
+documentation/debugging.sgml.
+
+You should backup all your important files that you give Wine access
+to, or use a special Wine copy of them, as there have been some cases
+of users reporting file corruption. Do NOT run Explorer, for instance,
+if you don't have a proper backup, as it renames/cripples several
+directories sometimes. Not even other MS apps such as e.g. Messenger are safe,
+as they launch Explorer somehow. This particular corruption (!$!$!$!$.pfr)
+can at least partially be fixed by using
+http://home.nexgo.de/andi.mohr/download/decorrupt_explorer
+
+7. DOCUMENTATION
+
+Some documentation (various Wine Guides etc.) can be found in the
+documentation/ directory (apart from also being available on WineHQ).
+
+If you want to process the SGML files in there, then you can run "make doc"
+in the documentation/ directory.
+Doing so requires the sgml tools package (for db2html, db2ps, db2pdf) named:
+Debian:                docbook-utils
+Mandrake:      sgml-tools-A.B.C-DDmdk
+SuSE:          docbktls-A.BB.C-DD
+
+8. GETTING MORE INFORMATION
+
+WWW:   A great deal of information about Wine is available from WineHQ at
+       http://www.winehq.org/ : various Wine Guides, application database,
+       bug tracking. This is probably the best starting point.
+
+FAQ:   The Wine FAQ is located at http://www.winehq.org/FAQ
+
+Usenet:        You can discuss Wine-related issues and get help
+       on comp.emulators.ms-windows.wine.
+
+Bugs:  Report bugs to Wine Bugzilla at http://bugs.winehq.org
+       Please search the bugzilla database to check whether your
+       problem is already found before posting a bug report.  You can
+       also post bug reports to comp.emulators.ms-windows.wine.
+       Please read the file documentation/bugs.sgml to see what
+       information is required.
 
+IRC:   Online help is available at channel #WineHQ on irc.freenode.net.
 
-5. GETTING MORE INFORMATION
+CVS:   The current Wine development tree is available through CVS.
+       Go to http://www.winehq.org/cvs for more information.
 
-The best place to get help or to report bugs is the Usenet newsgroup
-comp.emulators.ms-windows.wine. The Wine FAQ is posted there every
-month.
+Mailing lists:
+       There are several mailing lists for Wine developers; see
+       http://www.winehq.org/forums for more information.
 
-If you add something, or fix a bug, please send a patch ('diff -u'
-format preferred) to wine-new@amscons.com for inclusion in the next
+If you add something, or fix a bug, please send a patch (in 'diff -u'
+format) to wine-patches@winehq.org list for inclusion in the next
 release.
 
 --
 Alexandre Julliard
-julliard@lrc.epfl.ch
+julliard@winehq.org