]> code.delx.au - gnu-emacs/blobdiff - nt/INSTALL
*** empty log message ***
[gnu-emacs] / nt / INSTALL
index ee964bfc4af7ea6d8af2788ec83e5453cf2d584c..cd12f0aca1e993f83f1984967eebe83491514bb2 100644 (file)
@@ -1,14 +1,53 @@
                      Building and Installing Emacs
-                 on Windows NT and Windows 95/98/2000
+               on Windows NT/2000 and Windows 95/98/ME
+
+  Copyright (c) 2001 Free Software Foundation, Inc.
+  See the end of the file for copying permissions.
+
+  If you used WinZip to unpack the distribution, we suggest to
+  remove the files and unpack again with a different program!
+  WinZip is known to create some subtle and hard to debug problems,
+  such as converting files to DOS CR-LF format, not creating empty 
+  directories, etc.  We suggest to use djtarnt.exe from the GNU FTP
+  site.
 
   To compile Emacs, you will need either Microsoft Visual C++ 2.0 or
-  later, or a Windows port of GCC 2.95 or later with Mingw and W32 API
-  support and a port of GNU make.  You can use the Cygwin ports of GCC,
-  but Emacs requires the Mingw headers and libraries to build.
+  later and nmake, or a Windows port of GCC 2.95 or later with Mingw
+  and W32 API support and a port of GNU make.  You can use the Cygwin
+  ports of GCC, but Emacs requires the Mingw headers and libraries to
+  build (latest versions of the Cygwin toolkit, at least since v1.3.3,
+  include the MinGW headers and libraries as an integral part).
+
+  If you build Emacs on Windows 9X or ME, not on Windows 2000 or
+  Windows NT, we suggest to install the Cygwin port of Bash.
 
   Please see http://www.mingw.org for pointers to GCC/Mingw binaries.
 
-Configuring:
+  For reference, here is a list of which builds of GNU make are known
+  to work or not, and whether they work in the presence and/or absence
+  of sh.exe, the Cygwin port of Bash.
+                                         sh exists     no sh
+
+    cygwin b20.1 make (3.75):            okay[1]       fails[2]
+    MSVC compiled gmake 3.77:            okay          okay
+    MSVC compiled gmake 3.78.1:          okay          okay
+    MSVC compiled gmake 3.79.1:          okay          okay
+    mingw32/gcc-2.92.2 make (3.77):      okay          okay[4]
+    cygwin compiled gmake 3.77:          okay[1]       fails[2]
+    cygwin compiled make 3.78.1:         okay          fails[2]
+    cygwin compiled make 3.79.1:         couldn't build make[3]
+
+  Notes:
+
+    [1] doesn't cope with makefiles with DOS line endings, so must mount
+        emacs source with text!=binary.
+    [2] fails when needs to invoke shell commands; okay invoking gcc etc.
+    [3] requires LC_MESSAGES support to build; maybe 2.95.x update to
+        cygwin provides this?
+    [4] may fail on Windows 9X and Windows ME; if so, install Bash.
+
+* Configuring
 
   Configuration of Emacs is now handled by running configure.bat in the
   nt subdirectory.  It will detect which compiler you have available,
@@ -20,7 +59,11 @@ Configuring:
   simply change to the nt subdirectory and run `configure' with no
   options.  To see what options are available, run `configure --help'.
 
-Building:
+  N.B.  It is normal to see a few error messages output while configure
+  is running, when gcc support is being tested.  These cannot be
+  surpressed because of limitations in the Windows 9x command.com shell.
+
+* Building
 
   After running configure, simply run the appropriate `make' program for
   your compiler to build Emacs.  For MSVC, this is nmake; for GCC, it is
@@ -32,9 +75,11 @@ Building:
   The warnings may be fixed in the main FSF source at some point, but
   until then we will just live with them.
 
-Installing:
+* Installing
 
-  To install Emacs after it has compiled, simply run `make install'.
+  To install Emacs after it has compiled, simply run `nmake install'
+  or `make install', depending on which version of the Make utility
+  do you have.
 
   By default, Emacs will be installed in the location where it was
   built, but a different location can be specified either using the
@@ -43,10 +88,12 @@ Installing:
 
      make install INSTALL_DIR=D:/emacs
 
+  (for `nmake', type "nmake install INSTALL_DIR=D:/emacs" instead).
+
   The install process will run addpm to setup the registry entries, and
   to create a Start menu icon for Emacs.
 
-Trouble-shooting:
+* Trouble-shooting
 
   The main problems that are likely to be encountered when building
   Emacs stem from using an old version of GCC, or old Mingw or W32 API
@@ -68,7 +115,24 @@ Trouble-shooting:
   addsection.c relies on.  Versions of w32api-xxx.zip from at least
   1999-11-18 onwards are okay.
 
-Debugging:
+  If configure succeeds, but make fails, install the Cygwin port of
+  Bash, even if the table above indicates that Emacs should be able to
+  build without sh.exe.  (Some versions of Windows shells are too dumb
+  for Makefile's used by Emacs.)
+
+  If you are using certain Cygwin builds of GCC, such as Cygwin version
+  1.1.8, you may need to specify some extra compiler flags like so:
+
+    configure --with-gcc --cflags -mwin32 --cflags -D__MSVCRT__
+      --ldflags -mwin32
+
+  However, the latest Cygwin versions, such as 1.3.3, don't need those
+  switches; you can simply use "configure --with-gcc".
+
+  We will attempt to auto-detect the need for these flags in a future
+  release.
+
+* Debugging
 
   You should be able to debug Emacs using the debugger that is
   appropriate for the compiler you used, namely DevStudio or Windbg if
@@ -122,3 +186,18 @@ Debugging:
   execution (e.g., due to a breakpoint) in the context of the current
   thread, so this should only be a problem if you've explicitly switched
   threads.
+
+COPYING PERMISSIONS
+
+  Permission is granted to anyone to make or distribute verbatim copies
+  of this document as received, in any medium, provided that the
+  copyright notice and permission notice are preserved,
+  and that the distributor grants the recipient permission
+  for further redistribution as permitted by this notice.
+
+  Permission is granted to distribute modified versions
+  of this document, or of portions of it,
+  under the above conditions, provided also that they
+  carry prominent notices stating who last changed them,
+  and that any new or changed statements about the activities
+  of the Free Software Foundation are approved by the Foundation.