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.