]> code.delx.au - gnu-emacs/blobdiff - nt/INSTALL
Regenerated.
[gnu-emacs] / nt / INSTALL
index daf0778bcfec005772ceaeae5956e5feee9823d1..b465af6e402f3830f6a2bb74bbb2394964a1f008 100644 (file)
@@ -1,14 +1,72 @@
                      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).
+
+  Other compilers may work, but specific reports from people that have
+  tried suggest that the Intel C compiler (for example) may produce an
+  Emacs executable with strange filename completion behaviour.  Unless
+  you would like to assist by finding and fixing the cause of any bugs
+  like this, we recommend the use of the supported compilers mentioned
+  in the previous paragraph.
+
+  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. Note that any version of make
+  that is compiled with Cygwin will only work with Cygwin tools, due to
+  the use of cygwin style paths. This means Cygwin make is unsuitable
+  for building parts of Emacs that need to invoke Emacs itself (leim and
+  "make bootstrap", for example). Also see the Trouble-shooting section
+  below if you decide to go ahead and use Cygwin make.
+
+  In addition, using 4NT as your shell is known to fail the build process,
+  at least for 4NT version 3.01.  Use cmd.exe, the default NT shell,
+  instead.
+
+                                         sh exists     no sh
+
+    cygwin b20.1 make (3.75):            fails[1, 5]   fails[2, 5]
+    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:          fails[1, 5]   fails[2, 5]
+    cygwin compiled make 3.78.1:         fails[5]      fails[2, 5]
+    cygwin compiled make 3.79.1:         fails[3, 5]   fails[2?, 5]
+    mingw32 compiled make 3.79.1:        okay          okay
+
+  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; cannot build with early
+        versions of cygwin.
+    [4] may fail on Windows 9X and Windows ME; if so, install Bash.
+    [5] fails when building leim due to the use of cygwin style paths.
+        May work if building emacs without leim.
+
+* Configuring
 
   Configuration of Emacs is now handled by running configure.bat in the
   nt subdirectory.  It will detect which compiler you have available,
@@ -24,7 +82,26 @@ Configuring:
   is running, when gcc support is being tested.  These cannot be
   surpressed because of limitations in the Windows 9x command.com shell.
 
-Building:
+* Optional image library support
+
+  To build Emacs with support for PNG images, the libpng and zlib
+  headers must be in the include path when the configure script is
+  run.  This can be setup using environment variables, or by
+  specifying --cflags -I...  options on the command-line to
+  configure.bat.  Similarly, the jpeg-6b, libXpm, tiff and libungif
+  headers need to be in the include path for support for those image
+  formats to work. The configure script will report whether it was
+  able to detect the headers.
+
+  To use the PNG support, zlib.dll (or zlibd.dll) and libpng.dll (or
+  libpng13.dll, or libpng13d.dll) must be on the PATH or in the same
+  directory as emacs.exe when Emacs is started. Similar instructions
+  apply for other image libraries. Note that tiff support depends on
+  the jpeg library. If you did not compile the libraries yourself, you
+  must make sure that the jpeg library you install is the same one
+  that the tiff library was compiled against.
+
+* 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
@@ -36,9 +113,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
@@ -47,10 +126,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
@@ -72,7 +153,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
@@ -126,3 +224,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.