annotate nt/README @ 363:972bbb6d6ca2 r21-1-11

Import from CVS: tag r21-1-11
author cvs
date Mon, 13 Aug 2007 10:59:28 +0200
parents 58bac07dfa74
children a4f53d9b3154
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
169
15872534500d Import from CVS: tag r20-3b11
cvs
parents: 155
diff changeset
1 Building and Installing XEmacs on Windows NT
155
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
2
169
15872534500d Import from CVS: tag r20-3b11
cvs
parents: 155
diff changeset
3 David Hobley
15872534500d Import from CVS: tag r20-3b11
cvs
parents: 155
diff changeset
4 Marc Paquette
215
1f0dabaa0855 Import from CVS: tag r20-4b6
cvs
parents: 213
diff changeset
5 Jonathan Harris
155
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
6
169
15872534500d Import from CVS: tag r20-3b11
cvs
parents: 155
diff changeset
7 The port was made much easier by the groundbreaking work of Geoff Voelker
15872534500d Import from CVS: tag r20-3b11
cvs
parents: 155
diff changeset
8 and others who worked on the GNU Emacs port to NT. Their version is available
15872534500d Import from CVS: tag r20-3b11
cvs
parents: 155
diff changeset
9 from http://www.cs.washington.edu/homes/voelker/ntemacs.html
15872534500d Import from CVS: tag r20-3b11
cvs
parents: 155
diff changeset
10
15872534500d Import from CVS: tag r20-3b11
cvs
parents: 155
diff changeset
11 To get it working you will need:
155
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
12
308
33bdb3d4b97f Import from CVS: tag r21-0b52
cvs
parents: 298
diff changeset
13 1. You will need Visual C++ V4.0 or later to compile everything. Personally we
33bdb3d4b97f Import from CVS: tag r21-0b52
cvs
parents: 298
diff changeset
14 have tested V4.0, V4.2 and V5.0.
213
78f53ef88e17 Import from CVS: tag r20-4b5
cvs
parents: 195
diff changeset
15 Note that Visual C++ assumes a couple of environment variables INCLUDE and
78f53ef88e17 Import from CVS: tag r20-4b5
cvs
parents: 195
diff changeset
16 LIB to be set which specify the location of the includes and libraries.
308
33bdb3d4b97f Import from CVS: tag r21-0b52
cvs
parents: 298
diff changeset
17 Your PATH environment variable also needs to include the DevStudio vc\bin
33bdb3d4b97f Import from CVS: tag r21-0b52
cvs
parents: 298
diff changeset
18 and sharedide\bin directories.
33bdb3d4b97f Import from CVS: tag r21-0b52
cvs
parents: 298
diff changeset
19 Visual C++ V5.0 installs a batch file called vcvars32.bat in
33bdb3d4b97f Import from CVS: tag r21-0b52
cvs
parents: 298
diff changeset
20 c:\Program Files\DevStudio\VC\bin\ (or wherever you installed it) that you
33bdb3d4b97f Import from CVS: tag r21-0b52
cvs
parents: 298
diff changeset
21 can run before building to set up all of these environment variables.
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
22
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
23 2. Grab the latest XEmacs source from ftp.xemacs.org if necessary. All Win32
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
24 support is in the nt\ subdirectory. You'll also need the xemacs-base
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
25 package from the binary-packages subdirectory and you'll probably also
327
03446687b7cc Import from CVS: tag r21-0-61
cvs
parents: 318
diff changeset
26 want at least the edit-utils, text-modes, fsf-compat, cc-mode,
03446687b7cc Import from CVS: tag r21-0-61
cvs
parents: 318
diff changeset
27 prog-modes and xemacs-devel packages.
03446687b7cc Import from CVS: tag r21-0-61
cvs
parents: 318
diff changeset
28 Unpack the packages into, say, "c:\Program Files\XEmacs\xemacs-packages".
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
29
308
33bdb3d4b97f Import from CVS: tag r21-0b52
cvs
parents: 298
diff changeset
30 3. At this point you can select X or Win32 native GUI support.
276
6330739388db Import from CVS: tag r21-0b36
cvs
parents: 215
diff changeset
31
6330739388db Import from CVS: tag r21-0b36
cvs
parents: 215
diff changeset
32 If you want to build for native GUI:
6330739388db Import from CVS: tag r21-0b36
cvs
parents: 215
diff changeset
33
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
34 1. If you want XPM image and toolbar support grab the latest version of the
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
35 xpm sources (xpm-3.4k.tar.gz at time of writing) and unpack them somewhere.
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
36 Copy nt\xpm.mak from the xemacs sources to the lib subdirectory of the
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
37 xpm sources, cd to that directory and build xpm with 'nmake -f xpm.mak'.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
38
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
39 2. You probably also want PNG image support. Grab the latest versions of zlib
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
40 and libpng (zlib-1.1.3 and libpng-1.0.2 at time of writing), unpack them
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
41 somewhere and read the respective READMEs for details on how to build them.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
42 The following build procedure works for zlib-1.1.3 and libpng-1.0.2:
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
43
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
44 cd to the zlib directory, type 'copy msdos\makefile.w32 Makefile' and
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
45 then type 'nmake'.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
46
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
47 cd to the libpng directory, rename or move the zlib directory to ..\zlib
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
48 and type 'nmake -f scripts\makefile.w32'.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
49
318
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
50 3. If you want TIFF support, grap the latest version of libtiff (tiff-v3.4
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
51 at time of writing) and unpack it somewhere. Copy nt\tiff.mak from the
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
52 xemacs sources to the contrib\winnt subdirectory of the tiff sources,
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
53 cd to that directory and build libtiff with 'nmake -f tiff.mak'. Note:
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
54 tiff.mak has only been verified to work under WinNT, not Win95 or 98.
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
55 However, the lastest distribution of libtiff includes a
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
56 contrib\win95\makefile.w95; that might work.
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
57
318
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
58 4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b at
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
59 time of writing) and read the README for details on how to build it.
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
60
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
61 5. cd to the nt subdirectory of the xemacs distribution and build xemacs:
329
58bac07dfa74 Import from CVS: tag r21-0-62
cvs
parents: 327
diff changeset
62 `nmake install -f xemacs.mak` or `nmake install -f xemacs95.mak`
58bac07dfa74 Import from CVS: tag r21-0-62
cvs
parents: 327
diff changeset
63 under windows 95 and windows 98, but read on before hitting Enter.
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
64
318
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
65 6. If you're building with XPM support, add this to the nmake command line:
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
66 HAVE_XPM=1 XPM_DIR="x:\location\of\your\xpm\sources"
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
67 and similarly for JPEG and TIFF support.
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
68
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
69 If you're building with PNG support, add this to the nmake command line:
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
70 HAVE_PNG=1 PNG_DIR="x:\location\of\your\png\sources"
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
71 ZLIB_DIR="x:\location\of\your\zlib\sources"
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
72
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
73 If you want to build with GIF support, add this to the nmake command line:
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
74 HAVE_GIF=1
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
75
327
03446687b7cc Import from CVS: tag r21-0-61
cvs
parents: 318
diff changeset
76 7. By default, XEmacs will expect to find its packages in the subdirectories
03446687b7cc Import from CVS: tag r21-0-61
cvs
parents: 318
diff changeset
77 "site-packages", "mule-packages" and "xemacs-packages" under the package
03446687b7cc Import from CVS: tag r21-0-61
cvs
parents: 318
diff changeset
78 prefix directory "c:\Program Files\XEmacs". If you want it to look for
03446687b7cc Import from CVS: tag r21-0-61
cvs
parents: 318
diff changeset
79 these subdirectories elsewhere, add this to the nmake command line:
03446687b7cc Import from CVS: tag r21-0-61
cvs
parents: 318
diff changeset
80 PACKAGE_PREFIX="x:\your\package\directory"
03446687b7cc Import from CVS: tag r21-0-61
cvs
parents: 318
diff changeset
81 If you change your mind and want to alter the package prefix directory
03446687b7cc Import from CVS: tag r21-0-61
cvs
parents: 318
diff changeset
82 after you've built XEmacs, delete the file .\obj\emacs.obj and rebuild with
03446687b7cc Import from CVS: tag r21-0-61
cvs
parents: 318
diff changeset
83 the new PACKAGE_PREFIX.
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
84
318
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
85 8. By default, XEmacs will be installed in directories under the directory
327
03446687b7cc Import from CVS: tag r21-0-61
cvs
parents: 318
diff changeset
86 "c:\Program Files\XEmacs\XEmacs-21.0". If you want to install it elsewhere,
03446687b7cc Import from CVS: tag r21-0-61
cvs
parents: 318
diff changeset
87 add this to the nmake command line:
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
88 INSTALL_DIR="x:\your\installation\directory"
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
89
318
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
90 9. Now you can press Enter. nmake will build temacs, the DOC file, update the
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
91 elc's, dump xemacs and install the relevant files in the directories under
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 308
diff changeset
92 the installation directory. Unless you set INSTALL_DIR above, the file that
327
03446687b7cc Import from CVS: tag r21-0-61
cvs
parents: 318
diff changeset
93 you should run to start XEmacs will be installed as
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
94 "c:\Program Files\XEmacs\XEmacs-21.0\i386-pc-win32\runemacs.exe". You may
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
95 want to create a shortcut to that file from your Desktop or Start Menu.
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
96
318
afd57c14dfc8 Import from CVS: tag r21-0b57
cvs
parents: 314
diff changeset
97 10. The build process always creates debugging and "Source Browser" information
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
98 in the source tree for use with MS DevStudio. If you actually want to debug
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
99 XEmacs you should run XEmacs from the source directory instead of from the
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
100 installation directory. You should probably also build a debug version of
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
101 XEmacs; to do this start with a clean source tree and add DEBUG_XEMACS=1 to
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
102 the nmake command line. You probably don't want to install your debug build
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
103 so you should tell nmake to build the 'all' target instead of the 'install'
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
104 target.
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
105
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
106 To make use of the debugging and "Source Browser" information, create a new
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
107 "console" project in MS DevStudio and, under Project/Settings, set:
276
6330739388db Import from CVS: tag r21-0b36
cvs
parents: 215
diff changeset
108 Debug: executable name = full path of src\xemacs.exe
6330739388db Import from CVS: tag r21-0b36
cvs
parents: 215
diff changeset
109 Link: output file name = full path of src\temacs.exe
6330739388db Import from CVS: tag r21-0b36
cvs
parents: 215
diff changeset
110 Browse Info: browse info file name = full path of src\temacs.bsc
6330739388db Import from CVS: tag r21-0b36
cvs
parents: 215
diff changeset
111 Remember to close the Source Browser file in DevStudio before rebuilding.
213
78f53ef88e17 Import from CVS: tag r20-4b5
cvs
parents: 195
diff changeset
112
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
113
213
78f53ef88e17 Import from CVS: tag r20-4b5
cvs
parents: 195
diff changeset
114 If you want support for X you will need:
78f53ef88e17 Import from CVS: tag r20-4b5
cvs
parents: 195
diff changeset
115
195
a2f645c6b9f8 Import from CVS: tag r20-3b24
cvs
parents: 169
diff changeset
116 1. An X server. MI/X is available on the Internet for free; It is
a2f645c6b9f8 Import from CVS: tag r20-3b24
cvs
parents: 169
diff changeset
117 available from: http://www.microimages.com/www/html/freestuf/mixdlfrm.htm
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
118
195
a2f645c6b9f8 Import from CVS: tag r20-3b24
cvs
parents: 169
diff changeset
119 2. The MIT X11R6.3 libraries available from: ftp.x.org
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
120
195
a2f645c6b9f8 Import from CVS: tag r20-3b24
cvs
parents: 169
diff changeset
121 3. You'll need to compile the MIT libraries without multi-thread support.
a2f645c6b9f8 Import from CVS: tag r20-3b24
cvs
parents: 169
diff changeset
122 To do this, there is an example Win32.cf and site.def provided which
a2f645c6b9f8 Import from CVS: tag r20-3b24
cvs
parents: 169
diff changeset
123 set the relevant flags. You will also need to apply the patch in
a2f645c6b9f8 Import from CVS: tag r20-3b24
cvs
parents: 169
diff changeset
124 nt/X11.patch in the xc/lib/X11 directory which will fix the DLL definition
a2f645c6b9f8 Import from CVS: tag r20-3b24
cvs
parents: 169
diff changeset
125 file. Once compiled and installed, you will need to apply the following
a2f645c6b9f8 Import from CVS: tag r20-3b24
cvs
parents: 169
diff changeset
126 patch to Xmd.h. This is messy and better solutions would be appreciated.
298
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
127
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
128 4. Goto 2 under 'native GUI' above and add this to the nmake command line:
70ad99077275 Import from CVS: tag r21-0b47
cvs
parents: 276
diff changeset
129 HAVE_X=1 X11_DIR=x:\root\directory\of\your\X11\installation
155
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
130
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
131 --- Xmd.h~ Thu Jun 08 23:20:40 1995
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
132 +++ Xmd.h Sun Mar 16 13:09:10 1997
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
133 @@ -150,8 +150,9 @@
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
134 typedef CARD16 BITS16;
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
135 typedef CARD8 BYTE;
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
136
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
137 +#ifndef WIN32
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
138 typedef CARD8 BOOL;
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
139 -
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
140 +#endif
195
a2f645c6b9f8 Import from CVS: tag r20-3b24
cvs
parents: 169
diff changeset
141
169
15872534500d Import from CVS: tag r20-3b11
cvs
parents: 155
diff changeset
142 Known Problems:
15872534500d Import from CVS: tag r20-3b11
cvs
parents: 155
diff changeset
143 Please look at the TODO list for the current list of problems and people
15872534500d Import from CVS: tag r20-3b11
cvs
parents: 155
diff changeset
144 working on them.
15872534500d Import from CVS: tag r20-3b11
cvs
parents: 155
diff changeset
145
15872534500d Import from CVS: tag r20-3b11
cvs
parents: 155
diff changeset
146 Any other problems you need clarified, please email us and we will endeavour
15872534500d Import from CVS: tag r20-3b11
cvs
parents: 155
diff changeset
147 to provide any assistance we can:
155
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
148
213
78f53ef88e17 Import from CVS: tag r20-4b5
cvs
parents: 195
diff changeset
149 The XEmacs NT Mailing List: xemacs-nt@xemacs.org
78f53ef88e17 Import from CVS: tag r20-4b5
cvs
parents: 195
diff changeset
150 Subscribe address: xemacs-nt-request@xemacs.org
155
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
151
213
78f53ef88e17 Import from CVS: tag r20-4b5
cvs
parents: 195
diff changeset
152 David Hobley
78f53ef88e17 Import from CVS: tag r20-4b5
cvs
parents: 195
diff changeset
153 Marc Paquette
78f53ef88e17 Import from CVS: tag r20-4b5
cvs
parents: 195
diff changeset
154 August Hill
215
1f0dabaa0855 Import from CVS: tag r20-4b6
cvs
parents: 213
diff changeset
155 Jonathan Harris
155
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents: 100
diff changeset
156
213
78f53ef88e17 Import from CVS: tag r20-4b5
cvs
parents: 195
diff changeset
157 and others.