comparison nt/README @ 400:a86b2b5e0111 r21-2-30

Import from CVS: tag r21-2-30
author cvs
date Mon, 13 Aug 2007 11:14:34 +0200
parents 7d59cb494b73
children b8cc9ab3f761
comparison
equal deleted inserted replaced
399:376370fb5946 400:a86b2b5e0111
1 Building and Installing XEmacs on Windows NT 1 Building and Installing XEmacs on Windows 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
7 The port was made much easier by the groundbreaking work of Geoff Voelker 7 The port was made much easier by the groundbreaking work of Geoff Voelker
8 and others who worked on the GNU Emacs port to NT. Their version is available 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 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
19 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
20 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
21 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.
22 26
23 2. Grab the latest XEmacs source from ftp.xemacs.org if necessary. All Win32 27 2. Grab the latest XEmacs source from ftp.xemacs.org if necessary.
24 support is in the nt\ subdirectory. You'll also need the xemacs-base 28
25 package from the binary-packages subdirectory and you'll probably also 29 You'll also need the xemacs-base package from the binary-packages
26 want at least the edit-utils, text-modes, fsf-compat, cc-mode, 30 subdirectory and you'll probably also want at least the edit-utils,
27 prog-modes and xemacs-devel packages. 31 text-modes, fsf-compat, cc-mode, prog-modes and xemacs-devel
32 packages.
33
34 You'll also need the texinfo package unless you have a copy of
35 makeinfo.exe on your machine.
36
28 Unpack the packages into, say, "c:\Program Files\XEmacs\xemacs-packages". 37 Unpack the packages into, say, "c:\Program Files\XEmacs\xemacs-packages".
29 38
30 3. At this point you can select X or Win32 native GUI support. 39 3. At this point you can choose to build for X and/or for Win32 native GUI.
31 40 If you only want to build for the Win32 native GUI then skip the next
32 If you want to build for native GUI: 41 section.
42
43
44 ** Extra tools and sources required for X
45
46 If you want support for X you will also need:
47
48 1. An X server. MI/X is available on the Internet for free; It is
49 available from: http://www.microimages.com/www/html/freestuf/mixdlfrm.htm
50
51 2. Source for the MIT X11R6.3 libraries, available from: ftp.x.org
52
53 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
55 the relevant flags. You will also need to apply the patch in nt/X11.patch
56 in the xc/lib/X11 directory which will fix the DLL definition file.
57
58 Once compiled and installed, you will need to apply the patch in
59 nt/Xmd.patch. This is messy and better solutions would be appreciated.
60
61 4. Goto step 2 under 'Optional libraries' below.
62
63
64 * Optional libraries
65 ====================
33 66
34 1. If you want XPM image and toolbar support grab the latest version of the 67 1. If you want XPM image and toolbar support grab the latest version of the
35 xpm sources (xpm-3.4k.tar.gz at time of writing) and unpack them somewhere. 68 xpm sources (xpm-3.4k.tar.gz at time of writing) and unpack them somewhere.
36 Copy nt\xpm.mak from the xemacs sources to the lib subdirectory of the 69 Copy nt\xpm.mak from the xemacs sources to the lib subdirectory of the
37 xpm sources, cd to that directory and build xpm with 'nmake -f xpm.mak'. 70 xpm sources, cd to that directory and build xpm with 'nmake -f xpm.mak'.
61 5. If you want X-Face support, grab compface distribution and unpack it 94 5. If you want X-Face support, grab compface distribution and unpack it
62 somewhere. Copy nt\compface.mak from xemacs sources to the compface 95 somewhere. Copy nt\compface.mak from xemacs sources to the compface
63 directory. cd to that directory and build libcompface with 96 directory. cd to that directory and build libcompface with
64 'nmake -f compface.mak'. 97 'nmake -f compface.mak'.
65 98
66 6. cd to the nt subdirectory of the xemacs distribution and build xemacs: 99
100 * Building
101 ==========
102
103 1. cd to the nt subdirectory of the xemacs distribution and build xemacs:
67 `nmake install -f xemacs.mak`, but read on before hitting Enter. 104 `nmake install -f xemacs.mak`, but read on before hitting Enter.
68 105
69 7. If you're building with XPM support, add this to the nmake command line: 106 2. 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" 107 HAVE_XPM=1 XPM_DIR="x:\location\of\your\xpm\sources"
71 and similarly for JPEG and TIFF support. 108 and similarly for JPEG and TIFF support.
72 109
73 If you're building with PNG support, add this to the nmake command line: 110 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" 111 HAVE_PNG=1 PNG_DIR="x:\location\of\your\png\sources"
76 113
77 If you want to build with GIF support, add this to the nmake command line: 114 If you want to build with GIF support, add this to the nmake command line:
78 HAVE_GIF=1 115 HAVE_GIF=1
79 116
80 If you're building with X-Face support, add this to the nmake command line: 117 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" 118 HAVE_XFACE=1 COMPFACE_DIR="x:\location\of\your\compface\sources"
82 119
83 8. By default, XEmacs will expect to find its packages in the subdirectories 120 If you're building for X, add this to the nmake command line:
121 HAVE_X=1 X11_DIR=x:\root\directory\of\your\X11\installation
122
123 3. By default, XEmacs will expect to find its packages in the subdirectories
84 "site-packages", "mule-packages" and "xemacs-packages" under the package 124 "site-packages", "mule-packages" and "xemacs-packages" under the package
85 prefix directory "c:\Program Files\XEmacs". If you want it to look for 125 prefix directory "c:\Program Files\XEmacs". If you want it to look for
86 these subdirectories elsewhere, add this to the nmake command line: 126 these subdirectories elsewhere, add this to the nmake command line:
87 PACKAGE_PREFIX="x:\your\package\directory" 127 PACKAGE_PREFIX="x:\your\package\directory"
88 If you change your mind and want to alter the package prefix directory 128 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 129 after you've built XEmacs, delete the file nt\obj\emacs.obj and rebuild
90 the new PACKAGE_PREFIX. 130 with the new PACKAGE_PREFIX setting.
91 131
92 9. By default, XEmacs will be installed in directories under the directory 132 4. 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, 133 "c:\Program Files\XEmacs\XEmacs-21.2". If you want to install it
94 add this to the nmake command line: 134 elsewhere, add this to the nmake command line:
95 INSTALL_DIR="x:\your\installation\directory" 135 INSTALL_DIR="x:\your\installation\directory"
96 136
97 10. Now you can press Enter. nmake will build temacs, the DOC file, update the 137 5. XEmacs can build its info files more quickly if you have a copy of the
98 elc's, dump xemacs and install the relevant files in the directories under 138 makeinfo program. If you have a copy, add this to the nmake command line:
99 the installation directory. Unless you set INSTALL_DIR above, the file that 139 MAKEINFO="x:\location\of\makeinfo.exe"
100 you should run to start XEmacs will be installed as 140 If you don't have a copy of makeinfo then you'll need to have installed
101 "c:\Program Files\XEmacs\XEmacs-21.0\i386-pc-win32\runemacs.exe". You may 141 the XEmacs texinfo package.
102 want to create a shortcut to that file from your Desktop or Start Menu. 142
103 143 6. Now you can press Enter. nmake will build temacs, the DOC file, update
104 11. The build process always creates debugging and "Source Browser" information 144 the elc's, dump xemacs and install the relevant files in the directories
105 in the source tree for use with MS DevStudio. If you actually want to debug 145 under the installation directory.
106 XEmacs you should run XEmacs from the source directory instead of from the 146
107 installation directory. You should probably also build a debug version of 147 Unless you set INSTALL_DIR above, the file that you should run to start
108 XEmacs; to do this start with a clean source tree and add DEBUG_XEMACS=1 to 148 XEmacs will be installed as
109 the nmake command line. You probably don't want to install your debug build 149 "c:\Program Files\XEmacs\XEmacs-21.2\i586-pc-win32\runxemacs.exe".
110 so you should tell nmake to build the 'all' target instead of the 'install' 150 You may want to create a shortcut to that file from your Desktop or
111 target. 151 Start Menu.
112 152
113 To make use of the debugging and "Source Browser" information, create a new 153
114 "console" project in MS DevStudio and, under Project/Settings, set: 154 * Debugging under MS Developer Studio
155 =====================================
156
157 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
159 XEmacs you should probably build a debug version of XEmacs:
160
161 1. Delete the directory nt\obj and it's contents.
162
163 2. Add DEBUG_XEMACS=1 to the nmake command line and rebuild. You probably
164 don't want to install your debug build so you should tell nmake to build
165 the 'all' target instead of the 'install' target.
166
167 3. To make use of the debugging and "Source Browser" information, create a
168 new "console" project in DevStudio and, under Project/Settings, set:
115 Debug: executable name = full path of src\xemacs.exe 169 Debug: executable name = full path of src\xemacs.exe
116 Link: output file name = full path of src\temacs.exe 170 Link: output file name = full path of src\temacs.exe
117 Browse Info: browse info file name = full path of src\temacs.bsc 171 Browse Info: browse info file name = full path of src\temacs.bsc
118 Remember to close the Source Browser file in DevStudio before rebuilding. 172 Remember to close the Source Browser file in DevStudio before rebuilding.
119 173
120 174 4. Start XEmacs from within DevStudio or by running src\xemacs.exe so that
121 If you want support for X you will need: 175 you get a console window which may contain helpful debugging info.
122 176
123 1. An X server. MI/X is available on the Internet for free; It is 177 5. To display the contents of a lisp variable click Debug/QuickWatch, type
124 available from: http://www.microimages.com/www/html/freestuf/mixdlfrm.htm 178 debug_print(variable) and click Recalculate. The output will appear in
125 179 the console window.
126 2. The MIT X11R6.3 libraries available from: ftp.x.org 180
127 181 6. To view lisp variables in the "Watch" window wrap the variable in one of
128 3. You'll need to compile the MIT libraries without multi-thread support. 182 the helper functions from the file src\console-msw.c. eg type
129 To do this, there is an example Win32.cf and site.def provided which 183 DSTRING(variable) in the "Watch" window to inspect a lisp string.
130 set the relevant flags. You will also need to apply the patch in 184
131 nt/X11.patch in the xc/lib/X11 directory which will fix the DLL definition 185
132 file. Once compiled and installed, you will need to apply the following 186 * Known Problems
133 patch to Xmd.h. This is messy and better solutions would be appreciated. 187 ================
134 188
135 4. Goto 2 under 'native GUI' above and add this to the nmake command line: 189 Please look at the PROBLEMS file for known problems and at the TODO list for
136 HAVE_X=1 X11_DIR=x:\root\directory\of\your\X11\installation 190 the current list of problems and people working on them.
137
138 --- Xmd.h~ Thu Jun 08 23:20:40 1995
139 +++ Xmd.h Sun Mar 16 13:09:10 1997
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.
152 191
153 Any other problems you need clarified, please email us and we will endeavour 192 Any other problems you need clarified, please email us and we will endeavour
154 to provide any assistance we can: 193 to provide any assistance we can:
155 194
156 The XEmacs NT Mailing List: xemacs-nt@xemacs.org 195 The XEmacs NT Mailing List: xemacs-nt@xemacs.org