annotate nt/README @ 1330:4542b72c005e

[xemacs-hg @ 2003-03-01 07:25:26 by ben] build patch Makefile.in.in: Move src deletions to src/Makefile.in.in. dump-paths.el, dumped-lisp.el: Delete. Combine stuff into setup-paths.el. find-paths.el: Removed. Make this file contain generic routines only. Move stuff to compute Emacs roots to setup-paths.el. startup.el: Removed. Move these variables into setup-paths.el. setup-paths.el, startup.el: Removed. Combine all high-level code for computing the paths into setup-paths.el. Create new function startup-find-load-path to encapsulate all logic for computing `load-path'. Eliminate invocation-directory and invocation-name parameters since there is no point (false generality) -- the code references other globals, which cannot be specified. Eliminate some code duplicated between setup-paths.el and startup.el. Clean up the debug-paths code and output load-path in addition. Add logic to paths-emacs-root-p to support separated source and build trees. loadup.el, make-docfile.el, update-elc-2.el, update-elc.el: Rewrite to allow for separated source and build trees, as may occur in MS Windows. NOTE TO BUILD HACKERS: loadup.el, make-docfile.el, update-elc.el and update-elc-2.el made two assumptions that are no longer correct: (1) The source and build trees are in the same place. (2) They can make assumptions about where `.' is. These files now compute the locations of the source and build roots at the top of the file. *ALL* constant file names or path snippets must now be made absolute using expand-file-name and one of these roots. dumped-lisp.el, packages.el: Removed. Remove some unused lists of Lisp files. packages-hardcoded-lisp (empty, in any case) moved to dumped-lisp.el. startup.el: When a compiled init file is out-of-date wrt the uncompiled version, load the uncompiled version and issue a nasty warning. update-elc-2.el: Force touching of auto-autoloads files when REBUILD_AUTOLOADS was set. update-elc.el: Fix code that checks whether dumping is necessary to check against xemacs.dmp, not xemacs.exe, when Unix and pdump. lwlib-Xm.c: Fix compile warning. README, config.inc.samp, xemacs.mak: -- Major reorganization and cleanup. -- Add support for separated build tree and source tree. -- Delete all support for X Windows building, since it's totally bit-rotten and will never be fixed up. Instruct people to use Cygwin if they want such support. make-build-dir: New script to create a skeleton build tree for use with separated build and source tree compilation. m/acorn.h, m/alliant-2800.h, m/alliant.h, m/altos.h, m/amdahl.h, m/arm.h, m/att3b.h, m/aviion.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h, m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/ews4800r.h, m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h, m/intel386.h, m/iris4d.h, m/iris5d.h, m/iris6d.h, m/irist.h, m/m68k.h, m/masscomp.h, m/mg1.h, m/mips-nec.h, m/mips-siemens.h, m/mips.h, m/nh3000.h, m/nh4000.h, m/ns32000.h, m/plexus.h, m/powerpc.h, m/sequent-ptx.h, m/sequent.h, m/sgi-challenge.h, m/stride.h, m/tad68k.h, m/targon31.h, m/tekxd88.h, m/template.h, m/tower32.h, m/tower32v3.h, m/ustation.h, m/wicat.h, m/xps100.h, data.c, doc.c, editfns.c, emacs.c, lrecord.h, ntheap.c, process-unix.c, sysdep.c, unexec.c: Delete all support for bit-rotten CANNOT_DUMP. Just use pdump. Makefile.in.in: Lots o' cleanup. Use names like LISP, SRC instead of lispdir, srcdir, for consistency with xemacs.mak and the conventions in the rest of the file. Eliminate use of ${...} in favor of $(...), to make it easier to move code between this file and xemacs.mak. Fix dependency handling wrt NEEDTODUMP to eliminate problems some people (e.g. Vin) have been seeing with non-GNU makes. Write a long section about the subtle but oh-so-important differences in dependency processing between nmake, make, and GNU make. Add unicode-encapsulate target, from xemacs.mak. chartab.c, lrecord.h: Fix crash due to attempt to free objects across dump/undump.
author ben
date Sat, 01 Mar 2003 07:25:56 +0000
parents 5f2f8dcbfb3e
children 3227a97effa8
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
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
80 sources (xpm-3.4k.tar.gz as of 2002-04-27) from
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
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
86 zlib and libpng (zlib-1.1.4 and libpng-1.0.9 as of 2002-04-27) from
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
817
ece8c2170578 [xemacs-hg @ 2002-04-23 00:44:29 by jhar]
jhar
parents: 812
diff changeset
89 build procedure works for zlib-1.1.4 and libpng-1.0.9:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90
817
ece8c2170578 [xemacs-hg @ 2002-04-23 00:44:29 by jhar]
jhar
parents: 812
diff changeset
91 cd to the zlib directory and type 'nmake -f msdos\makefile.w32'.
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
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 3. If you want TIFF support, grap the latest version of libtiff (tiff-v3.4
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
97 as of 2002-04-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
98 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
99 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
100 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
101 verified to work under WinNT, not Win95 or 98. However, the latest
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
102 distribution of libtiff includes a contrib\win95\makefile.w95; that
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
103 might work.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
105 4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b as
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
106 of 2002-04-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
107 README for details on how to build it.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
109 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
110 ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack it somewhere.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
111 Copy nt\compface.mak from xemacs sources to the compface directory.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
112 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
113
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
115 * Building
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
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
118 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
119 config.inc.samp to config.inc. Make any necessary modifications. This
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
120 file controls the options that XEmacs is built with:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
121
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
122 -- If you want international (aka "Mule") support, modify the appropriate
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
123 line in config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
124
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 444
diff changeset
125 MULE=1
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
127 -- 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
128 config.inc as follows:
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 HAVE_XPM=1
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
131 XPM_DIR="x:\location\of\your\xpm\sources"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
132
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
133 and similarly for JPEG and TIFF support.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
135 -- 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
136 config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
137
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
138 HAVE_PNG=1
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
139 PNG_DIR="x:\location\of\your\png\sources"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
140 ZLIB_DIR="x:\location\of\your\zlib\sources"
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 -- 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
143 config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
144
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
145 HAVE_GIF=1
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
147 -- 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
148 config.inc as follows:
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 HAVE_XFACE=1
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
151 COMPFACE_DIR="x:\location\of\your\compface\sources"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
152
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
153 -- By default, XEmacs will expect to find its packages in the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
154 subdirectories "site-packages", "mule-packages" and "xemacs-packages"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
155 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
156 for these subdirectories elsewhere, modify the appropriate lines in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
157 config.inc as follows:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
159 PACKAGE_PREFIX="x:\your\package\directory"
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 Make sure that the directory pointed to by PACKAGE_PREFIX contains
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
162 the xemacs-packages directory into which you installed the packages.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
163
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
164 -- 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
165 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
166 config.inc as follows:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
167
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
168 MAKEINFO="x:\location\of\makeinfo.exe"
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 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
171 the XEmacs texinfo package.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
172
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
173 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
174 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
175 directory):
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 INSTALL_DIR="x:\your\installation\directory"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
179 (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
180 "c:\Program Files\XEmacs\XEmacs-21.5".)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
181
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
182 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
183 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
184 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
185 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
186 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
187 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
188 comments in `config.inc.samp' for more information.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
189
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
190 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
191 `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
192 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
193 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
194 files in the directories under the installation directory.
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 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
197 XEmacs will be installed (by default) as
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
198 "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
199
827
28426972f654 [xemacs-hg @ 2002-05-06 14:14:33 by jhar]
jhar
parents: 817
diff changeset
200 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
201 root of the build directory.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
202
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
203 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
204 Start Menu.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
205
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1203
diff changeset
206 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
207 `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
208 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
209 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
210 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
211 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
212 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
213 Project/Settings...:
442
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 Under the General tab:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
216
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
217 Build command line: NMAKE /f xemacs.mak
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
218 Output file name: ..\src\xemacs.exe
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
219 Browse info file name: ..\src\temacs.bsc
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
220
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
221 Under the Debug tab:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
223 Executable for debug session: ..\src\xemacs.exe
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
224
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
225
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
226 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
227 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
228 change even if you use the provided workspace nt/xemacs.dsw.)
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 * Debugging under MS Developer Studio
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
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
234 The build process always creates debugging and "Source Browser" information
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
235 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
236 very useful unless you build a debug version of XEmacs:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
237
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
238 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
239
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
240 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
241 MS Developer Studio. Build and debug your XEmacs this way.
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 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
244 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
245 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
246 the Debug window in MS Developer Studio.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
247
1203
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
248 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
249 as in the previous item.
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
250
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
251 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
252 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
253 DSTRING(variable) in the "Watch" window to inspect a Lisp string.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
254
1203
5f2f8dcbfb3e [xemacs-hg @ 2003-01-12 11:04:30 by michaels]
michaels
parents: 916
diff changeset
255 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
256 `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
257
442
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 * Known Problems
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
260 ================
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 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
263 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
264 assistance we can:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 The XEmacs NT Mailing List: xemacs-nt@xemacs.org
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267 Subscribe address: xemacs-nt-request@xemacs.org
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
269 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
270 Mule code and some of the dialog box code)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
271 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
272 MS Windows glyph and widget code)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
273 Jonathan Harris (MS Windows contributor; author of the MS Windows redisplay
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
274 and underlying GUI code)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
275 Kirill Katsnelson (MS Windows contributor; author of the MS Windows process
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
276 and printing code and some of the dialog box code;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
277 general guru on obscure MS Windows programming topics)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
278 David Hobley (early MS Windows contributor)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
279 Marc Paquette (early MS Windows contributor)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
280 August Hill (early MS Windows contributor)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
281
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282 and others.