900
|
1 Building and Installing XEmacs on Windows 95/98/NT/2000/XP -*- mode:outline -*-
|
428
|
2
|
|
3 David Hobley
|
442
|
4 Marc Paquette
|
|
5 Jonathan Harris
|
|
6 Ben Wing
|
428
|
7
|
900
|
8 This is a port of XEmacs to Windows 95/98/NT/2000/XP. If you are looking for a
|
916
|
9 port of GNU Emacs, get the latest release of the 21.x series from gnu.org.
|
|
10 (At the time of writing, GNU Emacs does not support images but does support
|
|
11 Mule.) NT 4.0 or later is required for building on Windows NT. Note that the
|
442
|
12 developers typically use NT 4.0 and Windows 2000, and there may possibly be
|
827
|
13 problems under Windows 95/98. If so, please report them to
|
442
|
14 xemacs-nt@xemacs.org; we are committed to maintaining compatibility with all
|
|
15 systems listed.
|
428
|
16
|
442
|
17 * Required tools and sources
|
|
18 ============================
|
|
19
|
900
|
20 1. You will need Visual C++ V6.0, Visual Studio .NET or later to compile
|
|
21 everything.
|
428
|
22
|
442
|
23 Note that Visual C++ assumes that the environment variables INCLUDE and
|
|
24 LIB are set to specify the location of the includes and libraries.
|
827
|
25 Your PATH environment variable also needs to include the Visual Studio
|
442
|
26 vc\bin and sharedide\bin directories.
|
|
27
|
900
|
28 Visual C++ V6.0 installs a batch file called vcvars32.bat in
|
812
|
29 c:\Program Files\Microsoft Visual Studio\VC98\bin\ (or wherever you
|
|
30 installed it) that you can run before building to set up all of these
|
|
31 environment variables. Alternatively, you can choose at setup time to
|
|
32 have these environment variables automatically set up in the registry,
|
|
33 which is generally a good idea.
|
428
|
34
|
900
|
35 Visual Studio .NET calls this batch file vsvars32.bat and installs it in
|
|
36 $Installdir\Common7\Tools, but doesn't offer at install time to
|
|
37 automatically set these environment variables up in the registry.
|
442
|
38
|
|
39 2. Grab the latest XEmacs source from
|
|
40
|
|
41 ftp://ftp.xemacs.org/pub/xemacs/
|
|
42
|
|
43 or one of its mirrors listed at http://www.xemacs.org/Download/index.html.
|
|
44
|
|
45 (NOTE: If you are behind a firewall and have problems with FTP access,
|
|
46 the URL http://ftp.xemacs.org/pub/xemacs/ works just as well.)
|
|
47
|
|
48 You'll also need the packages. You probably want to get the unified
|
|
49 packages bundle from
|
|
50
|
|
51 ftp://ftp.xemacs.org/pub/xemacs/packages/xemacs-sumo.tar.gz
|
|
52
|
|
53 If you are building with international support, you also need
|
|
54
|
|
55 ftp://ftp.xemacs.org/pub/xemacs/packages/xemacs-mule-sumo.tar.gz
|
|
56
|
|
57 Although we don't recommend it, you can also retrieve just the packages
|
|
58 you really need if you have an extremely slow net connection or are very
|
|
59 short on disk space. You can find the various packages in
|
|
60 ftp://ftp.xemacs.org/pub/xemacs/packages/. You will need the xemacs-base
|
|
61 package (and mule-base, if building with international support). You'll
|
|
62 also need the texinfo package unless you have a copy of makeinfo.exe on
|
|
63 your machine. If you want to download additional or updated packages
|
|
64 from within XEmacs you'll need the efs, dired and vm packages. You'll
|
|
65 probably also want at least the edit-utils, text-modes, fsf-compat,
|
|
66 cc-mode, prog-modes and xemacs-devel packages.
|
|
67
|
|
68 Unpack the packages into "x:\your\choice\XEmacs\xemacs-packages",
|
|
69 for example "c:\Program Files\XEmacs\xemacs-packages".
|
|
70
|
1330
|
71 3. The native build no longer supports X Windows. There is no point,
|
|
72 since the Cygwin build is actively maintained and supports X Windows
|
|
73 very well. See the FAQ if you want to build with Cygwin.
|
442
|
74
|
|
75
|
|
76 * Optional libraries
|
|
77 ====================
|
|
78
|
827
|
79 1. You really want the XPM library. Grab the latest version of the xpm
|
1780
|
80 sources (xpm-3.4k.tar.gz as of 2003-10-27) from
|
827
|
81 ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack them somewhere. Copy
|
|
82 nt\xpm.mak from the xemacs sources to the lib subdirectory of the xpm
|
|
83 sources, cd to that directory and build xpm with 'nmake -f xpm.mak'.
|
428
|
84
|
827
|
85 2. You probably also want PNG image support. Grab the latest versions of
|
1780
|
86 zlib and libpng (zlib-1.1.4 and libpng-1.2.5 as of 2003-10-27) from
|
827
|
87 ftp://ftp.xemacs.org/pub/xemacs/aux/, unpack them somewhere and read the
|
|
88 respective READMEs for details on how to build them. The following
|
1780
|
89 build procedure works for zlib-1.1.4 and libpng-1.2.5:
|
428
|
90
|
1780
|
91 cd to the zlib directory and type 'nmake -f nt\Makefile.nt'.
|
428
|
92
|
|
93 cd to the libpng directory, rename or move the zlib directory to ..\zlib
|
817
|
94 and type 'nmake -f scripts\makefile.vcwin32'.
|
428
|
95
|
1780
|
96 3. If you want TIFF support, grab the latest version of libtiff (tiff-v3.5.7
|
|
97 as of 2003-10-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack
|
|
98 it somewhere. Then cd to the libtiff subdirectory of the tiff directory
|
|
99 and type 'nmake -f makefile.vc'.
|
428
|
100
|
827
|
101 4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b as
|
1780
|
102 of 2003-10-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and read the
|
442
|
103 README for details on how to build it.
|
428
|
104
|
1780
|
105 5. If you want X-Face support, grab the latest version of the compface
|
|
106 distribution (1.4 as of 2003-10-27) from
|
442
|
107 ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack it somewhere.
|
1780
|
108 Copy nt\compface.mak from the xemacs sources to the compface directory.
|
442
|
109 cd to that directory and build libcompface with 'nmake -f compface.mak'.
|
428
|
110
|
|
111
|
442
|
112 * Building
|
|
113 ==========
|
|
114
|
|
115 1. cd to the nt subdirectory of the xemacs distribution and copy the file
|
|
116 config.inc.samp to config.inc. Make any necessary modifications. This
|
|
117 file controls the options that XEmacs is built with:
|
|
118
|
|
119 -- If you want international (aka "Mule") support, modify the appropriate
|
|
120 line in config.inc as follows:
|
|
121
|
771
|
122 MULE=1
|
428
|
123
|
442
|
124 -- If you're building with XPM support, modify the appropriate lines in
|
|
125 config.inc as follows:
|
|
126
|
|
127 HAVE_XPM=1
|
|
128 XPM_DIR="x:\location\of\your\xpm\sources"
|
|
129
|
|
130 and similarly for JPEG and TIFF support.
|
428
|
131
|
442
|
132 -- If you're building with PNG support, modify the appropriate lines in
|
|
133 config.inc as follows:
|
|
134
|
|
135 HAVE_PNG=1
|
|
136 PNG_DIR="x:\location\of\your\png\sources"
|
|
137 ZLIB_DIR="x:\location\of\your\zlib\sources"
|
|
138
|
|
139 -- If you're building with GIF support, modify the appropriate lines in
|
|
140 config.inc as follows:
|
|
141
|
|
142 HAVE_GIF=1
|
428
|
143
|
442
|
144 -- If you're building with X-Face support, modify the appropriate lines in
|
|
145 config.inc as follows:
|
|
146
|
|
147 HAVE_XFACE=1
|
|
148 COMPFACE_DIR="x:\location\of\your\compface\sources"
|
|
149
|
|
150 -- By default, XEmacs will expect to find its packages in the
|
|
151 subdirectories "site-packages", "mule-packages" and "xemacs-packages"
|
|
152 under the directory "c:\Program Files\XEmacs". If you want it to look
|
|
153 for these subdirectories elsewhere, modify the appropriate lines in
|
|
154 config.inc as follows:
|
428
|
155
|
442
|
156 PACKAGE_PREFIX="x:\your\package\directory"
|
|
157
|
|
158 Make sure that the directory pointed to by PACKAGE_PREFIX contains
|
|
159 the xemacs-packages directory into which you installed the packages.
|
|
160
|
|
161 -- XEmacs can build its info files more quickly if you have a copy of the
|
|
162 makeinfo program. If you have a copy, modify the appropriate lines in
|
|
163 config.inc as follows:
|
|
164
|
|
165 MAKEINFO="x:\location\of\makeinfo.exe"
|
|
166
|
|
167 If you don't have a copy of makeinfo then you'll need to have installed
|
|
168 the XEmacs texinfo package.
|
|
169
|
|
170 2. If you want to install XEmacs when you build it, modify the appropriate
|
|
171 lines in config.inc as follows (you can also run XEmacs from its build
|
|
172 directory):
|
|
173
|
|
174 INSTALL_DIR="x:\your\installation\directory"
|
428
|
175
|
442
|
176 (By default, XEmacs will be installed in directories under the directory
|
827
|
177 "c:\Program Files\XEmacs\XEmacs-21.5".)
|
442
|
178
|
1330
|
179 3. If you want the built files to go into a different tree than the source
|
|
180 tree (e.g. this allows you to build multiple versions of XEmacs, with
|
|
181 different configuration settings, from the same source tree), use the
|
|
182 script `make-build-dir' to create a skeleton build tree, create a
|
|
183 config.inc in that tree, and then run nmake from that tree. This is
|
|
184 similar to running `configure --srcdir=PATH' under Unix. See the
|
|
185 comments in `config.inc.samp' for more information.
|
|
186
|
|
187 4. If you want to build xemacs on the command line, use
|
442
|
188 `nmake install -f xemacs.mak', or just `nmake -f xemacs.mak' if you want
|
|
189 to run XEmacs from its build directory. nmake will build temacs, the DOC
|
|
190 file, update the elc's, dump xemacs and (optionally) install the relevant
|
|
191 files in the directories under the installation directory.
|
|
192
|
|
193 If you chose to install XEmacs, the file that you should run to start
|
|
194 XEmacs will be installed (by default) as
|
827
|
195 "c:\Program Files\XEmacs\XEmacs-21.5\i586-pc-win32\xemacs.exe".
|
442
|
196
|
827
|
197 To run from the build directory, run the file "src\xemacs.exe" off of the
|
442
|
198 root of the build directory.
|
|
199
|
|
200 You may want to create a shortcut to the file from your Desktop or
|
|
201 Start Menu.
|
|
202
|
1330
|
203 5. To build using MS Visual Studio, you can use the workspace file
|
827
|
204 `nt/xemacs.dsw'. This was prepared for Visual C++ 6.0. If you have a
|
|
205 different version and neither file works, just open up `nt/xemacs.mak'
|
900
|
206 from within Visual Studio and it will offer to wrap this Makefile in a
|
|
207 workspace file, from which you can build. Assuming you want to run from
|
|
208 the build directory (which you will want to do if you are planning on
|
|
209 doing any development work on XEmacs), use the following settings in
|
827
|
210 Project/Settings...:
|
442
|
211
|
|
212 Under the General tab:
|
|
213
|
|
214 Build command line: NMAKE /f xemacs.mak
|
|
215 Output file name: ..\src\xemacs.exe
|
|
216 Browse info file name: ..\src\temacs.bsc
|
|
217
|
|
218 Under the Debug tab:
|
428
|
219
|
442
|
220 Executable for debug session: ..\src\xemacs.exe
|
|
221
|
|
222
|
|
223 If you want to install XEmacs when it's built, change the build command
|
|
224 line to "NMAKE install /f xemacs.mak". (You will have to make the same
|
|
225 change even if you use the provided workspace nt/xemacs.dsw.)
|
|
226
|
|
227
|
|
228 * Debugging under MS Developer Studio
|
|
229 =====================================
|
|
230
|
|
231 The build process always creates debugging and "Source Browser" information
|
|
232 in the source tree for use with DevStudio. However that information is not
|
|
233 very useful unless you build a debug version of XEmacs:
|
|
234
|
|
235 1. Set DEBUG_XEMACS=1 and DEPEND=1 in config.inc and rebuild.
|
|
236
|
|
237 2. See instructions above for obtaining a workspace file for use with
|
|
238 MS Developer Studio. Build and debug your XEmacs this way.
|
|
239
|
|
240 3. To display the contents of a lisp variable, type Shift-F9 (or use the
|
1203
|
241 menu) to bring up the QuickWatch window, type dp(variable) and click
|
|
242 Recalculate. The output will appear in a console window, as well as in
|
|
243 the Debug window in MS Developer Studio.
|
442
|
244
|
1203
|
245 4. To display a current Lisp backtrace, type db() in the QuickWatch window,
|
|
246 as in the previous item.
|
|
247
|
|
248 5. To view Lisp variables in the "Watch" window wrap the variable in one of
|
442
|
249 the helper functions from the file src\console-msw.c, for example type
|
|
250 DSTRING(variable) in the "Watch" window to inspect a Lisp string.
|
|
251
|
1203
|
252 6. For further information on debugging XEmacs, see the item
|
|
253 `How to Debug an XEmacs problem with a debugger' in the XEmacs FAQ.
|
|
254
|
442
|
255
|
|
256 * Known Problems
|
|
257 ================
|
|
258
|
|
259 Please look at the PROBLEMS file for known problems. Any other problems you
|
|
260 need clarified, please email us and we will endeavour to provide any
|
|
261 assistance we can:
|
428
|
262
|
|
263 The XEmacs NT Mailing List: xemacs-nt@xemacs.org
|
|
264 Subscribe address: xemacs-nt-request@xemacs.org
|
|
265
|
442
|
266 Ben Wing (current primary MS Windows maintainer; author of the MS Windows
|
|
267 Mule code and some of the dialog box code)
|
|
268 Andy Piper (MS Windows contributor; author of the Cygwin support and the
|
|
269 MS Windows glyph and widget code)
|
|
270 Jonathan Harris (MS Windows contributor; author of the MS Windows redisplay
|
|
271 and underlying GUI code)
|
|
272 Kirill Katsnelson (MS Windows contributor; author of the MS Windows process
|
|
273 and printing code and some of the dialog box code;
|
|
274 general guru on obscure MS Windows programming topics)
|
|
275 David Hobley (early MS Windows contributor)
|
|
276 Marc Paquette (early MS Windows contributor)
|
|
277 August Hill (early MS Windows contributor)
|
428
|
278
|
|
279 and others.
|