-Copyright Robert J. Amstadt, 1993. All code is provided without
-warranty. It is my intent to cover this code with the Gnu Public
-License.
-
-So here goes release 0.2.0 of the Windows loader. It will do some
-relocations and then run the program. I have successfully loaded
-the Windows solitaire game. Try it. It currently stops a call to
-GetObject().
-
-WHAT'S NEW with version 0.2.0:
- - Alexandre Julliard has provided a replacement for the Tcl code.
- The new code uses Xlib and Xt directly with no intervening
- interpretted language. This should reduce the learning
- curve for casual hackers.
- - I changed all GLOBAL_ names to Global.
-
-WHAT'S NEW with version 0.1.1:
- - I have completed global memory allocation, but I don't like it.
- It is not 100% compatible with Windows. I need some more kernel
- modifications for 100% compatibility.
- - Alexandre Julliard has provided written better emulation for
- the Windows message queue.
-
-WHAT'S NEW with version 0.1.0:
- - Latest patches from Alexandre Julliard.
- - minor bug fix in if1632.S
-
-WHAT'S NEW with version 0.0.5:
- - Patches from Alexandre Julliard. Some integration with Tcl.
- - Generic interface for callback procedures. This will allow
- callbacks into DLLs.
- - MakeProcInstance() has been implemented but untested.
-
-WHAT'S NEW with version 0.0.4:
- - Eric Youngdale modified wine.c and selector.c to allow loading
- of Windows DLLs.
- - Added global memory allocation routines (GlobalAlloc, GlobalFree,
- and GlobalLock)
- - Bitmap resource loading into global memory.
-
-WHAT'S NEW with version 0.0.3:
- - Fixed bug with sector sizes.
- - Registers at program startup are now set correctly.
- - Segment fixups for relocatable-segment internal entry points.
- - Fixed bug in DOS PSP structure.
- - Some resource loading is done.
- - Added "return" ordinal type to build program.
- - Added comment capability to build program.
-
-WHAT'S NEW with version 0.0.2:
-
- - Again thanks to Eric Youngdale for some very useful comments.
- - The Windows startup code created by Micrsoft C 7.0 now runs
- to completion.
- - Added a new patch to the kernel to increase the usable size of
- the ldt to the full 32 entries currently allowed.
- - Imported name relocations are now supported.
- - Source code for my infamous test program is now included.
- - A handful of basic Windows functions are now emulated. See
- "kernel.spec" for examples of how to use the build program.
-
-WHAT'S NEW with version 0.0.1:
-
- - Eric Youngdale contributed countless improvements in memory
- efficiency, bug fixes, and relocation.
- - The build program has been completed. It now lets you specify
- how the main DLL entry point should interface to your emulation
- library routines. A brief description of how to build these
- specifications is included in the file "build-spec.txt".
- - The code to dispatch builtin DLL calls is complete, but untested.
-
-TODO:
-
- - Segment fixup code completion.
- - Trap and handle DOS and DPMI calls.
- - GlobalAlloc of code segments.
- - Rewrite global memory support including kernel mods to allow
- application to mess with page map.
- - complete and improve local heap allocation.
- - Handle self-loading applications.
- - Resource loading
-
-INSTALLATION:
-
- Uncompress and untar this archive into the directory of your
-choice. The file "ldt.tar" contains a necessary kernel patch against
-Linux 0.99.10. "ldt.tar" is unchanged from the version released
-with release 0.0.2. In the directory /usr/src/linux (or whereever
-you keep your kernel sources), untar this file it contains three files:
-
- kernel/ldt.c
- - This is source for a new system call.
-
- include/linux/ldt.h
- - This contains structures defining the system call
- interface.
-
- ldt.patch
- - This is a patch that must be applied to the kernel.
- It updates two header files, and the kernel Makefile.
-
-Or follow the same procedure with "ldt512.tar". This file contains
-Eric Youngdales patches for ALPHA-pl11. These patches give the
-emulator 512 ldt entries instead of the 32 available with the older
-patch kit.
-
-BUILD:
-
- The documentation for the build program is in the file build-spec.txt
-
-FINALE:
-
-Good luck,
-
- If you successfully add anything, please send me a copy.
-
-Bob Amstadt
-bob@amscons.com
+1. INTRODUCTION
+
+Wine is a program which allows running Microsoft Windows programs
+(including DOS, Windows 3.x, Win32, and Win64 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 Windows code into native Unix executables.
+
+Wine is free software, released under the GNU LGPL; see the file
+LICENSE for the details.
+
+
+2. QUICK START
+
+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:
+
+./tools/wineinstall
+
+Run programs as "wine program". For more information and problem
+resolution, read the rest of this file, the Wine man page, and
+especially the wealth of information found at http://www.winehq.org.
+
+
+3. REQUIREMENTS
+
+To compile and run Wine, you must have one of the following:
+
+ Linux version 2.0.36 or later
+ FreeBSD 7.0 or later
+ Solaris x86 9 or later
+ NetBSD-current
+ Mac OS X 10.4 or later
+
+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.
+
+FreeBSD info:
+ Wine will generally not work properly on versions before FreeBSD 7.0.
+ See http://wiki.freebsd.org/Wine for more information.
+
+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.
+
+NetBSD info:
+ Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options
+ turned on in your kernel.
+
+Mac OS X info:
+ You need Xcode 2.4 or later to build properly on x86.
+
+
+Supported file systems:
+ Wine should run on most file systems. A few compatibility problems
+ have also been reported using files accessed through Samba. Also,
+ NTFS does not provide all the file system features needed by some
+ applications. Using a native Unix file system is recommended.
+
+Basic requirements:
+ You need to have the X11 development include files installed
+ (called xlib6g-dev in Debian and XFree86-devel in Red Hat).
+
+ Of course you also need "make" (most likely GNU make).
+
+ You also need flex version 2.5.33 or later and bison.
+
+Optional support libraries:
+ Configure will display notices when optional libraries are not found
+ on your system. See http://wiki.winehq.org/Recommended_Packages for
+ hints about the packages you should install.
+
+ On 64-bit platforms, if compiling Wine as 32-bit (default), you have
+ to make sure to install the 32-bit versions of these libraries; see
+ http://wiki.winehq.org/WineOn64bit for details. If you want a true
+ 64-bit Wine (or a mixed 32-bit and 64-bit Wine setup), see
+ http://wiki.winehq.org/Wine64 for details.
+
+4. COMPILATION
+
+In case you chose to not use wineinstall, run the following commands
+to build Wine:
+
+./configure
+make
+
+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.
+
+To see compile configuration options, do ./configure --help.
+
+5. SETUP
+
+Once Wine has been built correctly, you can do "make install"; this
+will install the wine executable and libraries, the Wine man page, and
+other needed files.
+
+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.
+
+Once installed, you can run the "winecfg" configuration tool. See the
+Support area at http://www.winehq.org/ for configuration hints.
+
+
+6. RUNNING PROGRAMS
+
+When invoking Wine, you may specify the entire path to the executable,
+or a filename only.
+
+For example: to run Notepad:
+
+ wine notepad (using the search Path as specified in
+ wine notepad.exe the registry to locate the file)
+
+ wine c:\\windows\\notepad.exe (using DOS filename syntax)
+
+ wine ~/.wine/drive_c/windows/notepad.exe (using Unix filename syntax)
+
+ wine notepad.exe readme.txt (calling program with parameters)
+
+Wine is not perfect, so some programs may crash. If that happens you
+will get a crash log that you should attach to your report when filing
+a bug.
+
+
+7. 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
+
+Wiki: The Wine Wiki is located at http://wiki.winehq.org
+
+Mailing lists:
+ There are several mailing lists for Wine users and developers;
+ see http://www.winehq.org/forums for more information.
+
+Bugs: Report bugs to Wine Bugzilla at http://bugs.winehq.org
+ Please search the bugzilla database to check whether your
+ problem is already known or fixed before posting a bug report.
+
+IRC: Online help is available at channel #WineHQ on irc.freenode.net.
+
+Git: The current Wine development tree is available through Git.
+ Go to http://www.winehq.org/git for more information.
+
+If you add something, or fix a bug, please send a patch (preferably
+using git-format-patch) to the wine-patches@winehq.org list for
+inclusion in the next release.
+
+--
+Alexandre Julliard
+julliard@winehq.org