Mercurial > hg > xemacs-beta
comparison nt/README @ 412:697ef44129c6 r21-2-14
Import from CVS: tag r21-2-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:20:41 +0200 |
parents | b8cc9ab3f761 |
children |
comparison
equal
deleted
inserted
replaced
411:12e008d41344 | 412:697ef44129c6 |
---|---|
1 Building and Installing XEmacs on Windows 95/98/NT -*- mode:outline -*- | 1 Building and Installing XEmacs on Windows NT |
2 | 2 |
3 David Hobley | 3 David Hobley |
4 Marc Paquette | 4 Marc Paquette |
5 Jonathan Harris | 5 Jonathan Harris |
6 Ben Wing | |
7 | 6 |
8 This is a port of XEmacs to Windows 95/98/NT. If you are looking for a port | 7 The port was made much easier by the groundbreaking work of Geoff Voelker |
9 of GNU Emacs, see http://www.cs.washington.edu/homes/voelker/ntemacs.html. | 8 and others who worked on the GNU Emacs port to NT. Their version is available |
9 from http://www.cs.washington.edu/homes/voelker/ntemacs.html | |
10 | 10 |
11 To get it working you will need: | |
11 | 12 |
12 * Required tools and sources | 13 1. You will need Visual C++ V4.0 or later to compile everything. Personally we |
13 ============================ | 14 have tested V4.0, V4.2 and V5.0. |
14 | 15 Note that Visual C++ assumes a couple of environment variables INCLUDE and |
15 1. You will need Visual C++ V4.0 or later to compile everything. Personally | 16 LIB to be set which specify the location of the includes and libraries. |
16 we have tested V4.0, V4.2, V5.0 and v6.0. | 17 Your PATH environment variable also needs to include the DevStudio vc\bin |
17 | 18 and sharedide\bin directories. |
18 Note that Visual C++ assumes that the environment variables INCLUDE and | |
19 LIB are set to specify the location of the includes and libraries. | |
20 Your PATH environment variable also needs to include the DevStudio | |
21 vc\bin and sharedide\bin directories. | |
22 | |
23 Visual C++ V5.0 installs a batch file called vcvars32.bat in | 19 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 | 20 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. | 21 can run before building to set up all of these environment variables. |
26 | 22 |
27 2. Grab the latest XEmacs source from | 23 2. Grab the latest XEmacs source from ftp.xemacs.org if necessary. All Win32 |
24 support is in the nt\ subdirectory. You'll also need the xemacs-base | |
25 package from the binary-packages subdirectory and you'll probably also | |
26 want at least the edit-utils, text-modes, fsf-compat, cc-mode, | |
27 prog-modes and xemacs-devel packages. | |
28 Unpack the packages into, say, "c:\Program Files\XEmacs\xemacs-packages". | |
28 | 29 |
29 ftp://ftp.xemacs.org/pub/xemacs/ | 30 3. At this point you can select X or Win32 native GUI support. |
30 | 31 |
31 or one of its mirrors listed at http://www.xemacs.org/Download/index.html . | 32 If you want to build for native GUI: |
32 | 33 |
33 You'll also need the packages. You probably want to get the unified | 34 1. If you want XPM image and toolbar support grab the latest version of the |
34 packages bundle from | 35 xpm sources (xpm-3.4k.tar.gz at time of writing) and unpack them somewhere. |
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 | |
47 packages. | |
48 | |
49 Unpack the packages into "x:\your\choice\XEmacs\xemacs-packages", | |
50 for example "c:\Program Files\XEmacs\xemacs-packages". | |
51 | |
52 3. At this point you can choose to build for X and/or for Win32 native GUI. | |
53 If you only want to build for the Win32 native GUI then skip the next | |
54 section. | |
55 | |
56 | |
57 ** Extra tools and sources required for X | |
58 | |
59 If you want support for X you will also need: | |
60 | |
61 1. An X server. MI/X is available on the Internet as trialware; it is | |
62 available from: http://www.microimages.com/www/html/mix/ | |
63 | |
64 2. Source for the MIT X11R6.3 libraries, available from: ftp.x.org | |
65 | |
66 3. You'll need to compile the MIT libraries without multi-thread support. | |
67 To do this, there is an example Win32.cf and site.def provided which set | |
68 the relevant flags. You will also need to apply the patch in nt/X11.patch | |
69 in the xc/lib/X11 directory which will fix the DLL definition file. | |
70 | |
71 Once compiled and installed, you will need to apply the patch in | |
72 nt/Xmd.patch. This is messy and better solutions would be appreciated. | |
73 | |
74 4. Goto step 2 under 'Optional libraries' below. | |
75 | |
76 | |
77 * Optional libraries | |
78 ==================== | |
79 | |
80 1. You really want the XPM library. Grab the latest version of the | |
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. | |
83 Copy nt\xpm.mak from the xemacs sources to the lib subdirectory of the | 36 Copy nt\xpm.mak from the xemacs sources to the lib subdirectory of the |
84 xpm sources, cd to that directory and build xpm with 'nmake -f xpm.mak'. | 37 xpm sources, cd to that directory and build xpm with 'nmake -f xpm.mak'. |
85 | 38 |
86 2. You probably also want PNG image support. Grab the latest versions of zlib | 39 2. You probably also want PNG image support. Grab the latest versions of zlib |
87 and libpng (zlib-1.1.3 and libpng-1.0.2 at time of writing) from | 40 and libpng (zlib-1.1.3 and libpng-1.0.2 at time of writing), unpack them |
88 ftp://ftp.xemacs.org/pub/xemacs/aux/, unpack them somewhere and read | 41 somewhere and read the respective READMEs for details on how to build them. |
89 the respective READMEs for details on how to build them. The following | 42 The following build procedure works for zlib-1.1.3 and libpng-1.0.2: |
90 build procedure works for zlib-1.1.3 and libpng-1.0.2: | |
91 | 43 |
92 cd to the zlib directory, type 'copy msdos\makefile.w32 Makefile' and | 44 cd to the zlib directory, type 'copy msdos\makefile.w32 Makefile' and |
93 then type 'nmake'. | 45 then type 'nmake'. |
94 | 46 |
95 cd to the libpng directory, rename or move the zlib directory to ..\zlib | 47 cd to the libpng directory, rename or move the zlib directory to ..\zlib |
96 and type 'nmake -f scripts\makefile.w32'. | 48 and type 'nmake -f scripts\makefile.w32'. |
97 | 49 |
98 3. If you want TIFF support, grap the latest version of libtiff (tiff-v3.4 | 50 3. If you want TIFF support, grap the latest version of libtiff (tiff-v3.4 |
99 at time of writing) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack | 51 at time of writing) and unpack it somewhere. Copy nt\tiff.mak from the |
100 it somewhere. Copy nt\tiff.mak from the xemacs sources to the | 52 xemacs sources to the contrib\winnt subdirectory of the tiff sources, |
101 contrib\winnt subdirectory of the tiff sources, cd to that directory and | 53 cd to that directory and build libtiff with 'nmake -f tiff.mak'. Note: |
102 build libtiff with 'nmake -f tiff.mak'. Note: tiff.mak has only been | 54 tiff.mak has only been verified to work under WinNT, not Win95 or 98. |
103 verified to work under WinNT, not Win95 or 98. However, the lastest | 55 However, the lastest distribution of libtiff includes a |
104 distribution of libtiff includes a contrib\win95\makefile.w95; that might | 56 contrib\win95\makefile.w95; that might work. |
105 work. | |
106 | 57 |
107 4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b at | 58 4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b at |
108 time of writing) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and read the | 59 time of writing) and read the README for details on how to build it. |
109 README for details on how to build it. | |
110 | 60 |
111 5. If you want X-Face support, grab the compface distribution from | 61 5. If you want X-Face support, grab compface distribution and unpack it |
112 ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack it somewhere. | 62 somewhere. Copy nt\compface.mak from xemacs sources to the compface |
113 Copy nt\compface.mak from xemacs sources to the compface directory. | 63 directory. cd to that directory and build libcompface with |
114 cd to that directory and build libcompface with 'nmake -f compface.mak'. | 64 'nmake -f compface.mak'. |
65 | |
66 6. cd to the nt subdirectory of the xemacs distribution and build xemacs: | |
67 `nmake install -f xemacs.mak`, but read on before hitting Enter. | |
68 | |
69 7. If you're building with XPM support, add this to the nmake command line: | |
70 HAVE_XPM=1 XPM_DIR="x:\location\of\your\xpm\sources" | |
71 and similarly for JPEG and TIFF support. | |
72 | |
73 If you're building with PNG support, add this to the nmake command line: | |
74 HAVE_PNG=1 PNG_DIR="x:\location\of\your\png\sources" | |
75 ZLIB_DIR="x:\location\of\your\zlib\sources" | |
76 | |
77 If you want to build with GIF support, add this to the nmake command line: | |
78 HAVE_GIF=1 | |
79 | |
80 If you're building with X-Face support, add this to the nmake command line: | |
81 HAVE_XFACE=1 COMPFACE_DIR="x:\location\of\your\compface\sources" | |
82 | |
83 8. By default, XEmacs will expect to find its packages in the subdirectories | |
84 "site-packages", "mule-packages" and "xemacs-packages" under the package | |
85 prefix directory "c:\Program Files\XEmacs". If you want it to look for | |
86 these subdirectories elsewhere, add this to the nmake command line: | |
87 PACKAGE_PREFIX="x:\your\package\directory" | |
88 If you change your mind and want to alter the package prefix directory | |
89 after you've built XEmacs, delete the file .\obj\emacs.obj and rebuild with | |
90 the new PACKAGE_PREFIX. | |
91 | |
92 9. By default, XEmacs will be installed in directories under the directory | |
93 "c:\Program Files\XEmacs\XEmacs-21.0". If you want to install it elsewhere, | |
94 add this to the nmake command line: | |
95 INSTALL_DIR="x:\your\installation\directory" | |
96 | |
97 10. Now you can press Enter. nmake will build temacs, the DOC file, update the | |
98 elc's, dump xemacs and install the relevant files in the directories under | |
99 the installation directory. Unless you set INSTALL_DIR above, the file that | |
100 you should run to start XEmacs will be installed as | |
101 "c:\Program Files\XEmacs\XEmacs-21.0\i386-pc-win32\runemacs.exe". You may | |
102 want to create a shortcut to that file from your Desktop or Start Menu. | |
103 | |
104 11. The build process always creates debugging and "Source Browser" information | |
105 in the source tree for use with MS DevStudio. If you actually want to debug | |
106 XEmacs you should run XEmacs from the source directory instead of from the | |
107 installation directory. You should probably also build a debug version of | |
108 XEmacs; to do this start with a clean source tree and add DEBUG_XEMACS=1 to | |
109 the nmake command line. You probably don't want to install your debug build | |
110 so you should tell nmake to build the 'all' target instead of the 'install' | |
111 target. | |
112 | |
113 To make use of the debugging and "Source Browser" information, create a new | |
114 "console" project in MS DevStudio and, under Project/Settings, set: | |
115 Debug: executable name = full path of src\xemacs.exe | |
116 Link: output file name = full path of src\temacs.exe | |
117 Browse Info: browse info file name = full path of src\temacs.bsc | |
118 Remember to close the Source Browser file in DevStudio before rebuilding. | |
115 | 119 |
116 | 120 |
117 * Building | 121 If you want support for X you will need: |
118 ========== | |
119 | 122 |
120 1. cd to the nt subdirectory of the xemacs distribution and copy the file | 123 1. An X server. MI/X is available on the Internet for free; It is |
121 config.inc.samp to config.inc. Make any necessary modifications. This | 124 available from: http://www.microimages.com/www/html/freestuf/mixdlfrm.htm |
122 file controls the options that XEmacs is built with: | |
123 | 125 |
124 -- If you're building with XPM support, modify the appropriate lines in | 126 2. The MIT X11R6.3 libraries available from: ftp.x.org |
125 config.inc as follows: | |
126 | 127 |
127 HAVE_XPM=1 | 128 3. You'll need to compile the MIT libraries without multi-thread support. |
128 XPM_DIR="x:\location\of\your\xpm\sources" | 129 To do this, there is an example Win32.cf and site.def provided which |
129 | 130 set the relevant flags. You will also need to apply the patch in |
130 and similarly for JPEG and TIFF support. | 131 nt/X11.patch in the xc/lib/X11 directory which will fix the DLL definition |
132 file. Once compiled and installed, you will need to apply the following | |
133 patch to Xmd.h. This is messy and better solutions would be appreciated. | |
131 | 134 |
132 -- If you're building with PNG support, modify the appropriate lines in | 135 4. Goto 2 under 'native GUI' above and add this to the nmake command line: |
133 config.inc as follows: | 136 HAVE_X=1 X11_DIR=x:\root\directory\of\your\X11\installation |
134 | 137 |
135 HAVE_PNG=1 | 138 --- Xmd.h~ Thu Jun 08 23:20:40 1995 |
136 PNG_DIR="x:\location\of\your\png\sources" | 139 +++ Xmd.h Sun Mar 16 13:09:10 1997 |
137 ZLIB_DIR="x:\location\of\your\zlib\sources" | 140 @@ -150,8 +150,9 @@ |
141 typedef CARD16 BITS16; | |
142 typedef CARD8 BYTE; | |
143 | |
144 +#ifndef WIN32 | |
145 typedef CARD8 BOOL; | |
146 - | |
147 +#endif | |
148 | |
149 Known Problems: | |
150 Please look at the TODO list for the current list of problems and people | |
151 working on them. | |
138 | 152 |
139 -- If you're building with GIF support, modify the appropriate lines in | 153 Any other problems you need clarified, please email us and we will endeavour |
140 config.inc as follows: | 154 to provide any assistance we can: |
141 | |
142 HAVE_GIF=1 | |
143 | |
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 -- If you're building for X, modify the appropriate lines in config.inc | |
151 as follows: | |
152 | |
153 HAVE_X_WINDOWS=1 | |
154 X11_DIR=x:\root\directory\of\your\X11\installation | |
155 | |
156 -- By default, XEmacs will expect to find its packages in the | |
157 subdirectories "site-packages", "mule-packages" and "xemacs-packages" | |
158 under the directory "c:\Program Files\XEmacs". If you want it to look | |
159 for these subdirectories elsewhere, modify the appropriate lines in | |
160 config.inc as follows: | |
161 | |
162 PACKAGE_PREFIX="x:\your\package\directory" | |
163 | |
164 Make sure that the directory pointed to by PACKAGE_PREFIX contains | |
165 the xemacs-packages directory into which you installed the packages. | |
166 | |
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 | |
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.) | |
224 | |
225 | |
226 * Debugging under MS Developer Studio | |
227 ===================================== | |
228 | |
229 The build process always creates debugging and "Source Browser" information | |
230 in the source tree for use with DevStudio. However that information is not | |
231 very useful unless you build a debug version of XEmacs: | |
232 | |
233 1. Set DEBUG_XEMACS=1 and DEPEND=1 in config.inc and rebuild. | |
234 | |
235 2. See instructions above for obtaining a workspace file for use with | |
236 MS Developer Studio. Build and debug your XEmacs this way. | |
237 | |
238 3. To display the contents of a lisp variable, type Shift-F9 (or use the | |
239 menu) to bring up the QuickWatch window, type debug_print(variable) and | |
240 click Recalculate. The output will appear in a console window, as well | |
241 as in the Debug window in MS Developer Studio. | |
242 | |
243 4. To view Lisp variables in the "Watch" window wrap the variable in one of | |
244 the helper functions from the file src\console-msw.c, for example type | |
245 DSTRING(variable) in the "Watch" window to inspect a Lisp string. | |
246 | |
247 | |
248 * Known Problems | |
249 ================ | |
250 | |
251 Please look at the PROBLEMS file for known problems. Any other problems you | |
252 need clarified, please email us and we will endeavour to provide any | |
253 assistance we can: | |
254 | 155 |
255 The XEmacs NT Mailing List: xemacs-nt@xemacs.org | 156 The XEmacs NT Mailing List: xemacs-nt@xemacs.org |
256 Subscribe address: xemacs-nt-request@xemacs.org | 157 Subscribe address: xemacs-nt-request@xemacs.org |
257 | 158 |
258 David Hobley | 159 David Hobley |
259 Marc Paquette | 160 Marc Paquette |
260 August Hill | 161 August Hill |
261 Jonathan Harris | 162 Jonathan Harris |
262 Ben Wing | |
263 | 163 |
264 and others. | 164 and others. |