Mercurial > emacs
comparison nt/INSTALL @ 90261:7beb78bc1f8e
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-97
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 616-696)
- Add lisp/mh-e/.arch-inventory
- Update from CVS
- Merge from gnus--rel--5.10
- Update from CVS: lisp/smerge-mode.el: Add 'tools' to file keywords.
- lisp/gnus/ChangeLog: Remove duplicate entry
* gnus--rel--5.10 (patch 147-181)
- Update from CVS
- Merge from emacs--cvs-trunk--0
- Update from CVS: lisp/mml.el (mml-preview): Doc fix.
- Update from CVS: texi/message.texi: Fix default values.
- Update from CVS: texi/gnus.texi (RSS): Addition.
author | Miles Bader <miles@gnu.org> |
---|---|
date | Mon, 16 Jan 2006 08:37:27 +0000 |
parents | 2d92f5c9d6ae dc47c26ee643 |
children | c5406394f567 |
comparison
equal
deleted
inserted
replaced
90260:0ca0d9181b5e | 90261:7beb78bc1f8e |
---|---|
27 "touch.exe" in your path, and that it will create files that do not | 27 "touch.exe" in your path, and that it will create files that do not |
28 yet exist. | 28 yet exist. |
29 | 29 |
30 To compile Emacs, you will need either Microsoft Visual C++ 2.0 or | 30 To compile Emacs, you will need either Microsoft Visual C++ 2.0 or |
31 later and nmake, or a Windows port of GCC 2.95 or later with MinGW | 31 later and nmake, or a Windows port of GCC 2.95 or later with MinGW |
32 and W32 API support and a port of GNU make. You can use the Cygwin | 32 and W32 API support and a port of GNU Make. You can use the Cygwin |
33 ports of GCC, but Emacs requires the MinGW headers and libraries to | 33 ports of GCC, but Emacs requires the MinGW headers and libraries to |
34 build (latest versions of the Cygwin toolkit, at least since v1.3.3, | 34 build (latest versions of the Cygwin toolkit, at least since v1.3.3, |
35 include the MinGW headers and libraries as an integral part). | 35 include the MinGW headers and libraries as an integral part). |
36 | 36 |
37 Other compilers may work, but specific reports from people that have | 37 If you use the MinGW port of GCC and GNU Make to build Emacs, there |
38 tried suggest that the Intel C compiler (for example) may produce an | 38 are some compatibility issues wrt Make and the shell that is run by |
39 Emacs executable with strange filename completion behaviour. Unless | 39 Make, either the standard COMMAND.COM/CMD.EXE supplied with Windows |
40 you would like to assist by finding and fixing the cause of any bugs | 40 or sh.exe., a port of a Unixy shell. For reference, here is a list |
41 like this, we recommend the use of the supported compilers mentioned | 41 of which builds of GNU Make are known to work or not, and whether |
42 in the previous paragraph. | 42 they work in the presence and/or absence of sh.exe, the Cygwin port |
43 | 43 of Bash. Note that any version of Make that is compiled with Cygwin |
44 You will also need a copy of the Posix cp, rm and mv programs. These | 44 will only work with Cygwin tools, due to the use of cygwin style |
45 and other useful Posix utilities can be obtained from one of several | 45 paths. This means Cygwin Make is unsuitable for building parts of |
46 projects: | 46 Emacs that need to invoke Emacs itself (leim and "make bootstrap", |
47 | 47 for example). Also see the Trouble-shooting section below if you |
48 * http://www.mingw.org/ ( MinGW ) | 48 decide to go ahead and use Cygwin make. |
49 * http://www.cygwin.com/ ( Cygwin ) | |
50 * http://unxutils.sourceforge.net/ ( UnxUtils ) | |
51 * http://gnuwin32.sourceforge.net/ ( GnuWin32 ) | |
52 | |
53 If you build Emacs on Windows 9X or ME, not on Windows 2K/XP or | |
54 Windows NT, we suggest to install the Cygwin port of Bash. | |
55 | |
56 Additional instructions and help for building Emacs on Windows can be | |
57 found at the Emacs Wiki: | |
58 | |
59 http://www.emacswiki.org/cgi-bin/wiki/WThirtyTwoInstallationKit | |
60 | |
61 and at this URL: | |
62 | |
63 http://ourcomments.org/Emacs/w32-build-emacs.html | |
64 | |
65 For reference, here is a list of which builds of GNU make are known | |
66 to work or not, and whether they work in the presence and/or absence | |
67 of sh.exe, the Cygwin port of Bash. Note that any version of make | |
68 that is compiled with Cygwin will only work with Cygwin tools, due to | |
69 the use of cygwin style paths. This means Cygwin make is unsuitable | |
70 for building parts of Emacs that need to invoke Emacs itself (leim and | |
71 "make bootstrap", for example). Also see the Trouble-shooting section | |
72 below if you decide to go ahead and use Cygwin make. | |
73 | 49 |
74 In addition, using 4NT as your shell is known to fail the build process, | 50 In addition, using 4NT as your shell is known to fail the build process, |
75 at least for 4NT version 3.01. Use cmd.exe, the default NT shell, | 51 at least for 4NT version 3.01. Use CMD.EXE, the default Windows shell, |
76 instead. MSYS sh.exe also appears to cause various problems. If you have | 52 instead. MSYS sh.exe also appears to cause various problems. If you have |
77 MSYS installed, try "make SHELL=cmd.exe" to force the use of cmd.exe | 53 MSYS installed, try "make SHELL=cmd.exe" to force the use of cmd.exe |
78 instead of sh.exe. | 54 instead of sh.exe. |
79 | 55 |
80 sh exists no sh | 56 sh exists no sh |
99 versions of cygwin. | 75 versions of cygwin. |
100 [4] may fail on Windows 9X and Windows ME; if so, install Bash. | 76 [4] may fail on Windows 9X and Windows ME; if so, install Bash. |
101 [5] fails when building leim due to the use of cygwin style paths. | 77 [5] fails when building leim due to the use of cygwin style paths. |
102 May work if building emacs without leim. | 78 May work if building emacs without leim. |
103 [6] please report if you try this combination. | 79 [6] please report if you try this combination. |
80 | |
81 Other compilers may work, but specific reports from people that have | |
82 tried suggest that the Intel C compiler (for example) may produce an | |
83 Emacs executable with strange filename completion behaviour. Unless | |
84 you would like to assist by finding and fixing the cause of any bugs | |
85 like this, we recommend the use of the supported compilers mentioned | |
86 in the previous paragraph. | |
87 | |
88 You will also need a copy of the Posix cp, rm and mv programs. These | |
89 and other useful Posix utilities can be obtained from one of several | |
90 projects: | |
91 | |
92 * http://www.mingw.org/ ( MinGW ) | |
93 * http://www.cygwin.com/ ( Cygwin ) | |
94 * http://unxutils.sourceforge.net/ ( UnxUtils ) | |
95 * http://gnuwin32.sourceforge.net/ ( GnuWin32 ) | |
96 | |
97 If you build Emacs on Windows 9X or ME, not on Windows 2K/XP or | |
98 Windows NT, we suggest to install the Cygwin port of Bash. | |
99 | |
100 Additional instructions and help for building Emacs on Windows can be | |
101 found at the Emacs Wiki: | |
102 | |
103 http://www.emacswiki.org/cgi-bin/wiki/WThirtyTwoInstallationKit | |
104 | |
105 and at this URL: | |
106 | |
107 http://ourcomments.org/Emacs/w32-build-emacs.html | |
104 | 108 |
105 * Configuring | 109 * Configuring |
106 | 110 |
107 Configuration of Emacs is now handled by running configure.bat in the | 111 Configuration of Emacs is now handled by running configure.bat in the |
108 nt subdirectory. It will detect which compiler you have available, | 112 nt subdirectory. It will detect which compiler you have available, |
237 | 241 |
238 * Debugging | 242 * Debugging |
239 | 243 |
240 You should be able to debug Emacs using the debugger that is | 244 You should be able to debug Emacs using the debugger that is |
241 appropriate for the compiler you used, namely DevStudio or Windbg if | 245 appropriate for the compiler you used, namely DevStudio or Windbg if |
242 compiled with MSVC, or gdb if compiled with gcc. | 246 compiled with MSVC, or GDB if compiled with GCC. |
247 | |
248 When Emacs aborts due to a fatal internal error, Emacs on Windows | |
249 pops up an Emacs Abort Dialog asking you whether you want to debug | |
250 Emacs or terminate it. If Emacs was built with MSVC, click YES | |
251 twice, and Windbg or the DevStudio debugger will start up | |
252 automatically. If Emacs was built with GCC, first start GDB and | |
253 attach it to the Emacs process with the "gdb -p EMACS-PID" command, | |
254 where EMACS-PID is the Emacs process ID (which you can see in the | |
255 Windows Task Manager), type the "continue" command inside GDB, and | |
256 only then click YES on the abort dialog. This will pass control to | |
257 the debugger, and you will be able to debug the cause of the fatal | |
258 error. | |
243 | 259 |
244 Emacs functions implemented in C use a naming convention that reflects | 260 Emacs functions implemented in C use a naming convention that reflects |
245 their names in lisp. The names of the C routines are the lisp names | 261 their names in lisp. The names of the C routines are the lisp names |
246 prefixed with 'F', and with dashes converted to underscores. For | 262 prefixed with 'F', and with dashes converted to underscores. For |
247 example, the function call-process is implemented in C by | 263 example, the function call-process is implemented in C by |
248 Fcall_process. Similarly, lisp variables are prefixed with 'V', again | 264 Fcall_process. Similarly, lisp variables are prefixed with 'V', again |
249 with dashes converted to underscores. These conventions enable you to | 265 with dashes converted to underscores. These conventions enable you to |
250 easily set breakpoints or examine familiar lisp variables by name. | 266 easily set breakpoints or examine familiar lisp variables by name. |
251 | 267 |
252 Since Emacs data is often in the form of a lisp object, and the | 268 Since Emacs data is often in the form of a lisp object, and the |
253 Lisp_Object type is difficult to examine manually in the MSVC | 269 Lisp_Object type is difficult to examine manually in a debugger, |
254 debugger, Emacs provides a helper routine called debug_print that | 270 Emacs provides a helper routine called debug_print that prints out a |
255 prints out a readable representation of a Lisp_Object. (If you are | 271 readable representation of a Lisp_Object. If you are using GDB, |
256 using gdb, there is a .gdbinit file in the src directory which | 272 there is a .gdbinit file in the src directory which provides |
257 provides definitions that are useful for examining lisp objects. The | 273 definitions that are useful for examining lisp objects. Therefore, |
258 following tips are mainly of interest when using MSVC.) The output | 274 the following tips are mainly of interest when using MSVC. |
259 from debug_print is sent to stderr, and to the debugger via the | 275 |
260 OutputDebugString routine. The output sent to stderr should be | 276 The output from debug_print is sent to stderr, and to the debugger |
261 displayed in the console window that was opened when the emacs.exe | 277 via the OutputDebugString routine. The output sent to stderr should |
262 executable was started. The output sent to the debugger should be | 278 be displayed in the console window that was opened when the |
263 displayed in its "Debug" output window. | 279 emacs.exe executable was started. The output sent to the debugger |
280 should be displayed in its "Debug" output window. | |
264 | 281 |
265 When you are in the process of debugging Emacs and you would like to | 282 When you are in the process of debugging Emacs and you would like to |
266 examine the contents of a Lisp_Object variable, popup the QuickWatch | 283 examine the contents of a Lisp_Object variable, popup the QuickWatch |
267 window (QuickWatch has an eyeglass symbol on its button in the | 284 window (QuickWatch has an eyeglass symbol on its button in the |
268 toolbar). In the text field at the top of the window, enter | 285 toolbar). In the text field at the top of the window, enter |