annotate nt/README @ 771:943eaba38521

[xemacs-hg @ 2002-03-13 08:51:24 by ben] The big ben-mule-21-5 check-in! Various files were added and deleted. See CHANGES-ben-mule. There are still some test suite failures. No crashes, though. Many of the failures have to do with problems in the test suite itself rather than in the actual code. I'll be addressing these in the next day or so -- none of the test suite failures are at all critical. Meanwhile I'll be trying to address the biggest issues -- i.e. build or run failures, which will almost certainly happen on various platforms. All comments should be sent to ben@xemacs.org -- use a Cc: if necessary when sending to mailing lists. There will be pre- and post- tags, something like pre-ben-mule-21-5-merge-in, and post-ben-mule-21-5-merge-in.
author ben
date Wed, 13 Mar 2002 08:54:06 +0000
parents 576fb035e263
children f846c2ef930d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
1 Building and Installing XEmacs on Windows 95/98/NT/2000 -*- mode:outline -*-
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 David Hobley
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
4 Marc Paquette
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
5 Jonathan Harris
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
6 Ben Wing
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
8 This is a port of XEmacs to Windows 95/98/NT/2000. If you are looking for a
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
9 port of GNU Emacs, see http://www.cs.washington.edu/homes/voelker/ntemacs.html.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
10 NT 3.51 or later is required for building on Windows NT. Note that the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
11 developers typically use NT 4.0 and Windows 2000, and there may possibly be
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
12 problems under Windows 95/98 and NT 3.51. If so, please report them to
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
13 xemacs-nt@xemacs.org; we are committed to maintaining compatibility with all
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
14 systems listed.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
16 * Required tools and sources
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
17 ============================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
18
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
19 1. You will need Visual C++ V4.0 or later to compile everything. Personally
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
20 we have tested V4.0, V4.2, V5.0 and v6.0.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
22 Note that Visual C++ assumes that the environment variables INCLUDE and
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
23 LIB are set to specify the location of the includes and libraries.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
24 Your PATH environment variable also needs to include the DevStudio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
25 vc\bin and sharedide\bin directories.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
26
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
27 Visual C++ V5.0 and later install a batch file called vcvars32.bat in
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 c:\Program Files\DevStudio\VC\bin\ (or wherever you installed it) that you
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 can run before building to set up all of these environment variables.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
30 Alternatively, you can choose at setup time to have these
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
31 environment variables automatically set up in the registry, which
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
32 is generally a good idea.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
34
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
35 2. Grab the latest XEmacs source from
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
36
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
37 ftp://ftp.xemacs.org/pub/xemacs/
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
38
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
39 or one of its mirrors listed at http://www.xemacs.org/Download/index.html.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
40
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
41 (NOTE: If you are behind a firewall and have problems with FTP access,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
42 the URL http://ftp.xemacs.org/pub/xemacs/ works just as well.)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
43
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
44 You'll also need the packages. You probably want to get the unified
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
45 packages bundle from
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
46
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
47 ftp://ftp.xemacs.org/pub/xemacs/packages/xemacs-sumo.tar.gz
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
48
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
49 If you are building with international support, you also need
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
50
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
51 ftp://ftp.xemacs.org/pub/xemacs/packages/xemacs-mule-sumo.tar.gz
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
52
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
53 Although we don't recommend it, you can also retrieve just the packages
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
54 you really need if you have an extremely slow net connection or are very
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
55 short on disk space. You can find the various packages in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
56 ftp://ftp.xemacs.org/pub/xemacs/packages/. You will need the xemacs-base
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
57 package (and mule-base, if building with international support). You'll
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
58 also need the texinfo package unless you have a copy of makeinfo.exe on
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
59 your machine. If you want to download additional or updated packages
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
60 from within XEmacs you'll need the efs, dired and vm packages. You'll
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
61 probably also want at least the edit-utils, text-modes, fsf-compat,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
62 cc-mode, prog-modes and xemacs-devel packages.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
63
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
64 Unpack the packages into "x:\your\choice\XEmacs\xemacs-packages",
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
65 for example "c:\Program Files\XEmacs\xemacs-packages".
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
66
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
67 3. At this point you can choose to build for X and/or for Win32 native GUI.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
68 If you only want to build for the Win32 native GUI then skip the next
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
69 section.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
70
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
71
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
72 ** Extra tools and sources required for X
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
74 NOTE: XEmacs has not been tested with X support under the native
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
75 Windows build for a long, long time! It may not even compile any
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
76 more. If you are interested in X support, you're better off compiling
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
77 the Cygwin version of XEmacs, which can handle both Win32 native and X
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
78 frames (in the same binary, in fact, but not at the same time), and is
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
79 actively tested with X support.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
80
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
81 If you want support for X you will also need:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
82
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
83 1. An X server. XEmacs has been tested and runs well under MI/X,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
84 available from: http://www.microimages.com/mix/. (International aka
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
85 "Mule" support even works under this X server!) Unfortunately, this is
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
86 not free, but is trialware; you have to pay $25 if you want to use it
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
87 for more than 15 days. XEmacs also runs (barely) under the free XWin
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
88 server that comes as part of the Cygwin XFree86 package, available at
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
89
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
90 ftp://sources.redhat.com/pub/cygwin/xfree/
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
91
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
92 or numerous mirrors, such as
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
93
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
94 ftp://ftp.freesoftware.com/pub/sourceware/cygwin/xfree/
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
96 There are numerous other X servers available in the same package or at
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
97 the same location, but unfortunately most of them behave even worse
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
98 than XWin. If you have any luck with any of these, *PLEASE* email
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
99 the maintainers at xemacs-nt@xemacs.org, and we'll add the info here.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
100
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
101 2. Source for the MIT X11R6.3 libraries, available from ftp.x.org.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
102
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
103 3. You'll need to compile the MIT libraries without multi-thread support.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
104 To do this, there is an example Win32.cf and site.def provided which set
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
105 the relevant flags. You will also need to apply the patch in nt/X11.patch
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
106 in the xc/lib/X11 directory which will fix the DLL definition file.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
108 Once compiled and installed, you will need to apply the patch in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
109 nt/Xmd.patch. This is messy and better solutions would be appreciated.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
110
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
111 4. Goto step 2 under 'Optional libraries' below.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
112
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
113
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
114 * Optional libraries
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
115 ====================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
116
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
117 1. You really want the XPM library. Grab the latest version of the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
118 xpm sources (xpm-3.4k.tar.gz at time of writing) from
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
119 ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack them somewhere.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120 Copy nt\xpm.mak from the xemacs sources to the lib subdirectory of the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 xpm sources, cd to that directory and build xpm with 'nmake -f xpm.mak'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 2. You probably also want PNG image support. Grab the latest versions of zlib
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
124 and libpng (zlib-1.1.3 and libpng-1.0.2 at time of writing) from
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
125 ftp://ftp.xemacs.org/pub/xemacs/aux/, unpack them somewhere and read
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
126 the respective READMEs for details on how to build them. The following
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
127 build procedure works for zlib-1.1.3 and libpng-1.0.2:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 cd to the zlib directory, type 'copy msdos\makefile.w32 Makefile' and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 then type 'nmake'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 cd to the libpng directory, rename or move the zlib directory to ..\zlib
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 and type 'nmake -f scripts\makefile.w32'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 3. If you want TIFF support, grap the latest version of libtiff (tiff-v3.4
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
136 at time of writing) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
137 it somewhere. Copy nt\tiff.mak from the xemacs sources to the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
138 contrib\winnt subdirectory of the tiff sources, cd to that directory and
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
139 build libtiff with 'nmake -f tiff.mak'. Note: tiff.mak has only been
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 442
diff changeset
140 verified to work under WinNT, not Win95 or 98. However, the latest
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
141 distribution of libtiff includes a contrib\win95\makefile.w95; that might
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
142 work.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b at
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
145 time of writing) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and read the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
146 README for details on how to build it.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
148 5. If you want X-Face support, grab the compface distribution from
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
149 ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack it somewhere.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
150 Copy nt\compface.mak from xemacs sources to the compface directory.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
151 cd to that directory and build libcompface with 'nmake -f compface.mak'.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
154 * Building
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
155 ==========
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
156
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
157 1. cd to the nt subdirectory of the xemacs distribution and copy the file
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
158 config.inc.samp to config.inc. Make any necessary modifications. This
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
159 file controls the options that XEmacs is built with:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
160
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
161 -- If you want international (aka "Mule") support, modify the appropriate
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
162 line in config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
163
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 444
diff changeset
164 MULE=1
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
166 -- If you're building with XPM support, modify the appropriate lines in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
167 config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
168
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
169 HAVE_XPM=1
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
170 XPM_DIR="x:\location\of\your\xpm\sources"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
171
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
172 and similarly for JPEG and TIFF support.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
174 -- If you're building with PNG support, modify the appropriate lines in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
175 config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
176
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
177 HAVE_PNG=1
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
178 PNG_DIR="x:\location\of\your\png\sources"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
179 ZLIB_DIR="x:\location\of\your\zlib\sources"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
180
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
181 -- If you're building with GIF support, modify the appropriate lines in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
182 config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
183
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
184 HAVE_GIF=1
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
186 -- If you're building with X-Face support, modify the appropriate lines in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
187 config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
188
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
189 HAVE_XFACE=1
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
190 COMPFACE_DIR="x:\location\of\your\compface\sources"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
191
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
192 -- If you're building for X, modify the appropriate lines in config.inc
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
193 as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
194
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
195 HAVE_X_WINDOWS=1
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
196 X11_DIR=x:\root\directory\of\your\X11\installation
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
197
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
198 -- By default, XEmacs will expect to find its packages in the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
199 subdirectories "site-packages", "mule-packages" and "xemacs-packages"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
200 under the directory "c:\Program Files\XEmacs". If you want it to look
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
201 for these subdirectories elsewhere, modify the appropriate lines in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
202 config.inc as follows:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
204 PACKAGE_PREFIX="x:\your\package\directory"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
205
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
206 Make sure that the directory pointed to by PACKAGE_PREFIX contains
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
207 the xemacs-packages directory into which you installed the packages.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
208
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
209 -- XEmacs can build its info files more quickly if you have a copy of the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
210 makeinfo program. If you have a copy, modify the appropriate lines in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
211 config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
212
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
213 MAKEINFO="x:\location\of\makeinfo.exe"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
214
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
215 If you don't have a copy of makeinfo then you'll need to have installed
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
216 the XEmacs texinfo package.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
217
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
218 2. If you want to install XEmacs when you build it, modify the appropriate
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
219 lines in config.inc as follows (you can also run XEmacs from its build
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
220 directory):
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
221
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
222 INSTALL_DIR="x:\your\installation\directory"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
224 (By default, XEmacs will be installed in directories under the directory
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
225 "c:\Program Files\XEmacs\XEmacs-21.2".)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
226
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
227 3. If you want to build xemacs on the command line, use
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
228 `nmake install -f xemacs.mak', or just `nmake -f xemacs.mak' if you want
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
229 to run XEmacs from its build directory. nmake will build temacs, the DOC
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
230 file, update the elc's, dump xemacs and (optionally) install the relevant
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
231 files in the directories under the installation directory.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
232
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
233 If you chose to install XEmacs, the file that you should run to start
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
234 XEmacs will be installed (by default) as
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
235 "c:\Program Files\XEmacs\XEmacs-21.2\i586-pc-win32\xemacs.exe".
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
236
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
237 To run from the build directory, run the file "nt\xemacs.exe" off of the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
238 root of the build directory.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
239
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
240 You may want to create a shortcut to the file from your Desktop or
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
241 Start Menu.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
242
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
243 4. To build using MS Developer Studio, you can use the workspace file
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
244 `nt/xemacs.dsw'. This was prepared for Visual C++ 6.0. If you are using
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
245 Visual C++ 5.0, you can use the workspace file `nt/xemacs-vc50.dsw'. If
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
246 you have a different version and neither file works, just open up
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
247 `nt/xemacs.mak' from within MS Developer Studio and it will offer to wrap
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
248 this Makefile in a workspace file, from which you can build. Assuming
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
249 you want to run from the build directory (which you will want to do if
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
250 you are planning on doing any development work on XEmacs), use the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
251 following settings in Project/Settings...:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
252
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
253 Under the General tab:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
254
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
255 Build command line: NMAKE /f xemacs.mak
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
256 Output file name: ..\src\xemacs.exe
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
257 Browse info file name: ..\src\temacs.bsc
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
258
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
259 Under the Debug tab:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
260
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
261 Executable for debug session: ..\src\xemacs.exe
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
262
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
263
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
264 If you want to install XEmacs when it's built, change the build command
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
265 line to "NMAKE install /f xemacs.mak". (You will have to make the same
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
266 change even if you use the provided workspace nt/xemacs.dsw.)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
267
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
268
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
269 * Debugging under MS Developer Studio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
270 =====================================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
271
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
272 The build process always creates debugging and "Source Browser" information
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
273 in the source tree for use with DevStudio. However that information is not
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
274 very useful unless you build a debug version of XEmacs:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
275
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
276 1. Set DEBUG_XEMACS=1 and DEPEND=1 in config.inc and rebuild.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
277
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
278 2. See instructions above for obtaining a workspace file for use with
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
279 MS Developer Studio. Build and debug your XEmacs this way.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
280
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
281 3. To display the contents of a lisp variable, type Shift-F9 (or use the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
282 menu) to bring up the QuickWatch window, type debug_print(variable) and
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
283 click Recalculate. The output will appear in a console window, as well
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
284 as in the Debug window in MS Developer Studio.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
285
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
286 4. To view Lisp variables in the "Watch" window wrap the variable in one of
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
287 the helper functions from the file src\console-msw.c, for example type
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
288 DSTRING(variable) in the "Watch" window to inspect a Lisp string.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
289
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
290
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
291 * Known Problems
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
292 ================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
293
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
294 Please look at the PROBLEMS file for known problems. Any other problems you
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
295 need clarified, please email us and we will endeavour to provide any
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
296 assistance we can:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
297
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
298 The XEmacs NT Mailing List: xemacs-nt@xemacs.org
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
299 Subscribe address: xemacs-nt-request@xemacs.org
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
300
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
301 Ben Wing (current primary MS Windows maintainer; author of the MS Windows
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
302 Mule code and some of the dialog box code)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
303 Andy Piper (MS Windows contributor; author of the Cygwin support and the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
304 MS Windows glyph and widget code)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
305 Jonathan Harris (MS Windows contributor; author of the MS Windows redisplay
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
306 and underlying GUI code)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
307 Kirill Katsnelson (MS Windows contributor; author of the MS Windows process
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
308 and printing code and some of the dialog box code;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
309 general guru on obscure MS Windows programming topics)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
310 David Hobley (early MS Windows contributor)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
311 Marc Paquette (early MS Windows contributor)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
312 August Hill (early MS Windows contributor)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
313
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
314 and others.