annotate nt/README @ 5688:b6c506c30f93

Respect face and display table information for the minibuffer prompt. src/ChangeLog addition: 2012-10-14 Aidan Kehoe <kehoea@parhasard.net> Respect face and display table information in the minibuffer prompt. Thanks for the bug report, Nelson Ferreira! * redisplay.c (struct prop_block): Add entries representing the minibuffer prompt explicitly to the union here. * redisplay.c (add_propagation_runes): Respect the face and the display table for the minibuffer prompt here. * redisplay.c (regenerate_window): Use the new union members when passing the minibuffer prompt info to add_propagation_runes().
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 14 Oct 2012 16:14:25 +0100
parents 1cecc3e9f0a0
children 98681721a588
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
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
3 Ben Wing
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
4
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
5 based on old version by
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
6
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 David Hobley
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
8 Marc Paquette
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
9 Jonathan Harris
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
11 This is a port of XEmacs to Windows 95/98/ME/NT/2000/XP. If you are
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
12 looking for a port of GNU Emacs, get the latest release of the 21.x series
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
13 from gnu.org. NT 4.0 or later is required for building on Windows NT.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
14 Note that the developers typically use NT 4.0 and Windows 2000 or XP, and
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
15 there may possibly be problems under Windows 95/98. (One developer has
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
16 successfully built on Windows ME, though, which is the successor of Windows
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
17 98.) If so, please report them to xemacs-nt@xemacs.org; we are committed
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
18 to maintaining compatibility with all systems listed.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
20 * Required tools and sources
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
21 ============================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
22
900
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
23 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
24 everything.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
26 Note that Visual C++ assumes that the environment variables INCLUDE and
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
27 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
28 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
29 vc\bin and sharedide\bin directories.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
30
900
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
31 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
32 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
33 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
34 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
35 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
36 which is generally a good idea.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37
900
ac5c14a317f1 [xemacs-hg @ 2002-07-05 19:18:54 by jhar]
jhar
parents: 827
diff changeset
38 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
39 $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
40 automatically set these environment variables up in the registry.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
41
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
42 2. Grab the latest XEmacs source from
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
43
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
44 http://ftp.xemacs.org/pub/xemacs/
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
45
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
46 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
47
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
48 (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
49 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
50
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
51 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
52 packages bundle from
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
53
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
54 http://ftp.xemacs.org/pub/xemacs/packages/xemacs-sumo.tar.gz
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
55
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
56 If you are building with international support, you also need
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
57
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
58 http://ftp.xemacs.org/pub/xemacs/packages/xemacs-mule-sumo.tar.gz
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
59
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
60 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
61 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
62 short on disk space. You can find the various packages in
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
63 http://ftp.xemacs.org/pub/xemacs/packages/. You will need the xemacs-base
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
64 package (and mule-base, if building with international support). You'll
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
65 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
66 your machine. If you want to download additional or updated packages
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
67 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
68 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
69 cc-mode, prog-modes and xemacs-devel packages.
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 Unpack the packages into "x:\your\choice\XEmacs\xemacs-packages",
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
72 for example "c:\Program Files\XEmacs\xemacs-packages".
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
73
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
74 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
75 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
76 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
77
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
78
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
79 * Optional libraries
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
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
82 The easiest way to get the optional libraries is to grab the appropriate
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
83 set of precompiled versions for your compiler:
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
84
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
85 http://www.xemacs.org/Download/win32/optional-libs.exe
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
86
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
87 or for VC++ 2005 (VC8)
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
88
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
89 http://www.xemacs.org/Download/win32/optional-libs-vc8.exe
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
90
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
91 unpack them somewhere and set the OPTIONAL_LIBRARY_DIR in config.inc
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
92 to point to where you put them. This will automatically give you
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
93 all the graphics libraries. (NOTE: optional-libs.exe was compiled with
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
94 VC++ .NET and may or may not work with VC++ 6.0. If not, you will have
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
95 to build them yourself until we provide VC6 binaries.)
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
96
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
97 * Alternative: Building the optional libraries yourself
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
98 =======================================================
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
99
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
100 If you need to build the libraries yourself, grab them from
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
101 http://ftp.xemacs.org/pub/xemacs/aux or get the latest version from the
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
102 home page of the appropriate library, as listed on
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
103 http://www.xemacs.org/Download/optLibs.html. The following instructions
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
104 assume that you have the appropriate libraries and have unpacked them
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
105 somewhere, e.g. c:\src.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
107 Directions for building the various libraries:
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
108
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
109 1. You really want the XPM library. Copy nt\xpm.mak from the xemacs sources
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
110 to the lib/ subdirectory of the XPM sources, cd to that directory and
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
111 build xpm with 'nmake -f xpm.mak'.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
112
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
113 2. You probably also want PNG image support. Get PNG and ZLIB and read the
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
114 respective READMEs for details on how to build them.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
115
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
116 cd to the ZLIB source directory and type 'nmake -f win32\Makefile.msc'.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
117
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
118 cd to the libpng source directory, rename or move the zlib directory to
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
119 ..\zlib and type 'nmake -f scripts\makefile.vcawin32'.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
121 3. If you want TIFF support, cd to the TIFF source directory and type
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
122 'nmake -f Makefile.vc'.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
123
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
124 4. If you want JPEG support, cd to the JPEG source directory and type
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
125 'nmake -f makefile.vc'.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
126
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
127 5. If you want X-Face support, copy nt\compface.mak from the xemacs sources
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
128 to the compface directory, cd to that directory and build libcompface
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
129 with 'nmake -f compface.mak'.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
130
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
131 6. It's also possible to build the Sleepycat DB libraries. Open up the file
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
132
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
133 DB-SOURCE-DIR\docs\ref\build_win\intro.html
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
135 in a browser, where DB-SOURCE-DIR is the top-level source directory for
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
136 the Sleepcat DB libraries, and follow the directions. You should build the
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
137 `Release_static' target if you want to use the static version of this
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
138 library, or the `Release' target if you want to use the DLL version of
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
139 the library. To use the DLL version, you need to set BUILD_DATABASE_SHARED
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
140 to 1 in config.inc. The DLL version will make the executable much smaller,
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
141 but you will have to have the DLL present at run-time -- either in the
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
142 same directory as the XEmacs executable or somewhere in your path.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
144 7. It's possible, but difficult, to build shared libraries for GNU MP.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
145 (Static libraries are not yet possible, as there is no makefile.vc for
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
146 this; you can't build static libraries for VC++ using MinGW.) Basically,
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
147 you need to build using MinGW and then generate native import libraries.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
148 This is more or less described in the documentation, but the following
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
149 procedure seems to work:
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
150
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
151 -- In the top level of the GMP sources, configure using
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
152
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
153 CC='gcc -mno-cygwin' configure --build=pentium3-pc-mingw32 --disable-static --enable-shared
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
154
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
155 -- Edit the `libtool' script in the same directory and change the value
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
156 of CC from `gcc' to `gcc -mno-cygwin'.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
157
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
158 -- Run `make'.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
159
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
160 -- Run these commands:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
162 lib /machine:IX86 /def:.libs/libgmp-3.dll-def
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
163 cp .libs/libgmp-3.dll-exp libgmp-3.exp
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
164 cp .libs/libgmp-3.dll .
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
165
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
166 -- You should now have an import library named libgmp-3.lib and a DLL
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
167 libgmp-3.dll.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
168
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
169 -- NOTE: You will need to have this DLL accessible when XEmacs runs.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
170 It either needs to be in the same directory as the XEmacs executable
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
171 or in your path.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
172
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
173 8. There are also pre-built binaries for GMP-4.1.2 at
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
174
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
175 http://www.cs.nyu.edu/exact/core/gmp/.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
177 However, they don't seem to work properly for our purposes, as they
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
178 require LIBC.LIB rather than MSVCRT.DLL.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
179
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
180 9. You can build the client library for PostgreSQL by cd'ing to the src/
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
181 subdirectory of the PostgreSQL sources and running `nmake -f win32.mak'.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
182
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
183 10. It does not appear to be very easy to build OpenLDAP under
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
184 native MS Windows, as it is only experimentally supported. However, there
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
185 is a mailing list for this, which contains postings of recent binaries and
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
186 build patches; see
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
187
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
188 http://lucas.bergmans.us/hacks/openldap/
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
189
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
190 If you know how to build OpenLDAP, please write up a description of the
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
191 process and send it to us at xemacs-beta@xemacs.org.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
194 * Building
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
195 ==========
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
196
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
197 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
198 config.inc.samp to config.inc. Make any necessary modifications. This
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
199 file controls the options that XEmacs is built with:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
200
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
201 -- If you want international (aka "Mule") support, modify the appropriate
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
202 line in config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
203
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 444
diff changeset
204 MULE=1
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
206 -- If you're using the pre-supplied optional library pack, all you should
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
207 have to do is set OPTIONAL_LIBRARY_DIR to the top-level directory
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
208 where you unpacked everything.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
209
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
210 -- By default, support is enabled for all graphics formats, but not
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
211 currently for any of the other libraries in the optional library
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
212 pack. If you want support for GMP, Berkeley DB or PostgreSQL, set
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
213 the appropriate flag (HAVE_BIGNUM, HAVE_DATABASE or HAVE_POSTGRESQL,
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
214 respectively) to 1. We do not currently enable these by default
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
215 because of lack of sufficient testing, questionable usefulness in
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
216 the case of Berkeley DB and PostgreSQL, excessive library size in
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
217 the case of Berkeley DB (more than 2 MB for the static library!),
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
218 and lack of a static library in the case of GMP.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
219
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
220 -- If you want to turn off support for any of the graphics libraries,
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
221 set the appropriate flag (HAVE_XPM, HAVE_GIF, HAVE_PNG, HAVE_JPEG,
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
222 HAVE_TIFF or HAVE_XFACE) to 0.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
223
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
224 -- If you have compiled some of the libraries yourself, you will have to
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
225 specify the location of the top-level source directory for each of
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
226 these libraries. XEmacs assumes that the directory structure under
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
227 these directories is as it is in the sources, rather than in any
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
228 installed format.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
229
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
230 For example, for XPM support, modify the appropriate lines in
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
231 config.inc as follows:
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 HAVE_XPM=1
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
234 XPM_DIR="x:\location\of\your\xpm\sources"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
235
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
236 Similarly for JPEG, TIFF, etc. support.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
237
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
238 For PNG support, you also need to specify ZLIB_DIR.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
240 If you want to use the DLL version of the Sleepycat DB library,
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
241 set BUILD_DATABASE_SHARED to 1. You will have to have the DLL
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
242 present at run-time -- either in the same directory as the XEmacs
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
243 executable or somewhere in your path.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
244
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
245 -- By default, XEmacs will expect to find its packages in the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
246 subdirectories "site-packages", "mule-packages" and "xemacs-packages"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
247 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
248 for these subdirectories elsewhere, modify the appropriate lines in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
249 config.inc as follows:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
251 PACKAGE_PREFIX="x:\your\package\directory"
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 Make sure that the directory pointed to by PACKAGE_PREFIX contains
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
254 the xemacs-packages directory into which you installed the packages.
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 -- 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
257 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
258 config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
259
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
260 MAKEINFO="x:\location\of\makeinfo.exe"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
261
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
262 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
263 the XEmacs texinfo package.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
264
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
265 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
266 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
267 directory):
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 INSTALL_DIR="x:\your\installation\directory"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
271 (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
272 "c:\Program Files\XEmacs\XEmacs-21.5".)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
273
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
274 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
275 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
276 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
277 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
278 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
279 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
280 comments in `config.inc.samp' for more information.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
281
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
282 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
283 `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
284 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
285 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
286 files in the directories under the installation directory.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
287
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
288 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
289 XEmacs will be installed (by default) as
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
290 "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
291
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
292 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
293 root of the build directory.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
294
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
295 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
296 Start Menu.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
297
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
298 5. To build using MS Visual Studio, you can use the workspace file
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
299 `nt/xemacs.dsw'. This was prepared for Visual C++ 6.0. If you are using
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
300 Visual Studio .NET, open this file up inside of it and it will offer to
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
301 convert it to a .NET "solution" file. The same procedure should work
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
302 for newer versions of Visual Studio (e.g. Visual Studio 2005). If this
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
303 doesn't work (e.g. you are using Visual C++ 5 or even earlier), just
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
304 open up `nt/xemacs.mak' from within Visual Studio and it will offer to
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
305 wrap this Makefile in a workspace file, from which you can build.
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
306 Assuming you want to run from the build directory (which you will want
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
307 to do if you are planning on doing any development work on XEmacs), use
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
308 the following settings (for Visual C++ 6.0, at least) in
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
309 Project/Settings...:
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
310
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
311 Under the General tab:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
312
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
313 Build command line: NMAKE /f xemacs.mak
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
314 Output file name: ..\src\xemacs.exe
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
315 Browse info file name: ..\src\temacs.bsc
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
316
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
317 Under the Debug tab:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
318
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
319 Executable for debug session: ..\src\xemacs.exe
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
320
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
321
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
322 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
323 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
324 change even if you use the provided workspace nt/xemacs.dsw.)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
325
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
326
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
327 * Debugging under MS Developer Studio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
328 =====================================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
329
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
330 The build process always creates debugging and "Source Browser" information
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
331 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
332 very useful unless you build a debug version of XEmacs:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
333
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
334 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
335
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
336 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
337 MS Developer Studio. Build and debug your XEmacs this way.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
338
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
339 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
340 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
341 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
342 the Debug window in MS Developer Studio.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
343
1203
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
344 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
345 as in the previous item.
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
346
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
347 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
348 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
349 DSTRING(variable) in the "Watch" window to inspect a Lisp string.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
350
1203
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
351 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
352 `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
353
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
354
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
355 * Known Problems
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
356 ================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
357
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
358 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
359 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
360 assistance we can:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
361
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
362 The XEmacs NT Mailing List: xemacs-nt@xemacs.org
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363 Subscribe address: xemacs-nt-request@xemacs.org
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
364
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
365 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
366 Mule code and some of the dialog box code)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
367 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
368 MS Windows glyph and widget code)
2951
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
369 Jonathan Harris (MS Windows contributor; original author of the MS Windows
b694dfd2f40e [xemacs-hg @ 2005-09-26 08:13:00 by ben]
ben
parents: 1780
diff changeset
370 redisplay and underlying GUI code)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
371 Kirill Katsnelson (MS Windows contributor; author of the MS Windows process
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
372 and printing code and some of the dialog box code;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
373 general guru on obscure MS Windows programming topics)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
374 David Hobley (early MS Windows contributor)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
375 Marc Paquette (early MS Windows contributor)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
376 August Hill (early MS Windows contributor)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
377
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
378 and others.