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. |
