1 |
Building and Installing Emacs |
Building and Installing Emacs |
2 |
on Windows NT/2K/XP and Windows 95/98/ME |
on Windows NT/2K/XP and Windows 95/98/ME |
3 |
|
|
4 |
Copyright (c) 2001,2004 Free Software Foundation, Inc. |
Copyright (c) 2001,2004,2005 Free Software Foundation, Inc. |
5 |
See the end of the file for copying permissions. |
See the end of the file for copying permissions. |
6 |
|
|
7 |
If you used WinZip to unpack the distribution, we suggest to |
If you used WinZip to unpack the distribution, we suggest to |
21 |
in your path, and that it will create files that do not yet exist. |
in your path, and that it will create files that do not yet exist. |
22 |
|
|
23 |
To compile Emacs, you will need either Microsoft Visual C++ 2.0 or |
To compile Emacs, you will need either Microsoft Visual C++ 2.0 or |
24 |
later and nmake, or a Windows port of GCC 2.95 or later with Mingw |
later and nmake, or a Windows port of GCC 2.95 or later with MinGW |
25 |
and W32 API support and a port of GNU make. You can use the Cygwin |
and W32 API support and a port of GNU make. You can use the Cygwin |
26 |
ports of GCC, but Emacs requires the Mingw headers and libraries to |
ports of GCC, but Emacs requires the MinGW headers and libraries to |
27 |
build (latest versions of the Cygwin toolkit, at least since v1.3.3, |
build (latest versions of the Cygwin toolkit, at least since v1.3.3, |
28 |
include the MinGW headers and libraries as an integral part). |
include the MinGW headers and libraries as an integral part). |
29 |
|
|
34 |
like this, we recommend the use of the supported compilers mentioned |
like this, we recommend the use of the supported compilers mentioned |
35 |
in the previous paragraph. |
in the previous paragraph. |
36 |
|
|
37 |
You will also need a copy of the Posix cp, rm and mv programs. These |
You will also need a copy of the Posix cp, rm and mv programs. These |
38 |
and other useful Posix utilities can be obtained from the Mingw or |
and other useful Posix utilities can be obtained from one of several |
39 |
Cygwin projects. |
projects: |
40 |
|
|
41 |
|
* http://www.mingw.org/ ( MinGW ) |
42 |
|
* http://www.cygwin.org/ ( Cygwin ) |
43 |
|
* http://unxutils.sourceforge.net/ ( UnxUtils ) |
44 |
|
* http://gnuwin32.sourceforge.net/ ( GnuWin32 ) |
45 |
|
|
46 |
If you build Emacs on Windows 9X or ME, not on Windows 2K/XP or |
If you build Emacs on Windows 9X or ME, not on Windows 2K/XP or |
47 |
Windows NT, we suggest to install the Cygwin port of Bash. |
Windows NT, we suggest to install the Cygwin port of Bash. |
48 |
|
|
49 |
Please see http://www.mingw.org for pointers to GCC/Mingw and binaries. |
Additional instructions and help for building Emacs on Windows can be |
50 |
|
found at the Emacs Wiki: |
51 |
|
|
52 |
|
http://www.emacswiki.org/cgi-bin/wiki/WThirtyTwoInstallationKit |
53 |
|
|
54 |
For reference, here is a list of which builds of GNU make are known |
For reference, here is a list of which builds of GNU make are known |
55 |
to work or not, and whether they work in the presence and/or absence |
to work or not, and whether they work in the presence and/or absence |
117 |
able to detect the headers. |
able to detect the headers. |
118 |
|
|
119 |
To use the external image support, the DLLs implementing the |
To use the external image support, the DLLs implementing the |
120 |
functionality must be found when Emacs is started, either on the PATH, |
functionality must be found when Emacs first needs them, either on the |
121 |
or in the same directory as emacs.exe. Failure to find a library is |
PATH, or in the same directory as emacs.exe. Failure to find a |
122 |
not an error; the associated image format will simply be unavailable. |
library is not an error; the associated image format will simply be |
123 |
|
unavailable. Note that once Emacs has determined that a library can |
124 |
|
not be found, there's no way to force it to try again, other than |
125 |
|
restarting. See the variable `image-library-alist' to configure the |
126 |
|
expected names of the libraries. |
127 |
|
|
128 |
Some image libraries have dependencies on one another, or on zlib. |
Some image libraries have dependencies on one another, or on zlib. |
129 |
For example, tiff support depends on the jpeg library. If you did not |
For example, tiff support depends on the jpeg library. If you did not |
132 |
compatible (for example, that they were built with the same compiler). |
compatible (for example, that they were built with the same compiler). |
133 |
|
|
134 |
Binaries for the image libraries (among many others) can be found at |
Binaries for the image libraries (among many others) can be found at |
135 |
GnuWin32 (http://gnuwin32.sourceforge.net). These are built with |
the GnuWin32 project. These are built with MinGW, but they can be |
136 |
MinGW, and so are very compatible with GCC/MinGW builds of Emacs (like |
used with both GCC/MinGW and MSVC builds of Emacs. |
|
the official binary tarballs for Windows). Compatibility with MSVC, |
|
|
on the other hand, is still weak and should not be trusted in |
|
|
production environments; if you really need an MSVC-compiled Emacs |
|
|
with image support, you should try to build the required libraries |
|
|
with the same compiler (though it can be extremely non-trivial, and |
|
|
we'll be interested on hearing of any such effort). |
|
137 |
|
|
138 |
* Building |
* Building |
139 |
|
|
168 |
* Trouble-shooting |
* Trouble-shooting |
169 |
|
|
170 |
The main problems that are likely to be encountered when building |
The main problems that are likely to be encountered when building |
171 |
Emacs stem from using an old version of GCC, or old Mingw or W32 API |
Emacs stem from using an old version of GCC, or old MinGW or W32 API |
172 |
headers. Additionally, cygwin ports of GNU make may require the Emacs |
headers. Additionally, cygwin ports of GNU make may require the Emacs |
173 |
source tree to be mounted with text!=binary, because the makefiles |
source tree to be mounted with text!=binary, because the makefiles |
174 |
generated by configure.bat necessarily use DOS line endings. Also, |
generated by configure.bat necessarily use DOS line endings. Also, |