Mercurial > hg > xemacs-beta
comparison nt/README @ 406:b8cc9ab3f761 r21-2-33
Import from CVS: tag r21-2-33
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:17:09 +0200 |
parents | a86b2b5e0111 |
children | 697ef44129c6 |
comparison
equal
deleted
inserted
replaced
405:0e08f63c74d2 | 406:b8cc9ab3f761 |
---|---|
1 Building and Installing XEmacs on Windows NT -*- mode:outline -*- | 1 Building and Installing XEmacs on Windows 95/98/NT -*- mode:outline -*- |
2 | 2 |
3 David Hobley | 3 David Hobley |
4 Marc Paquette | 4 Marc Paquette |
5 Jonathan Harris | 5 Jonathan Harris |
6 | 6 Ben Wing |
7 The port was made much easier by the groundbreaking work of Geoff Voelker | 7 |
8 and others who worked on the GNU Emacs port to NT. Their version is available | 8 This is a port of XEmacs to Windows 95/98/NT. If you are looking for a port |
9 from http://www.cs.washington.edu/homes/voelker/ntemacs.html | 9 of GNU Emacs, see http://www.cs.washington.edu/homes/voelker/ntemacs.html. |
10 | 10 |
11 | 11 |
12 * Required tools and sources | 12 * Required tools and sources |
13 ============================ | 13 ============================ |
14 | 14 |
22 | 22 |
23 Visual C++ V5.0 installs a batch file called vcvars32.bat in | 23 Visual C++ V5.0 installs a batch file called vcvars32.bat in |
24 c:\Program Files\DevStudio\VC\bin\ (or wherever you installed it) that you | 24 c:\Program Files\DevStudio\VC\bin\ (or wherever you installed it) that you |
25 can run before building to set up all of these environment variables. | 25 can run before building to set up all of these environment variables. |
26 | 26 |
27 2. Grab the latest XEmacs source from ftp.xemacs.org if necessary. | 27 2. Grab the latest XEmacs source from |
28 | 28 |
29 You'll also need the xemacs-base package from the binary-packages | 29 ftp://ftp.xemacs.org/pub/xemacs/ |
30 subdirectory and you'll probably also want at least the edit-utils, | 30 |
31 text-modes, fsf-compat, cc-mode, prog-modes and xemacs-devel | 31 or one of its mirrors listed at http://www.xemacs.org/Download/index.html . |
32 | |
33 You'll also need the packages. You probably want to get the unified | |
34 packages bundle from | |
35 | |
36 ftp://ftp.xemacs.org/pub/xemacs/packages/xemacs-sumo.tar.gz | |
37 | |
38 Although we don't recommend it, you can also retrieve just the packages | |
39 you really need if you have an extremely slow net connection or are very | |
40 short on disk space. You can find the various packages in | |
41 ftp://ftp.xemacs.org/pub/xemacs/packages/. You will need the | |
42 xemacs-base package. You'll also need the texinfo package unless you | |
43 have a copy of makeinfo.exe on your machine. If you want to download | |
44 additional or updated packages from within XEmacs you'll need the efs, | |
45 dired and vm packages. You'll probably also want at least the | |
46 edit-utils, text-modes, fsf-compat, cc-mode, prog-modes and xemacs-devel | |
32 packages. | 47 packages. |
33 | 48 |
34 You'll also need the texinfo package unless you have a copy of | 49 Unpack the packages into "x:\your\choice\XEmacs\xemacs-packages", |
35 makeinfo.exe on your machine. | 50 for example "c:\Program Files\XEmacs\xemacs-packages". |
36 | |
37 Unpack the packages into, say, "c:\Program Files\XEmacs\xemacs-packages". | |
38 | 51 |
39 3. At this point you can choose to build for X and/or for Win32 native GUI. | 52 3. At this point you can choose to build for X and/or for Win32 native GUI. |
40 If you only want to build for the Win32 native GUI then skip the next | 53 If you only want to build for the Win32 native GUI then skip the next |
41 section. | 54 section. |
42 | 55 |
43 | 56 |
44 ** Extra tools and sources required for X | 57 ** Extra tools and sources required for X |
45 | 58 |
46 If you want support for X you will also need: | 59 If you want support for X you will also need: |
47 | 60 |
48 1. An X server. MI/X is available on the Internet for free; It is | 61 1. An X server. MI/X is available on the Internet as trialware; it is |
49 available from: http://www.microimages.com/www/html/freestuf/mixdlfrm.htm | 62 available from: http://www.microimages.com/www/html/mix/ |
50 | 63 |
51 2. Source for the MIT X11R6.3 libraries, available from: ftp.x.org | 64 2. Source for the MIT X11R6.3 libraries, available from: ftp.x.org |
52 | 65 |
53 3. You'll need to compile the MIT libraries without multi-thread support. | 66 3. You'll need to compile the MIT libraries without multi-thread support. |
54 To do this, there is an example Win32.cf and site.def provided which set | 67 To do this, there is an example Win32.cf and site.def provided which set |
62 | 75 |
63 | 76 |
64 * Optional libraries | 77 * Optional libraries |
65 ==================== | 78 ==================== |
66 | 79 |
67 1. If you want XPM image and toolbar support grab the latest version of the | 80 1. You really want the XPM library. Grab the latest version of the |
68 xpm sources (xpm-3.4k.tar.gz at time of writing) and unpack them somewhere. | 81 xpm sources (xpm-3.4k.tar.gz at time of writing) from |
82 ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack them somewhere. | |
69 Copy nt\xpm.mak from the xemacs sources to the lib subdirectory of the | 83 Copy nt\xpm.mak from the xemacs sources to the lib subdirectory of the |
70 xpm sources, cd to that directory and build xpm with 'nmake -f xpm.mak'. | 84 xpm sources, cd to that directory and build xpm with 'nmake -f xpm.mak'. |
71 | 85 |
72 2. You probably also want PNG image support. Grab the latest versions of zlib | 86 2. You probably also want PNG image support. Grab the latest versions of zlib |
73 and libpng (zlib-1.1.3 and libpng-1.0.2 at time of writing), unpack them | 87 and libpng (zlib-1.1.3 and libpng-1.0.2 at time of writing) from |
74 somewhere and read the respective READMEs for details on how to build them. | 88 ftp://ftp.xemacs.org/pub/xemacs/aux/, unpack them somewhere and read |
75 The following build procedure works for zlib-1.1.3 and libpng-1.0.2: | 89 the respective READMEs for details on how to build them. The following |
90 build procedure works for zlib-1.1.3 and libpng-1.0.2: | |
76 | 91 |
77 cd to the zlib directory, type 'copy msdos\makefile.w32 Makefile' and | 92 cd to the zlib directory, type 'copy msdos\makefile.w32 Makefile' and |
78 then type 'nmake'. | 93 then type 'nmake'. |
79 | 94 |
80 cd to the libpng directory, rename or move the zlib directory to ..\zlib | 95 cd to the libpng directory, rename or move the zlib directory to ..\zlib |
81 and type 'nmake -f scripts\makefile.w32'. | 96 and type 'nmake -f scripts\makefile.w32'. |
82 | 97 |
83 3. If you want TIFF support, grap the latest version of libtiff (tiff-v3.4 | 98 3. If you want TIFF support, grap the latest version of libtiff (tiff-v3.4 |
84 at time of writing) and unpack it somewhere. Copy nt\tiff.mak from the | 99 at time of writing) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack |
85 xemacs sources to the contrib\winnt subdirectory of the tiff sources, | 100 it somewhere. Copy nt\tiff.mak from the xemacs sources to the |
86 cd to that directory and build libtiff with 'nmake -f tiff.mak'. Note: | 101 contrib\winnt subdirectory of the tiff sources, cd to that directory and |
87 tiff.mak has only been verified to work under WinNT, not Win95 or 98. | 102 build libtiff with 'nmake -f tiff.mak'. Note: tiff.mak has only been |
88 However, the lastest distribution of libtiff includes a | 103 verified to work under WinNT, not Win95 or 98. However, the lastest |
89 contrib\win95\makefile.w95; that might work. | 104 distribution of libtiff includes a contrib\win95\makefile.w95; that might |
105 work. | |
90 | 106 |
91 4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b at | 107 4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b at |
92 time of writing) and read the README for details on how to build it. | 108 time of writing) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and read the |
93 | 109 README for details on how to build it. |
94 5. If you want X-Face support, grab compface distribution and unpack it | 110 |
95 somewhere. Copy nt\compface.mak from xemacs sources to the compface | 111 5. If you want X-Face support, grab the compface distribution from |
96 directory. cd to that directory and build libcompface with | 112 ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack it somewhere. |
97 'nmake -f compface.mak'. | 113 Copy nt\compface.mak from xemacs sources to the compface directory. |
114 cd to that directory and build libcompface with 'nmake -f compface.mak'. | |
98 | 115 |
99 | 116 |
100 * Building | 117 * Building |
101 ========== | 118 ========== |
102 | 119 |
103 1. cd to the nt subdirectory of the xemacs distribution and build xemacs: | 120 1. cd to the nt subdirectory of the xemacs distribution and copy the file |
104 `nmake install -f xemacs.mak`, but read on before hitting Enter. | 121 config.inc.samp to config.inc. Make any necessary modifications. This |
105 | 122 file controls the options that XEmacs is built with: |
106 2. If you're building with XPM support, add this to the nmake command line: | 123 |
107 HAVE_XPM=1 XPM_DIR="x:\location\of\your\xpm\sources" | 124 -- If you're building with XPM support, modify the appropriate lines in |
108 and similarly for JPEG and TIFF support. | 125 config.inc as follows: |
109 | 126 |
110 If you're building with PNG support, add this to the nmake command line: | 127 HAVE_XPM=1 |
111 HAVE_PNG=1 PNG_DIR="x:\location\of\your\png\sources" | 128 XPM_DIR="x:\location\of\your\xpm\sources" |
112 ZLIB_DIR="x:\location\of\your\zlib\sources" | 129 |
113 | 130 and similarly for JPEG and TIFF support. |
114 If you want to build with GIF support, add this to the nmake command line: | 131 |
115 HAVE_GIF=1 | 132 -- If you're building with PNG support, modify the appropriate lines in |
116 | 133 config.inc as follows: |
117 If you're building with X-Face support, add this to the nmake command line: | 134 |
118 HAVE_XFACE=1 COMPFACE_DIR="x:\location\of\your\compface\sources" | 135 HAVE_PNG=1 |
119 | 136 PNG_DIR="x:\location\of\your\png\sources" |
120 If you're building for X, add this to the nmake command line: | 137 ZLIB_DIR="x:\location\of\your\zlib\sources" |
121 HAVE_X=1 X11_DIR=x:\root\directory\of\your\X11\installation | 138 |
122 | 139 -- If you're building with GIF support, modify the appropriate lines in |
123 3. By default, XEmacs will expect to find its packages in the subdirectories | 140 config.inc as follows: |
124 "site-packages", "mule-packages" and "xemacs-packages" under the package | 141 |
125 prefix directory "c:\Program Files\XEmacs". If you want it to look for | 142 HAVE_GIF=1 |
126 these subdirectories elsewhere, add this to the nmake command line: | 143 |
127 PACKAGE_PREFIX="x:\your\package\directory" | 144 -- If you're building with X-Face support, modify the appropriate lines in |
128 If you change your mind and want to alter the package prefix directory | 145 config.inc as follows: |
129 after you've built XEmacs, delete the file nt\obj\emacs.obj and rebuild | 146 |
130 with the new PACKAGE_PREFIX setting. | 147 HAVE_XFACE=1 |
131 | 148 COMPFACE_DIR="x:\location\of\your\compface\sources" |
132 4. By default, XEmacs will be installed in directories under the directory | 149 |
133 "c:\Program Files\XEmacs\XEmacs-21.2". If you want to install it | 150 -- If you're building for X, modify the appropriate lines in config.inc |
134 elsewhere, add this to the nmake command line: | 151 as follows: |
135 INSTALL_DIR="x:\your\installation\directory" | 152 |
136 | 153 HAVE_X_WINDOWS=1 |
137 5. XEmacs can build its info files more quickly if you have a copy of the | 154 X11_DIR=x:\root\directory\of\your\X11\installation |
138 makeinfo program. If you have a copy, add this to the nmake command line: | 155 |
139 MAKEINFO="x:\location\of\makeinfo.exe" | 156 -- By default, XEmacs will expect to find its packages in the |
140 If you don't have a copy of makeinfo then you'll need to have installed | 157 subdirectories "site-packages", "mule-packages" and "xemacs-packages" |
141 the XEmacs texinfo package. | 158 under the directory "c:\Program Files\XEmacs". If you want it to look |
142 | 159 for these subdirectories elsewhere, modify the appropriate lines in |
143 6. Now you can press Enter. nmake will build temacs, the DOC file, update | 160 config.inc as follows: |
144 the elc's, dump xemacs and install the relevant files in the directories | 161 |
145 under the installation directory. | 162 PACKAGE_PREFIX="x:\your\package\directory" |
146 | 163 |
147 Unless you set INSTALL_DIR above, the file that you should run to start | 164 Make sure that the directory pointed to by PACKAGE_PREFIX contains |
148 XEmacs will be installed as | 165 the xemacs-packages directory into which you installed the packages. |
149 "c:\Program Files\XEmacs\XEmacs-21.2\i586-pc-win32\runxemacs.exe". | 166 |
150 You may want to create a shortcut to that file from your Desktop or | 167 -- XEmacs can build its info files more quickly if you have a copy of the |
168 makeinfo program. If you have a copy, modify the appropriate lines in | |
169 config.inc as follows: | |
170 | |
171 MAKEINFO="x:\location\of\makeinfo.exe" | |
172 | |
173 If you don't have a copy of makeinfo then you'll need to have installed | |
174 the XEmacs texinfo package. | |
175 | |
176 2. If you want to install XEmacs when you build it, modify the appropriate | |
177 lines in config.inc as follows (you can also run XEmacs from its build | |
178 directory): | |
179 | |
180 INSTALL_DIR="x:\your\installation\directory" | |
181 | |
182 (By default, XEmacs will be installed in directories under the directory | |
183 "c:\Program Files\XEmacs\XEmacs-21.2".) | |
184 | |
185 2. If you want to build xemacs on the command line, use | |
186 `nmake install -f xemacs.mak', or just `nmake -f xemacs.mak' if you want | |
187 to run XEmacs from its build directory. nmake will build temacs, the DOC | |
188 file, update the elc's, dump xemacs and (optionally) install the relevant | |
189 files in the directories under the installation directory. | |
190 | |
191 If you chose to install XEmacs, the file that you should run to start | |
192 XEmacs will be installed (by default) as | |
193 "c:\Program Files\XEmacs\XEmacs-21.2\i586-pc-win32\xemacs.exe". | |
194 | |
195 To run from the build directory, run the file "nt\xemacs.exe" off of the | |
196 root of the build directory. | |
197 | |
198 You may want to create a shortcut to the file from your Desktop or | |
151 Start Menu. | 199 Start Menu. |
200 | |
201 3. To build using MS Developer Studio, you can use the workspace file | |
202 `nt/xemacs.dsw'. This was prepared for Visual C++ 5.0; if you have | |
203 a different version and this file doesn't work, just open up | |
204 `nt/xemacs.mak' from within MS Developer Studio and it will offer to | |
205 wrap this Makefile in a workspace file, from which you can build. | |
206 Assuming you want to run from the build directory (which you will | |
207 want to do if you are planning on doing any development work on XEmacs), | |
208 use the following settings in Project/Settings...: | |
209 | |
210 Under the General tab: | |
211 | |
212 Build command line: NMAKE /f xemacs.mak | |
213 Output file name: ..\src\xemacs.exe | |
214 Browse info file name: ..\src\temacs.bsc | |
215 | |
216 Under the Debug tab: | |
217 | |
218 Executable for debug session: ..\src\xemacs.exe | |
219 | |
220 | |
221 If you want to install XEmacs when it's built, change the build command | |
222 line to "NMAKE install /f xemacs.mak". (You will have to make the same | |
223 change even if you use the provided workspace nt/xemacs.dsw.) | |
152 | 224 |
153 | 225 |
154 * Debugging under MS Developer Studio | 226 * Debugging under MS Developer Studio |
155 ===================================== | 227 ===================================== |
156 | 228 |
157 The build process always creates debugging and "Source Browser" information | 229 The build process always creates debugging and "Source Browser" information |
158 in the source tree for use with DevStudio. If you actually want to debug | 230 in the source tree for use with DevStudio. However that information is not |
159 XEmacs you should probably build a debug version of XEmacs: | 231 very useful unless you build a debug version of XEmacs: |
160 | 232 |
161 1. Delete the directory nt\obj and it's contents. | 233 1. Set DEBUG_XEMACS=1 and DEPEND=1 in config.inc and rebuild. |
162 | 234 |
163 2. Add DEBUG_XEMACS=1 to the nmake command line and rebuild. You probably | 235 2. See instructions above for obtaining a workspace file for use with |
164 don't want to install your debug build so you should tell nmake to build | 236 MS Developer Studio. Build and debug your XEmacs this way. |
165 the 'all' target instead of the 'install' target. | 237 |
166 | 238 3. To display the contents of a lisp variable, type Shift-F9 (or use the |
167 3. To make use of the debugging and "Source Browser" information, create a | 239 menu) to bring up the QuickWatch window, type debug_print(variable) and |
168 new "console" project in DevStudio and, under Project/Settings, set: | 240 click Recalculate. The output will appear in a console window, as well |
169 Debug: executable name = full path of src\xemacs.exe | 241 as in the Debug window in MS Developer Studio. |
170 Link: output file name = full path of src\temacs.exe | 242 |
171 Browse Info: browse info file name = full path of src\temacs.bsc | 243 4. To view Lisp variables in the "Watch" window wrap the variable in one of |
172 Remember to close the Source Browser file in DevStudio before rebuilding. | 244 the helper functions from the file src\console-msw.c, for example type |
173 | 245 DSTRING(variable) in the "Watch" window to inspect a Lisp string. |
174 4. Start XEmacs from within DevStudio or by running src\xemacs.exe so that | |
175 you get a console window which may contain helpful debugging info. | |
176 | |
177 5. To display the contents of a lisp variable click Debug/QuickWatch, type | |
178 debug_print(variable) and click Recalculate. The output will appear in | |
179 the console window. | |
180 | |
181 6. To view lisp variables in the "Watch" window wrap the variable in one of | |
182 the helper functions from the file src\console-msw.c. eg type | |
183 DSTRING(variable) in the "Watch" window to inspect a lisp string. | |
184 | 246 |
185 | 247 |
186 * Known Problems | 248 * Known Problems |
187 ================ | 249 ================ |
188 | 250 |
189 Please look at the PROBLEMS file for known problems and at the TODO list for | 251 Please look at the PROBLEMS file for known problems. Any other problems you |
190 the current list of problems and people working on them. | 252 need clarified, please email us and we will endeavour to provide any |
191 | 253 assistance we can: |
192 Any other problems you need clarified, please email us and we will endeavour | |
193 to provide any assistance we can: | |
194 | 254 |
195 The XEmacs NT Mailing List: xemacs-nt@xemacs.org | 255 The XEmacs NT Mailing List: xemacs-nt@xemacs.org |
196 Subscribe address: xemacs-nt-request@xemacs.org | 256 Subscribe address: xemacs-nt-request@xemacs.org |
197 | 257 |
198 David Hobley | 258 David Hobley |
199 Marc Paquette | 259 Marc Paquette |
200 August Hill | 260 August Hill |
201 Jonathan Harris | 261 Jonathan Harris |
262 Ben Wing | |
202 | 263 |
203 and others. | 264 and others. |