annotate nt/README @ 2420:ad56e5a6d09f

[xemacs-hg @ 2004-12-06 03:46:06 by ben] (none) README.packages: Document use of --package-prefix. Fix error in specifying standard package location. make-docfile.c: Use QXE_PATH_MAX. info.el: Correct doc string giving example package path. menubar-items.el: Move Prefix Rectangle command up one level. xemacs/packages.texi: Add long form of Lisp Reference Manual to links. Add links pointing to Lisp Reference Manual for more detailed package discussion. lispref/range-tables.texi: Document range-table changes. internals/internals.texi: Update history section. elhash.c, elhash.h, profile.c: Create inchash_eq() to allow direct incrementing of hash-table entry. Use in profile.c to try to reduce profiling overhead. Increase initial size of profile hash tables to reduce profiling overhead. buffer.c, device-msw.c, dialog-msw.c, dired-msw.c, editfns.c, event-msw.c, events.c, glyphs-msw.c, keymap.c, objects-msw.c, process-nt.c, syswindows.h, text.c, text.h, unexnt.c: Rename xetcs* -> qxetcs* for consistency with qxestr*. Rename ei*_c(_*) -> ei*_ascii(_*) since they work with ASCII-only strings not "C strings", whatever those are. This is the last place where "c" was incorrectly being used for "ascii". dialog-msw.c, dumper.c, event-msw.c, fileio.c, glyphs-gtk.c, glyphs-x.c, nt.c, process-nt.c, realpath.c, sysdep.c, sysfile.h, unexcw.c, unexnext.c, unexnt.c: Try to avoid differences in systems that do or do not include final null byte in PATH_MAX. Create PATH_MAX_INTERNAL and PATH_MAX_EXTERNAL and use them everywhere. Rewrite code in dumper.c to avoid use of PATH_MAX. When necessary in nt.c, use _MAX_PATH instead of MAX_PATH to be consistent with other places. text.c: Code to short-circuit when binary or Unicode was not working due to EOL wrapping. Fix this code to work when either no EOL autodetection or no CR's or LF's in the text. lisp.h, rangetab.c, rangetab.h, regex.c, search.c: Implement different types of ranges (open/closed start and end). Change default to be start-closed, end-open.
author ben
date Mon, 06 Dec 2004 03:46:07 +0000
parents 3227a97effa8
children b694dfd2f40e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
900
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
1 Building and Installing XEmacs on Windows 95/98/NT/2000/XP -*- 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
900
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
8 This is a port of XEmacs to Windows 95/98/NT/2000/XP. If you are looking for a
916
26137a2aa3bb [xemacs-hg @ 2002-07-10 06:27:41 by stephent]
stephent
parents: 900
diff changeset
9 port of GNU Emacs, get the latest release of the 21.x series from gnu.org.
26137a2aa3bb [xemacs-hg @ 2002-07-10 06:27:41 by stephent]
stephent
parents: 900
diff changeset
10 (At the time of writing, GNU Emacs does not support images but does support
26137a2aa3bb [xemacs-hg @ 2002-07-10 06:27:41 by stephent]
stephent
parents: 900
diff changeset
11 Mule.) NT 4.0 or later is required for building on Windows NT. Note that the
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
12 developers typically use NT 4.0 and Windows 2000, and there may possibly be
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
13 problems under Windows 95/98. If so, please report them to
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
14 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
15 systems listed.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
17 * Required tools and sources
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
900
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
20 1. You will need Visual C++ V6.0, Visual Studio .NET or later to compile
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
21 everything.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
23 Note that Visual C++ assumes that the environment variables INCLUDE and
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
24 LIB are set to specify the location of the includes and libraries.
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
25 Your PATH environment variable also needs to include the Visual Studio
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
26 vc\bin and sharedide\bin directories.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
27
900
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
28 Visual C++ V6.0 installs a batch file called vcvars32.bat in
812
f846c2ef930d [xemacs-hg @ 2002-04-13 20:31:27 by jhar]
jhar
parents: 771
diff changeset
29 c:\Program Files\Microsoft Visual Studio\VC98\bin\ (or wherever you
f846c2ef930d [xemacs-hg @ 2002-04-13 20:31:27 by jhar]
jhar
parents: 771
diff changeset
30 installed it) that you can run before building to set up all of these
f846c2ef930d [xemacs-hg @ 2002-04-13 20:31:27 by jhar]
jhar
parents: 771
diff changeset
31 environment variables. Alternatively, you can choose at setup time to
f846c2ef930d [xemacs-hg @ 2002-04-13 20:31:27 by jhar]
jhar
parents: 771
diff changeset
32 have these environment variables automatically set up in the registry,
f846c2ef930d [xemacs-hg @ 2002-04-13 20:31:27 by jhar]
jhar
parents: 771
diff changeset
33 which is generally a good idea.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34
900
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
35 Visual Studio .NET calls this batch file vsvars32.bat and installs it in
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
36 $Installdir\Common7\Tools, but doesn't offer at install time to
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
37 automatically set these environment variables up in the registry.
442
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 2. Grab the latest XEmacs source from
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 ftp://ftp.xemacs.org/pub/xemacs/
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
42
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
43 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
44
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
45 (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
46 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
47
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
48 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
49 packages bundle from
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-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 If you are building with international support, you also need
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
54
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
55 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
56
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
57 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
58 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
59 short on disk space. You can find the various packages in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
60 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
61 package (and mule-base, if building with international support). You'll
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
62 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
63 your machine. If you want to download additional or updated packages
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
64 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
65 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
66 cc-mode, prog-modes and xemacs-devel packages.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
67
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
68 Unpack the packages into "x:\your\choice\XEmacs\xemacs-packages",
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
69 for example "c:\Program Files\XEmacs\xemacs-packages".
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
70
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
71 3. The native build no longer supports X Windows. There is no point,
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
72 since the Cygwin build is actively maintained and supports X Windows
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
73 very well. See the FAQ if you want to build with Cygwin.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
74
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
75
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
76 * Optional libraries
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
77 ====================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
78
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
79 1. You really want the XPM library. Grab the latest version of the xpm
1780
3227a97effa8 [xemacs-hg @ 2003-11-06 15:12:33 by james]
james
parents: 1330
diff changeset
80 sources (xpm-3.4k.tar.gz as of 2003-10-27) from
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
81 ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack them somewhere. Copy
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
82 nt\xpm.mak from the xemacs sources to the lib subdirectory of the xpm
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
83 sources, cd to that directory and build xpm with 'nmake -f xpm.mak'.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
85 2. You probably also want PNG image support. Grab the latest versions of
1780
3227a97effa8 [xemacs-hg @ 2003-11-06 15:12:33 by james]
james
parents: 1330
diff changeset
86 zlib and libpng (zlib-1.1.4 and libpng-1.2.5 as of 2003-10-27) from
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
87 ftp://ftp.xemacs.org/pub/xemacs/aux/, unpack them somewhere and read the
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
88 respective READMEs for details on how to build them. The following
1780
3227a97effa8 [xemacs-hg @ 2003-11-06 15:12:33 by james]
james
parents: 1330
diff changeset
89 build procedure works for zlib-1.1.4 and libpng-1.2.5:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90
1780
3227a97effa8 [xemacs-hg @ 2003-11-06 15:12:33 by james]
james
parents: 1330
diff changeset
91 cd to the zlib directory and type 'nmake -f nt\Makefile.nt'.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 cd to the libpng directory, rename or move the zlib directory to ..\zlib
817
ece8c2170578 [xemacs-hg @ 2002-04-23 00:44:29 by jhar]
jhar
parents: 812
diff changeset
94 and type 'nmake -f scripts\makefile.vcwin32'.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95
1780
3227a97effa8 [xemacs-hg @ 2003-11-06 15:12:33 by james]
james
parents: 1330
diff changeset
96 3. If you want TIFF support, grab the latest version of libtiff (tiff-v3.5.7
3227a97effa8 [xemacs-hg @ 2003-11-06 15:12:33 by james]
james
parents: 1330
diff changeset
97 as of 2003-10-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack
3227a97effa8 [xemacs-hg @ 2003-11-06 15:12:33 by james]
james
parents: 1330
diff changeset
98 it somewhere. Then cd to the libtiff subdirectory of the tiff directory
3227a97effa8 [xemacs-hg @ 2003-11-06 15:12:33 by james]
james
parents: 1330
diff changeset
99 and type 'nmake -f makefile.vc'.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
101 4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b as
1780
3227a97effa8 [xemacs-hg @ 2003-11-06 15:12:33 by james]
james
parents: 1330
diff changeset
102 of 2003-10-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and read the
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
103 README for details on how to build it.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104
1780
3227a97effa8 [xemacs-hg @ 2003-11-06 15:12:33 by james]
james
parents: 1330
diff changeset
105 5. If you want X-Face support, grab the latest version of the compface
3227a97effa8 [xemacs-hg @ 2003-11-06 15:12:33 by james]
james
parents: 1330
diff changeset
106 distribution (1.4 as of 2003-10-27) from
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
107 ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack it somewhere.
1780
3227a97effa8 [xemacs-hg @ 2003-11-06 15:12:33 by james]
james
parents: 1330
diff changeset
108 Copy nt\compface.mak from the xemacs sources to the compface directory.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
109 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
110
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
112 * Building
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
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
115 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
116 config.inc.samp to config.inc. Make any necessary modifications. This
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
117 file controls the options that XEmacs is built with:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
118
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
119 -- If you want international (aka "Mule") support, modify the appropriate
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
120 line in config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
121
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 444
diff changeset
122 MULE=1
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
124 -- 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
125 config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
126
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
127 HAVE_XPM=1
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
128 XPM_DIR="x:\location\of\your\xpm\sources"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
129
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
130 and similarly for JPEG and TIFF support.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
132 -- 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
133 config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
134
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
135 HAVE_PNG=1
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
136 PNG_DIR="x:\location\of\your\png\sources"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
137 ZLIB_DIR="x:\location\of\your\zlib\sources"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
138
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
139 -- 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
140 config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
141
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
142 HAVE_GIF=1
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
144 -- 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
145 config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
146
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
147 HAVE_XFACE=1
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
148 COMPFACE_DIR="x:\location\of\your\compface\sources"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
149
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
150 -- By default, XEmacs will expect to find its packages in the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
151 subdirectories "site-packages", "mule-packages" and "xemacs-packages"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
152 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
153 for these subdirectories elsewhere, modify the appropriate lines in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
154 config.inc as follows:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
156 PACKAGE_PREFIX="x:\your\package\directory"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
157
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
158 Make sure that the directory pointed to by PACKAGE_PREFIX contains
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
159 the xemacs-packages directory into which you installed the packages.
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 -- 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
162 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
163 config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
164
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
165 MAKEINFO="x:\location\of\makeinfo.exe"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
166
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
167 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
168 the XEmacs texinfo package.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
169
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
170 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
171 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
172 directory):
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
173
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
174 INSTALL_DIR="x:\your\installation\directory"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
176 (By default, XEmacs will be installed in directories under the directory
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
177 "c:\Program Files\XEmacs\XEmacs-21.5".)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
178
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
179 3. If you want the built files to go into a different tree than the source
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
180 tree (e.g. this allows you to build multiple versions of XEmacs, with
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
181 different configuration settings, from the same source tree), use the
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
182 script `make-build-dir' to create a skeleton build tree, create a
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
183 config.inc in that tree, and then run nmake from that tree. This is
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
184 similar to running `configure --srcdir=PATH' under Unix. See the
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
185 comments in `config.inc.samp' for more information.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
186
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
187 4. If you want to build xemacs on the command line, use
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
188 `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
189 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
190 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
191 files in the directories under the installation directory.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
192
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
193 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
194 XEmacs will be installed (by default) as
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
195 "c:\Program Files\XEmacs\XEmacs-21.5\i586-pc-win32\xemacs.exe".
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
196
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
197 To run from the build directory, run the file "src\xemacs.exe" off of the
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
198 root of the build directory.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
199
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
200 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
201 Start Menu.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
202
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
203 5. To build using MS Visual Studio, you can use the workspace file
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
204 `nt/xemacs.dsw'. This was prepared for Visual C++ 6.0. If you have a
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
205 different version and neither file works, just open up `nt/xemacs.mak'
900
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
206 from within Visual Studio and it will offer to wrap this Makefile in a
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
207 workspace file, from which you can build. Assuming you want to run from
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
208 the build directory (which you will want to do if you are planning on
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
209 doing any development work on XEmacs), use the following settings in
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
210 Project/Settings...:
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
211
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
212 Under the General tab:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
213
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
214 Build command line: NMAKE /f xemacs.mak
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
215 Output file name: ..\src\xemacs.exe
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
216 Browse info file name: ..\src\temacs.bsc
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 Under the Debug tab:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
220 Executable for debug session: ..\src\xemacs.exe
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
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
223 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
224 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
225 change even if you use the provided workspace nt/xemacs.dsw.)
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
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
228 * Debugging under MS Developer Studio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
229 =====================================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
230
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
231 The build process always creates debugging and "Source Browser" information
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
232 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
233 very useful unless you build a debug version of XEmacs:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
234
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
235 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
236
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
237 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
238 MS Developer Studio. Build and debug your XEmacs this way.
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 3. To display the contents of a lisp variable, type Shift-F9 (or use the
1203
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
241 menu) to bring up the QuickWatch window, type dp(variable) and click
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
242 Recalculate. The output will appear in a console window, as well as in
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
243 the Debug window in MS Developer Studio.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
244
1203
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
245 4. To display a current Lisp backtrace, type db() in the QuickWatch window,
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
246 as in the previous item.
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
247
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
248 5. To view Lisp variables in the "Watch" window wrap the variable in one of
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
249 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
250 DSTRING(variable) in the "Watch" window to inspect a Lisp string.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
251
1203
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
252 6. For further information on debugging XEmacs, see the item
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
253 `How to Debug an XEmacs problem with a debugger' in the XEmacs FAQ.
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
254
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
255
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
256 * Known Problems
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
257 ================
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 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
260 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
261 assistance we can:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263 The XEmacs NT Mailing List: xemacs-nt@xemacs.org
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264 Subscribe address: xemacs-nt-request@xemacs.org
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
266 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
267 Mule code and some of the dialog box code)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
268 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
269 MS Windows glyph and widget code)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
270 Jonathan Harris (MS Windows contributor; author of the MS Windows redisplay
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
271 and underlying GUI code)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
272 Kirill Katsnelson (MS Windows contributor; author of the MS Windows process
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
273 and printing code and some of the dialog box code;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
274 general guru on obscure MS Windows programming topics)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
275 David Hobley (early MS Windows contributor)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
276 Marc Paquette (early MS Windows contributor)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
277 August Hill (early MS Windows contributor)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
278
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279 and others.