cmd: Output error messages to stderr instead of stdout where appropriate.
[wine] / README
diff --git a/README b/README
index 1b090d4..baa6ab3 100644 (file)
--- a/README
+++ b/README
-Copyright  Robert J. Amstadt, 1993.  All code is provided without
-warranty.  All code is covered by the license contained in the file
-LICENSE unless explicitly stated in the individual source file.
-
-INSTALLATION:
-
-Linux:
-
-    Uncompress and untar this archive into the directory of your
-choice.  This release requires a Linux version 0.99 pl13 kernel
-or above.
-
-NetBSD:
-
-    If you use BSD make rather than GNU make, you must apply the patches
-in the file "bsdmake.patch".  This release requires NetBSD-current.
-
-All:
-
-To build Wine, first do a "make depend" and then a "make".  The
-executable "wine" will be built.  "wine" will load and run Windows'
-executables.  You must have a file "wine.ini" in the current directory,
-your homedirectory, or in the path specified by the environment 
-variable WINEPATH. Multiple directories in WINEPATH should be seperated
-by semi-colons and NOT by colons!
-
-You must specify the entire path to the executable, or a filename only
-(using the path= statement in wine.ini as the search path)
-
-For example: to run Windows' solitaire:
-
-       export WINEPATH=/etc;/usr/windows
-
-       wine sol                   (using the path= statement in wine.ini
-       wine sol.exe                as the search path)
-
-       wine c:\\windows\\sol.exe  (using a dosfilename)
-
-       wine /usr/windows/sol.exe  (using a unixfilename)
-
-Have a nice game of solitaire, but be careful.  Emulation isn't perfect.
-So, occassionally it will crash.
-
-WHAT'S NEW with version 0.5: (see ChangeLog for details)
-       - Working towards elimination of Xt-dependent code.
-       - StretchBlt()
-       - GetClassName() & GetClassInfo()
-       - Implemented loader relocation types 5 and 6.
-
-WHAT'S NEW with version 0.4.14: (see ChangeLog for details)
-       - Bug fixes and enhancements
-       - Comm functions
-       - Text caret functions
-
-WHAT'S NEW with version 0.4.13: (see ChangeLog for details)
-       - Bug fixes
-       - GetCapture()
-       - More keyboard handling
-       - Polyline() and Polygon()
-
-WHAT'S NEW with version 0.4.12: (see ChangeLog for details)
-       - Bug fixes
-       - New DOS file functions
-       - Experimental Imakefiles
-
-WHAT'S NEW with version 0.4.11: (see ChangeLog for details)
-       - Bug fixes
-       - New cursor functions
-       - New file system handling
-       - Atoms
-
-WHAT'S NEW with version 0.4.10: (see ChangeLog for details)
-       - Bug fixes
-       - More scroll bar functions
-       - More icon and cursor handling
-
-WHAT'S NEW with version 0.4.9: (see ChangeLog for details)
-       - Bug fixes
-       - real MessageBox()
-       - New resource functions
-       - Icon functions
-       - Selector manipulation functions
-       - Catch()/Throw()
-
-WHAT'S NEW with version 0.4.7: (see ChangeLog for details)
-       - More dialog box functions
-       - More DOS interrupts
-       - NetBSD compatibility patches
-
-WHAT'S NEW with version 0.4.5: (see ChangeLog for details)
-       - Bug fixes
-       - focus routines
-       - dialog box functions
-       - improvements to control windows
-
-WHAT'S NEW with version 0.4.4: (see ChangeLog for details)
-       - Bug fixes
-       - New static control class
-       - Preliminary listbox, combobox and scrollbar controls
-       - System initialization file is now called "wine.ini", and
-         may be located in the user's current directory, the
-         user's home directory or any directory specified by
-         the WINEPATH environment variable.
-       - The loader now searches the directories specified by the
-         WINEPATH environment variable for programs and DLLs.
-       - Internal debugger now works on 386BSD.
-
-WHAT'S NEW with version 0.4.3: (see ChangeLog for details)
-       - Bug fixes
-       - Resource loading now able to load DLL resources
-       - Button control now based on GDI calls
-       - Preliminary system color support
-       - Miscellaneous window functions
-       - Limited debugging facility (sometimes hangs)
-
-WHAT'S NEW with version 0.4.2: (see ChangeLog for details)
-       - Bug fixes
-       - 32-bit callback functions allowed
-       - .INI file handling
-       - lstr* functions and ANSI<->OEM conversion functions.
-
-WHAT'S NEW with version 0.4.1: (see ChangeLog for details)
-       - Bug fixes
-       - Memory usage changes.
-
-WHAT'S NEW with version 0.4.0: (see ChangeLog for details)
-       - Wine now compiles and runs under NetBSD.  Patches are
-         required for NetBSD.
-       - Wine stat patches included.  Add "-DWINESTAT" to the definition
-         of COPTS in the main Makefile to activate.
-       - Preliminary keyboard handling.
-       - Button control window implemented.
-       - many other new functions added.
-
-WHAT'S NEW with version 0.3.1: (see ChangeLog for details)
-       - LineDDA() completed
-       - numerous bug fixes
-       - INT 1Ah implemented
-       - SOUND DLL implemented
-       - More of WIN87EM DLL implemented
-       - OpenFile() and friends implemented
-
-WHAT'S NEW with version 0.3.0: (see ChangeLog for details)
-       - Mouse capture
-       - Text justification and underlining
-       - Clipping
-       - LoadBitmap() completed
-       - Code generated by the Borland compiler should now work
-
-WHAT'S NEW with version 0.2.8: (see ChangeLog for details)
-       - Text functions from Alexandre
-       - INT 21h from Eric
-       - Menu improvements from David
-       - Bug fixes and GetProcAddress() stub from me
-
-WHAT'S NEW with version 0.2.7: (see ChangeLog for details)
-    - sol.exe gets further.  I did some debugging and now solitaire
-      stops when it tries to call GetTextExtent().  Any volunteers?
-    - Many DC updates from Alexandre.
-    - Menu updates to support underlining characters from David Metcalfe.
-
-WHAT'S NEW with version 0.2.6: (see ChangeLog for details)
-    - More region updates from Alexandre
-
-WHAT'S NEW with version 0.2.5: (see ChangeLog for details)
-    - Regions implemented by Alexandre
-    - More menuing code from me
-
-WHAT'S NEW with version 0.2.4: (see ChangeLog for details)
-    - Many improvements to GDI from Alexandre
-    - Many improvements to menu handling by me.
-
-WHAT'S NEW with version 0.2.3: (see ChangeLog for details)
-    - Bug fixes with SendMessage() and PostMessage()
-    - Preliminary menu support
-
-WHAT'S NEW with version 0.2.2: (see ChangeLog for details)
-    - Misc bug fixes
-    - More bitmap code
-    - Timers
-    - Memory DC's
-
-WHAT'S NEW with version 0.2.1:
-    - I have placed things into sub-directories.  The organization is
-      not finalized.  I imagine that the directory structure will
-      change as is necessary.  Files in the ./misc directory need
-      to be split apart and placed in apropriate directories.
-    - Tons of code from Alexandre.  He has constructed the framework
-      for handling GDI objects.  He has also provided code for DCEs.
-    - Local heap functions have been completed.
-    - Bug fixes in global.c and win.c
-    - New function GlobalQuickAlloc() combines GlobalAlloc() and
-      GlobalLock() into a single function call.
-    - New patch kit for Linux 0.99 pl11 kernel.  Thanks to Linus
-      who has graciously included our patches into the ALPHA patch
-      release cycle.
-
-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.
-    - Handle self-loading applications.
-    - Resource loading
-    - Lots and lots of API fiunctions.
-
-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 above
+  FreeBSD 6.3 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.
+
+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 or 2.6.x.
+
+FreeBSD info:
+  Wine will generally not work properly on versions before FreeBSD
+  6.3 or 7.0, and FreeBSD 6.3 has additional patches available. 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 Linux file system such as ext3 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