Added code to manage Ascii and WideChar class names, and to return the
[wine] / README
diff --git a/README b/README
index ff6e23d..9a315bf 100644 (file)
--- a/README
+++ b/README
-Copyright  Robert J. Amstadt, 1993.  All code is provided without
-warranty.  It is my intent to cover this code with the Gnu Public
-License.
-
-INSTALLATION:
-
-    Uncompress and untar this archive into the directory of your
-choice.  This release requires a Linux version 0.99 pl12 kernel with
-ALPHA-diffs and sognal-diffs.  Apply ALPHA-diffs first, and then
-signal-diffs.
-
-To build Wine, first do a "make depend" and then a "make".  The
-executable "wine" will be built.
-
-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 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 free software. See the file LICENSE for the details.
+Basically, you can do anything with it, except claim that you wrote it.
+
+
+2. COMPILATION
+
+To compile the emulator, you must have one of:
+
+       Linux version 0.99.13 or above
+       NetBSD-current
+       FreeBSD-current or FreeBSD 1.1 or later
+       OpenBSD/i386 2.1 or later
+       Solaris x86 2.5 or later
+
+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.
+
+On x86 Systems gcc >= 2.7.0 is required. You will probably need flex too.
+
+To build Wine, first do a "./configure" and then a "make depend; make".
+This will build the library "libwine.a" and the program "wine".
+
+The program "wine" will load and run Windows executables.
+The library "libwine.a" can be used to compile and link Windows source
+code under Unix.  If you have an ELF compiler, you can use
+"./configure --enable-dll" to build a shared library instead.
+
+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:
+
+    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".
+
+
+3. SETUP
+
+Once Wine has been built correctly, you can do "make install"; this
+will install the wine executable and the man page.
+
+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.
+
+The format of this file is explained in the man page. The file
+wine.ini contains a config file example.
+
+
+4. RUNNING PROGRAMS
+
+When invoking Wine, you must specify the entire path to the executable,
+or a filename only.
+
+For example: to run Windows' solitaire:
+
+       wine sol                   (using the searchpath to locate the file)
+       wine sol.exe
+
+       wine c:\\windows\\sol.exe  (using a dosfilename)
+
+       wine /usr/windows/sol.exe  (using a unixfilename)
+
+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.
+
+UPDATE: Windows 95 components are known to cause more crashes compared
+        to the equivalent Windows 3.1 libraries.
+
+
+5. GETTING MORE INFORMATION
+
+Usenet:        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. 
+
+WWW:   Please browse old messages on http://www.dejanews.com to check whether 
+       your problem is already fixed before posting a bug report to the 
+       newsgroup. 
+
+       A great deal of information about Wine is available from WineHQ at
+       http://www.winehq.com. Untested patches against the current
+       release are available at http://www.winehq.com/patches.  
+
+CVS:   The current Wine development tree is available through CVS.
+       Go to http://www.winehq.com/cvs.html for more information.
+
+FAQ:   The Wine FAQ is located at http://pw1.netcom.com/~dagar/wine.html.
+
+
+If you add something, or fix a bug, please send a patch ('diff -u'
+format preferred) to julliard@lrc.epfl.ch for inclusion in the next
+release.
+
+--
+Alexandre Julliard
+julliard@lrc.epfl.ch