annotate INSTALL @ 2500:3d8143fc88e1

[xemacs-hg @ 2005-01-24 23:33:30 by ben] get working with VC7 config.inc.samp: Declare OPTIONAL_LIBRARY_DIR as root of library directories. Redo all graphics library defaults to mirror the versions and directories in the current binary aux distribution on xemacs web site. Enable TIFF and COMPFACE by default since you can now compile with them and binary libs are provided. xemacs.mak: Put our own directories first in case of conflict (e.g. config.h in compface). xemacs.mak: Use MSVCRT to avoid link problems. s/windowsnt.h: bytecode.c, print.c: Add casts to avoid warning. compiler.h: Add MSC_VERSION and include definitions of DOESNT_RETURN and friends here, like for GCC. Need different definitions for VC7 and VC6. s/windowsnt.h: Remove stuff moved to compiler.h. Disable warning 4646 ("function declared with __declspec(noreturn) has non-void return type") on VC7 since lots of Lisp primitives trigger this and there is no easy way to kludge around the warning. glyphs-eimage.c: Some really nasty hacks to allow TIFF and JPEG to both be compiled. #### The better solution is to move the TIFF and JPEG code to different files. glyphs-msw.c: Define __STDC__ to avoid problems with compface.h. intl-auto-encap-win32.c, intl-auto-encap-win32.h, intl-encap-win32.c, syswindows.h: Those wankers at Microsoft cannot leave well enough alone. Various functions change parameter types semi-randomly between VC6 and VC7, so we need to include our own versions that can handle both kinds with appropriate casting. EmacsFrame.c, EmacsShell-sub.c, EmacsShell.c, alloc.c, alloca.c, buffer.c, bytecode.c, charset.h, chartab.c, cm.c, console-stream.c, console.c, data.c, debug.h, device-msw.c, device-tty.c, device-x.c, doprnt.c, dumper.c, dynarr.c, elhash.c, emacs.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, events.c, extents.c, faces.c, file-coding.c, fileio.c, fns.c, font-lock.c, frame-gtk.c, frame-x.c, frame.c, free-hook.c, gccache-gtk.c, glyphs-eimage.c, glyphs-gtk.c, glyphs-msw.c, glyphs-x.c, glyphs.c, gtk-glue.c, gutter.c, input-method-xlib.c, insdel.c, intl-win32.c, keymap.c, lisp.h, lread.c, lstream.c, macros.c, malloc.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, mule-coding.c, native-gtk-toolbar.c, number.c, objects-msw.c, objects.c, print.c, process-nt.c, process-unix.c, process.c, ralloc.c, rangetab.c, redisplay-gtk.c, redisplay-msw.c, redisplay-output.c, redisplay-tty.c, redisplay-x.c, redisplay.c, regex.c, scrollbar-gtk.c, scrollbar-x.c, search.c, select-x.c, signal.c, specifier.c, specifier.h, strftime.c, sunplay.c, symbols.c, sysdep.c, sysproc.h, text.c, text.h, toolbar-common.c, toolbar-msw.c, toolbar.c, ui-gtk.c, unexnt.c, unicode.c, win32.c, window.c, xgccache.c, s/windowsnt.h: abort() -> ABORT(). Eliminate preprocessor games with abort() since it creates huge problems in VC7, solvable only by including massive amounts of files in every compile (and not worth it).
author ben
date Mon, 24 Jan 2005 23:34:34 +0000
parents 97dd9f867cef
children 68a5da07c189
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 XEmacs Installation Guide
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
2
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 Copyright (c) 1994, 1995, 1996 Board of Trustees, University of Illinois
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
4 Copyright (c) 1994-1999, 2003 Free Software Foundation, Inc.
412
697ef44129c6 Import from CVS: tag r21-2-14
cvs
parents: 410
diff changeset
5
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 Permission is granted to anyone to make or distribute verbatim copies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 of this document as received, in any medium, provided that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 copyright notice and permission notice are preserved,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 and that the distributor grants the recipient permission
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 for further redistribution as permitted by this notice.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 Permission is granted to distribute modified versions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 of this document, or of portions of it,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 under the above conditions, provided also that they
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 carry prominent notices stating who last changed them,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 and that any new or changed statements about the activities
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 of the Free Software Foundation are approved by the Foundation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
19 Last modified by Stephen J. Turnbull <stephen@xemacs.org> 2003-02-12
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
21 BUILDING AND INSTALLATION FOR UNIX AND CYGWIN
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
22
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
23 (for Microsoft Windows, see nt/README also.)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
24
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
25 PREREQUISITES
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
26 =============
404
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 400
diff changeset
27
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
28 Make sure your system has enough swapping space allocated to handle a
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
29 program whose pure code is 900k bytes and whose data area is at least
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
30 400k and can reach 8Mb or more. Note that a typical XEmacs process
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
31 can get much bigger: the instance this sentence was written with is
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
32 over 100MB! If the swapping space is insufficient, you will get an
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
33 error in the command `temacs -batch -l loadup dump', found in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
34 `./src/Makefile.in.in', or possibly when running the final dumped
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
35 XEmacs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
37 Verify that your users have a high enough stack limit. On some systems
1036
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 845
diff changeset
38 such as OpenBSD and OSF/Tru64 the default is 2MB which is too low. On
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 845
diff changeset
39 MacOS/X (Darwin), it's 512kB. See 'PROBLEMS' for details.
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
40
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
41 Building XEmacs requires about 100 Mb of disk space (including the
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
42 XEmacs sources). Once installed, XEmacs occupies between 20 and 100
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
43 MB in the file system where it is installed; this includes the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
44 executable files, Lisp libraries, miscellaneous data files, and
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
45 on-line documentation. The exact amount depends greatly on the number
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
46 of extra Lisp packages that are installed.
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
47
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2283
diff changeset
48 XEmacs requires an ANSI C compiler, such as GCC. If you wish to build the
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2283
diff changeset
49 documentation yourself, you will need at least version 1.68 of makeinfo (GNU
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2283
diff changeset
50 texinfo-3.11). GNU Texinfo 4.2 is recommended; it is necessary for building
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2283
diff changeset
51 Lisp packages, and we may move to it for the core.
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
52
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
53 A note on terminology: unfortunately the terms "library" and "package"
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
54 are heavily overloaded. In the following, "library" refers to an
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
55 external body of executable code which may be linked with XEmacs at
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
56 build time to provide support for system features, such as images,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
57 audio, stream compression, databases, and input methods. A "Lisp
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
58 library" is a file of Lisp code which may be loaded into XEmacs at
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
59 run-time to provide editor features. A "package" is a specially
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
60 prepared Lisp library or set of Lisp libraries, providing for easy
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
61 installation, upgrade, and removal of applications written in Lisp.
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 392
diff changeset
62
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
63 PACKAGE SYSTEM
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
64 ==============
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
65
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
66 The file README.packages contain information vital to have a fully
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
67 working XEmacs. It includes a description of available packages, and
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
68 how to bootstrap XEmacs from a minimal or a complete set of packages.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
69 This information was not included in this file only because it is too
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
70 large for this terse INSTALL. Please read README.packages now!
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
71
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
72 ADD-ON LIBRARIES
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
73 ================
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
74
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
75 Decide which libraries you would like to use with XEmacs, but are not
1375
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
76 yet available on your system. On some systems, X11, Motif and CDE are
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
77 optional additions. On MacOS/X systems, you may download X11R6 for
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
78 Mac OS X from http://www.apple.com/macosx/x11/download/. You need
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
79 both the runtime libraries and the SDK (in a sidebar of that page at
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
80 the time of writing). There is also a 3rd-party implementation of
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
81 X11R6 for the Mac at http://www.xdarwin.org/. On Solaris, the
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
82 SUNWaudmo package enables native sound support. There are also a
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
83 number of free software applications that XEmacs can use. If these
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
84 are not yet available on your system, obtain, build and install those
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
85 external libraries before building XEmacs. The libraries XEmacs can
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
86 use are:
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
87
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
88 Xaw3d, XPM, JPEG, compface, PNG, zlib, GNU DBM, Berkeley DB, socks,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
89 term, NAS, Canna, Kinput2, SJ3, Wnn, PostgreSQL, LDAP.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
90
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
91 You can get (most of) them from the XEmacs FTP archive at
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
92 <ftp://ftp.xemacs.org/pub/xemacs/aux>. Information about what
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
93 each library does is available in the file
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
94 <ftp://ftp.xemacs.org/pub/xemacs/aux/00README.txt>.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
95
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
96 Use the `--site-includes' and `--site-libraries' options when building
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
97 XEmacs to allow configure to find the external software packages. For
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
98 your convenience these can be set together by using the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
99 `--with-site-prefix' option. This will set these variables as needed
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
100 assuming your libraries are organised as a typical /usr tree.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
101
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
102 If you link dynamically with external libraries, usually denoted by
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
103 ".so" (Unix), ".dll" (Windows), or ".dylib" (MacOS) file extensions,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
104 on some systems you may also need to add the library directories to
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
105 the `--site-runtime-libraries' option. It is typically necessary only
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
106 if you link with dynamic libraries that are installed in non-standard
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
107 directories, or if you expect some of the libraries used to build
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
108 XEmacs to be in a different directory at run time than at build time.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
109
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
110 NOTE: This option has unusual semantics. ONLY libraries found in the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
111 directories specified in this option will be used at runtime. This
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
112 means you must specify ALL directories you want searched at runtime in
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
113 this option (perhaps excluding a very small number of standard system
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
114 library paths).
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
115
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
116 Directories specified with `--site-libraries' are NOT automatically
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
117 added. The rationale is that most users will not need this option,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
118 and this allows the builder to specify exactly the needed directories.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
119 Specifying unnecessary directories leads to obscure problems
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
120 (typically startup delays) if those directories are mounted over a
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
121 network, and the automounter configuration changes. Not all systems
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
122 need this option; it's best to avoid using it if you can.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
123
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
124 Dynamic linking has pros and cons. Dynamically linking 3rd party
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
125 libraries to XEmacs decreases the size of the binary, and means you
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
126 don't need to rebuild XEmacs to take advantage of improvements in the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
127 libraries. On the other hand, XEmacs can fail subtly if the semantics
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
128 of a library changes, other users may not be able to use your
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
129 "private" copies of the libraries, and you may have to relink XEmacs,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
130 or even omit the feature, if the ABI changes when the libraries are
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
131 upgraded.
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
132
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
133 CONFIGURATION OPTIONS
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
134 =====================
269
b2472a1930f2 Import from CVS: tag r20-5b33
cvs
parents: 255
diff changeset
135
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
136 In the top level directory of the XEmacs distribution, run the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
137 program `configure' as follows:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
139 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ...
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
141 Controlling the Host Type
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
142 -------------------------
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
143
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
144 Almost always, you should let `configure' (actually the shell script
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
145 `config.guess') guess your host type, by omitting the
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
146 CONFIGURATION-NAME argument. If you like to experiment, specify a
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
147 configuration name in the form MACHINE-VENDOR-OPSYS, for example:
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
148
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
149 sparc-sun-solaris2.6
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
150
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
151 See config.guess and configure.in for valid values for MACHINE,
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
152 VENDOR, and OPSYS. Also check `./etc/MACHINES' for advice on building
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
153 on particular machines.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
155 Specifying Location of Headers and Libraries
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
156 --------------------------------------------
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
157
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
158 The `--site-includes=DIR' and `--site-libraries=DIR' options allow you
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
159 to specify additional places the compiler should look for include
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
160 files and object libraries. You may specify multiple DIR's by
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
161 enclosing the list in quotes. All the external libraries you want to
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
162 use with XEmacs (e.g. xpm, wnn, ...) described later should have their
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
163 include and library directories defined using these options.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
164
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
165 The `--site-runtime-libraries=DIR' option specifies directories to
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
166 search for shared libraries at run time. If you use this option, you
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
167 must specify ALL of the directories containing shared libraries at run
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
168 time, including system directories. Please read the information about
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
169 "ADD-ON LIBRARIES" above very carefully.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 process where the compiler should look for the include files and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 object libraries used with the X Window System. Normally, `configure'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 is able to find them; these options are necessary if you have your X
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 Window System files installed in unusual places.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
177 Configuring the Build Process
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
178 -----------------------------
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
179
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
180 The `--with-gcc=PROGRAM' option specifies that the build process
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
181 should compile XEmacs using GCC. The `--compiler' option allows you
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
182 to specify some other compiler to be used to compile XEmacs. If
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
183 neither option is specified, the environment variable CC is used
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
184 instead. Otherwise the compiler will then default to 'cc'.
201
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
185
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
186 The `--xemacs-compiler=PROGRAM' option specifies the compiler control
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
187 program for the xemacs binary only. Other C code will be compiled
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
188 according to the `--with-gcc' and `--compiler' options above. This is
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
189 useful if you wish to compile XEmacs with a C++ compiler, because the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
190 utilities in ./lib-src cannot be compiled as C++. This option is
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
191 primarily intended for use by the maintainers.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
193 The `--cflags=FLAGS' option specifies all of the CFLAGS the build process
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
194 should use when compiling XEmacs, except for flags controlling warning
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
195 generation. Otherwise the value of the environment variable CFLAGS is
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
196 consulted. If that is also undefined, CFLAGS defaults to "-g -O" for
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
197 gcc and "-g" for all other compilers.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
199 The `--cflags_warning=FLAGS' option specifies the warnings to be
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
200 generated. There is normally no reason to use this flag, as XEmacs
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
201 turns on as many warnings as possible, and is still expected to build
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
202 with no, or at most a few warnings.
594
fd49b88b9f06 [xemacs-hg @ 2001-05-31 12:47:21 by ben]
ben
parents: 442
diff changeset
203
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204 The `--dynamic' option specifies that configure should try to link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205 emacs dynamically rather than statically.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 You can build XEmacs for several different machine types from a single
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 source directory. To do this, you must use a version of `make' that
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
209 supports the `VPATH' variable, such as GNU `make'. Create separate
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 build directories for the different configuration types, and in each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211 one, run the XEmacs `configure' script. `configure' looks for the
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
212 Emacs source code in the directory that `configure' is in. The
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
213 `--srcdir' option may not work correctly (traditionally it was
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
214 overridden by the directory containing `configure').
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
215
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
216 Configuring the Installation Layout
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
217 -----------------------------------
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 The `--prefix=PREFIXDIR' option specifies where the installation process
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220 should put XEmacs and its data files. This defaults to `/usr/local'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221 - XEmacs (and the other utilities users run) go in PREFIXDIR/bin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 (unless the `--exec-prefix' option says otherwise).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 - The architecture-independent files go in PREFIXDIR/lib/xemacs-VERSION
276
6330739388db Import from CVS: tag r21-0b36
cvs
parents: 274
diff changeset
224 (where VERSION is the version number of XEmacs, like `21.0').
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 - The architecture-dependent files go in
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
226 PREFIXDIR/lib/xemacs-VERSION/CONFIGURATION-NAME
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
227 (where CONFIGURATION-NAME is the host type, like mips-dec-ultrix4.2),
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 unless the `--exec-prefix' option says otherwise.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 The `--exec-prefix=EXECDIR' option allows you to specify a separate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 portion of the directory tree for installing architecture-specific
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 files, like executables and utility programs. If specified,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 - XEmacs (and the other utilities users run) go in EXECDIR/bin, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 - The architecture-dependent files go in
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
235 EXECDIR/lib/xemacs-VERSION/CONFIGURATION-NAME.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236 EXECDIR/bin should be a directory that is normally in users' PATHs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
238 If you specify --prefix (or any of the other installation directory
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
239 options), they will get compiled into the xemacs executable so it will
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
240 be able to find its various associated files. However, XEmacs has
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
241 quite elaborate logic to find out the locations of these directories
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
242 dynamically. Sometimes, it is desirable *not* to compile these
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
243 directories into the executable so you can move the XEmacs
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
244 installation around (as whole) at will. This is true for binary kits,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
245 for instance. Therefore, you can specify --without-prefix on the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
246 configure command line to prevent the installation prefix to become
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
247 part of the generated executable; everything else will continue to
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
248 work as usual.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
250 Configuring Feature Support
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
251 ---------------------------
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
252
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
253 If you don't want X Window System support, specify `--without-x'. If
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
254 you omit this option, `configure' will try to autodetect whether your
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
255 system has X Window System support, and arrange to use it if present.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
256
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
257 The `--without-xmu' option can be used if your vendor doesn't ship
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
258 the Xmu library.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
259
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260 The `--with-menubars=TYPE' option allows you to specify which X
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261 toolkit you wish to use for the menubar. The valid options are
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
262 `lucid', `motif' and `no'. The default is `lucid' which is a
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263 Motif-lookalike menubar. We highly recommend its usage over the real
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264 Motif menubar. (In fact, the Motif menubar is currently broken.) If
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
265 `no' is specified then support for menubars will not be compiled in.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267 The `--with-scrollbars=TYPE' option allows you to specify which X
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 toolkit you wish to use for the scrollbars. The valid options are
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
269 `lucid', `motif', `athena', `athena3d', and `no'. The default is
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
270 `lucid' which is a Motif-lookalike scrollbar. If `no' is specified
104
cf808b4c4290 Import from CVS: tag r20-1b4
cvs
parents: 70
diff changeset
271 then support for scrollbars will not be compiled in.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273 The `--with-dialogs=TYPE' option allows you to specify which X toolkit
219
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents: 217
diff changeset
274 you wish to use for the dialog boxes. The valid options are `athena',
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
275 `athena3d', `motif, and `no. The `lucid' option is accepted and will
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
276 result in the `athena' toolkit being used. If the Motif toolkit can be
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
277 found the default is `motif'. Otherwise, the default is `athena'. If
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
278 `no' is specified then support for dialog boxes will not be compiled
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 in.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281 The `--with-toolbars' option allows you to enable or disable toolbar
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
282 support. The default is `yes' if support for a windowing system is
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
283 included.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
285 The `--with-xpm' option specifies that XEmacs should support X11
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286 Pixmaps. `configure' will attempt to detect if you have the Xpm
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 libraries and define `--with-xpm' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289 The `--with-xface' option specifies that XEmacs should support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290 X-Faces. `configure' will attempt to detect if you have the compface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 library and define `--with-xface' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293 The `--with-database' option specifies that XEmacs should be built
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
294 with simple database support. The valid options are `no' or a
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
295 comma-separated list of one or more of `dbm', `gnudbm' or `berkdb'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296 `configure' will attempt to detect the necessary libraries and header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 files and define `--with-database' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
299 The `--with-postgresql' option specifies that XEmacs should be built
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
300 with PostgreSQL support, linking with libpq. `configure' will attempt
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
301 to detect whether PostgreSQL support is available, and automatically
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
302 define `--with-postgresql' for you.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
303
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
304 The `--with-ldap' option specifies that XEmacs should be build with
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
305 LDAP support, using the OpenLDAP libraries. `configure' will attempt
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
306 to detect whether LDAP support is available, and automatically define
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
307 `--with-ldap' for you.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
308
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309 The `--with-socks' option specifies that XEmacs should be built with
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
310 SOCKS support. This requires the libsocks library.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
312 The `--external-widget' option specifies that XEmacs should be built
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
313 with support for being used as a widget by other X11 applications.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
314 This functionality should be considered beta.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
315
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
316 The `--with-sound=TYPE' option specifies that XEmacs should be built
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
317 with sound support. Native (`--with-sound=native') sound support is
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
318 currently available only on Sun SparcStations, SGI's, HP9000s, and
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
319 systems (such as Linux) with soundcard.h. Network Audio Support (NAS)
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
320 (`--with-sound=nas' or `--with-sound=both') is an extension to X that
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
321 you may or may not have for your system. For NAS, you will probably
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
322 need to provide the paths to the nas include and library directories
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
323 to configure. If `--with-sound' is not specified, `configure' will
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
324 attempt to determine if your configuration supports native sound and
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
325 define --with-sound for you. If your native sound library is not in a
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
326 standard location you can specify it with the `--native-sound-lib=LIB'
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
327 flag. For Linux, `/dev/audio' is required for SunAudio files and
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
328 `/dev/dsp' is required for raw data and WAVE format files.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
329
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330 The `--with-tooltalk' option specifies that XEmacs should be built
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331 with ToolTalk support for interconnecting with other applications.
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
332 ToolTalk is not yet supported on all architectures. If you use this
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
333 option, you should have the tooltalk package (see etc/PACKAGES)
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
334 installed prior to building XEmacs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
335
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336 The `--with-sparcworks' option specifies that XEmacs should be built
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
337 with support for Sun Sparcworks 3.0.1 and up (including Sun WorkShop).
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
338 This functionality is only of use on SunOS 4.1.x and Solaris 2.x
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
339 systems. If you use this option, you should have the Sun package (see
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
340 etc/PACKAGES) installed prior to building XEmacs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
341
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
342 The `--with-cde' option allows you to enable or disable CDE drag and
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
343 drop support. `configure' will attempt to detect this option and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
344 define `--with-cde' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
345
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
346 The `--with-offix' option allows you to enable or disable OffiX drag
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
347 and drop support. This requires no external library support, so if
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
348 X11 support is available, then this option defaults to `yes'. OffiX
274
ca9a9ec9c1c1 Import from CVS: tag r21-0b35
cvs
parents: 272
diff changeset
349 support can be explicitly disabled via the `--with-offix=no' option.
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
350
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
351 Internationalization Options
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
352 ----------------------------
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
353
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
354 The `--with-mule' option enables MUlti-Lingual Emacs (Mule) support,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
355 needed to support non-Latin-1 (including Asian) languages. Mule
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
356 support is required for Asian language and Unicode (multibyte and wide
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
357 character) support. With the advent of the Euro and European
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
358 Community expansion, Mule support is also recommended for Western
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
359 Europeans. Enabling Mule support requires the mule-base package
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
360 installed prior to building XEmacs. The `--with-xim', --with-xfs',
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
361 `--with-canna', `--with-wnn' and `--with-wnn6' options require
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
362 Mule support.
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
363
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
364 The `--with-xim' option enables use of the X11 XIM mechanism to allow
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
365 an input method to input text into XEmacs. The input method is shared
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
366 among all the X applications sharing an X display and using the same
151
59463afc5666 Import from CVS: tag r20-3b2
cvs
parents: 149
diff changeset
367 language. The XIM support comes in two flavors: `motif' and `xlib'.
59463afc5666 Import from CVS: tag r20-3b2
cvs
parents: 149
diff changeset
368 The Motif support (the XmIm* functions) is preferred when available.
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
369 The xlib XIM support works reasonably well so long as the X11 libraries
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
370 are recent enough. It has been fairly well tested on Linux with glibc
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
371 2.0.5 and 2.0.6 and Kinput2 as an XIM server. In this configuration
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
372 X11 must be recompiled with X_LOCALE defined because glibc is lacking
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
373 localization for Japanese. The XIM support defaults to `no' except
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
374 when Motif is detected where it is stable with OSF libraries. The XIM
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
375 support in Lesstif (a Free Motif replacement) does not work as of
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
376 v0.82. If you enable this option, you will probably wish to install
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
377 the `locale' package which contains localized Splash screens and
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
378 Menubars.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
379
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
380 The `--with-xfs' option enables use of a multilingual Menubar. At the
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
381 present time, only Japanese and French locales are supported. In
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
382 order to use a multilingual Menubar you must have the `locale' package
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
383 installed. The `locale' package does not have to be installed when
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
384 building XEmacs.
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
385
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
386 The `--with-canna' option enables the use of the Canna Japanese input
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
387 method. This is stable code and fairly well tested. In order to use
2283
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
388 it, you will have to have the Canna server installed and running. Canna
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
389 versions 3.2pl2, 3.5b2, and 3.7p3 are known to work. Version 3.2pl2 is
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
390 considered more stable than version 3.5b2; the stability of 3.7p3 is
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
391 still unknown. If Canna is already installed, configure will autodetect
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
392 it, so you never need to explicitly use this option unless your Canna
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
393 libraries are somewhere strange. Canna run time support is currently
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
394 bundled with the `mule-base' package so there is nothing additional to
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
395 install in order to use it.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
396
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
397 The `--with-wnn' and `--with-wnn6' options are for compiling with the Wnn
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
398 multi-language input method. `--with-wnn' is for compiling with Wnn-4.2,
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
399 the Free version of WNN. `--with-wnn6' is for compiling against WNN6,
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
400 the commercial version of WNN available from OMRON Corporation. This is
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
401 stable code and fairly well tested. In order to build with this
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
402 option, you will need to have the `egg-its' lisp package already
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
403 installed.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
404
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
405 Please note that it is safe to build with as many of the options
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
406 `--with-xim', `--with-canna' and `--with-wnn' as your system
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
407 supports.
104
cf808b4c4290 Import from CVS: tag r20-1b4
cvs
parents: 70
diff changeset
408
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
409 Options for Developers and Special Requirements
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
410 -----------------------------------------------
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
411
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
412 The `--rel-alloc' option can be used to either enable or disable use
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
413 of the relocating allocator. Turning on --rel-alloc will allow XEmacs
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
414 to return unused memory to the operating system, thereby reducing its
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
415 memory footprint. However, it may make XEmacs runs more slowly,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
416 especially if your system's `mmap' implementation is missing or
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
417 inefficient. Generally, it's best to go with the default
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
418 configuration for your system. You can tweak this based on how you
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
419 use XEmacs, and the memory and cpu resources available on your system.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
420
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
421 The `--with-system-malloc' option can be used to either enable or
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
422 disable use of the system malloc. Generally, it's best to go with the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
423 default configuration for your system. Note that on many systems
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
424 using the system malloc disables the use of the relocating allocator.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
425
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
426 The `--with-debug-malloc' option can be used to link a special
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
427 debugging version of malloc. Debug Malloc is not included with XEmacs
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
428 and is intended for use only by the developers. It may be obtained
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
429 from <URL:http://www.letters.com/dmalloc/>.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
430
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
431 The `--debug' and `--error-checking' options are primarily useful to
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
432 the developers. `--debug' incorporates code for performing various
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
433 tests, but does not impose a speed penalty. `--error-checking' adds
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
434 additional tests to many of the commonly used macros, and imposes a
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
435 speed penalty. Using either or both of these options can make bug
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
436 reports more useful to the developers.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
437
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
438 The `--verbose' and `--extra-verbose' options are useful only to the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
439 developers. `--verbose' causes the results of all configure tests to
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
440 be displayed. `--extra-verbose' displays additional information,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
441 useful for debugging `configure'.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
442
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
443 MAIL LOCKING
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
444 ============
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
445
845
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
446 For most platforms, configure or the src/s file have the preferred
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
447 method for locking mail spool files preconfigured. Otherwise you must
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
448 find out for youself. Do not choose a locking protocol "on the
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
449 objective merits." XEmacs must use the same method as other mail
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
450 utilities on your system, or you WILL lose mail.
845
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
451
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
452 Presently, XEmacs supports lockf, flock, and dot locking. Specify the
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
453 locking method via the --mail-locking=METHOD option to configure.
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
454 Valid values for METHOD are --mail-locking are `lockf', `flock', and
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
455 `dot'.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
456
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
457 RUNNING CONFIGURE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
458 =================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
459
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
460 `configure' doesn't do any compilation or installation itself. It
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
461 just creates the files that influence those things: `./src/config.h',
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
462 and all the Makefiles in the build tree.
104
cf808b4c4290 Import from CVS: tag r20-1b4
cvs
parents: 70
diff changeset
463
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
464 When it is done, `configure' prints a description of what it did and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
465 creates a shell script `config.status' which, when run, recreates the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
466 same configuration. If `configure' exits with an error after
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
467 disturbing the status quo, it removes `config.status'. If `configure'
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
468 doesn't work as expected, the file `config.log' contains details of
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
469 the tests run and their results.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
470
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
471 AUXILIARY PATHS
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
472 ===============
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
473
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
474 Look at `./lisp/paths.el'; if some of those values are not right for
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
475 your system, set up the file `./lisp/site-init.el' with XEmacs Lisp
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
476 code to override them; it is not a good idea to edit paths.el itself.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
477 YOU MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES, rather than
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
478 `defvar', as used by `./lisp/paths.el'. For example,
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
479
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
480 (setq news-inews-program "/usr/bin/inews")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
481
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
482 is how you would override the default value of the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
483 news-inews-program (which is "/usr/local/inews").
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
484
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
485 Before you override a variable this way, *look at the value* that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
486 variable gets by default! Make sure you know what kind of value the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
487 variable should have. If you don't pay attention to what you are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
488 doing, you'll make a mistake.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
489
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
490 Things may malfunction if the variable `directory-abbrev-alist' is not
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
491 set up to translate "temporary" automounter mount points into the
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
492 canonical form. XEmacs tries to detect how your automounter is
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
493 configured. If you have an unusual automounter configuration that
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
494 XEmacs cannot detect, you may need to change the value of
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
495 `directory-abbrev-alist'.
371
cc15677e0335 Import from CVS: tag r21-2b1
cvs
parents: 367
diff changeset
496
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
497 SITE-SPECIFIC STARTUP CODE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
498 ==========================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
499
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
500 Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs Lisp
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
501 code you want XEmacs to load before it is dumped out. Use
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
502 site-load.el for additional libraries if you arrange for their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
503 documentation strings to be in the lib-src/DOC file (see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
504 src/Makefile.in.in if you wish to figure out how to do that). For all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
505 else, use site-init.el.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
506
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
507 Note that, on some systems, the code you place in site-init.el must
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
508 not use expand-file-name or any other function which may look
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
509 something up in the system's password and user information database.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
510 See `./PROBLEMS' for more details on which systems this affects.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
511
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
512 The `site-*.el' files are nonexistent in the distribution. You do not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
513 need to create them if you have nothing to put in them.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
514
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
515 TERMCAP CONFIGURATION
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
516 =====================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
517
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
518 Refer to the file `./etc/TERMS' for information on fields you may
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
519 wish to add to various termcap entries. The files `./etc/termcap.ucb'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
520 and `./etc/termcap.dat' may already contain appropriately-modified
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
521 entries.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
522
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
523 RUNNING MAKE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
524 ============
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
525
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
526 Run `make' in the top directory of the XEmacs distribution to finish
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
527 building XEmacs in the standard way. The final executable file is
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
528 named `src/xemacs'. You can execute this file in place without
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
529 copying it, if you wish; then it automatically uses the sibling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
530 directories ../lisp, ../lib-src, ../info.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
531
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
532 Or you can install the executable and the other XEmacs into their
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
533 permanent locations, with `make install'. By default, XEmacs's files
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
534 are installed in the following directories:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
535
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
536 `/usr/local/bin' holds the executable programs users normally run -
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
537 `xemacs', `etags', `ctags', `b2m', `emacsclient', `ellcc',
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
538 `gnuclient', `gnudoit', `gnuattach', and `rcs-checkin'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
539
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
540 `/usr/local/lib/xemacs-VERSION/lisp' holds the Emacs Lisp libraries;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
541 `VERSION' stands for the number of the XEmacs version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
542 you are installing, like `18.59' or `19.14'. Since
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
543 the lisp libraries change from one version of XEmacs to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
544 another, including the version number in the path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
545 allows you to have several versions of XEmacs installed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
546 at the same time; this means that you don't have to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
547 make XEmacs unavailable while installing a new version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
548
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
549 XEmacs searches for its lisp files in these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
550 directories, and then in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
551 `/usr/local/lib/xemacs/site-lisp/*'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
552
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
553 `/usr/local/lib/xemacs-VERSION/etc' holds the XEmacs tutorial, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
554 `yow' database, and other architecture-independent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
555 files XEmacs might need while running. VERSION is as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
556 specified for `.../lisp'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
557
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
558 `/usr/local/lib/xemacs/lock' contains files indicating who is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
559 editing what, so XEmacs can detect editing clashes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
560 between users.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
561
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
562 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME' contains executable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
563 programs used by XEmacs that users are not expected to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
564 run themselves, and the DOC file. `VERSION' is the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
565 number of the XEmacs version you are installing, and
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
566 `CONFIGURATION-NAME' is the host type of your system.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
567 Since these files are specific to the version of
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
568 XEmacs, operating system, and architecture in use,
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
569 including the configuration name in the path allows
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
570 you to have several versions of XEmacs for any mix of
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
571 machines and operating systems installed at the same
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
572 time; this is useful for sites at which different
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
573 kinds of machines share the file system XEmacs is
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
574 installed on.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
575
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
576 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules' holds the Emacs
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
577 dynamically loadable modules. These are special programs
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
578 typically written in C that can be loaded in much the same
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
579 way that Lisp packages are. Not all systems support
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
580 dynamic modules, so do not be alarmed if this directory
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
581 does not exist or is empty.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
582
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
583 XEmacs searches for modules in this directory, or any
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
584 sub-directory of it, and then in
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
585 `/usr/local/lib/xemacs/site-modules/*'.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
586
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
587 `/usr/local/lib/xemacs-VERSION/info' holds the on-line documentation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
588 for XEmacs, known as "info files".
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
589
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
590 `/usr/local/man/man1' holds the man pages for the programs installed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
591 in `/usr/local/bin'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
592
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
593 If these directories are not what you want, you can specify where to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
594 install XEmacs's libraries and data files or where XEmacs should search
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
595 for its lisp files by giving values for `make' variables as part of
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
596 the command.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
597
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
598 You can change where the build process installs XEmacs and its data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
599 files by specifying values for `make' variables as part of the `make'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
600 command line. For example, if you type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
601
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
602 make install bindir=/usr/local/gnubin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
603
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
604 the `bindir=/usr/local/gnubin' argument indicates that the XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
605 executable files should go in `/usr/local/gnubin', not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
606 `/usr/local/bin'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
607
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
608 Here is a complete list of the variables you may want to set.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
609
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
610 `bindir' indicates where to put executable programs that users can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
611 run. This defaults to /usr/local/bin.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
612
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
613 `datadir' indicates where to put the architecture-independent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
614 read-only data files that XEmacs refers to while it runs; it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
615 defaults to /usr/local/lib. We create the following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
616 subdirectories under `datadir':
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
617 - `xemacs-VERSION/lisp', containing the XEmacs lisp libraries, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
618
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
619 - `xemacs-VERSION/etc', containing the XEmacs tutorial and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
620 `yow' database.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
621 `VERSION' is the number of the XEmacs version you are installing,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
622 like `18.59' or `19.14'. Since these files vary from one version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
623 of XEmacs to another, including the version number in the path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
624 allows you to have several versions of XEmacs installed at the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
625 same time; this means that you don't have to make XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
626 unavailable while installing a new version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
627
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
628 `statedir' indicates where to put architecture-independent data files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
629 that XEmacs modifies while it runs; it defaults to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
630 /usr/local/lib as well. We create the following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
631 subdirectories under `statedir':
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
632 - `xemacs/lock', containing files indicating who is editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
633 what, so XEmacs can detect editing clashes between
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
634 users.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
635
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
636 `libdir' indicates where to put architecture-specific data files that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
637 XEmacs refers to as it runs; it too defaults to `/usr/local/lib'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
638 We create the following subdirectories under `libdir':
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
639 - `xemacs-VERSION/CONFIGURATION-NAME', containing executable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
640 programs used by XEmacs that users are not expected to run
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
641 themselves, and the DOC file.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
642 `VERSION' is the number of the XEmacs version you are installing,
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
643 and `CONFIGURATION-NAME' is the host type of your system.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
644 Since these files are specific to the version of XEmacs,
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
645 operating system, and architecture in use, including the
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
646 configuration name in the path allows you to have several
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
647 versions of XEmacs for any mix of machines and operating
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
648 systems installed at the same time; this is useful for sites
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
649 at which different kinds of machines share the file system
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
650 XEmacs is installed on.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
651
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
652 `infodir' indicates where to put the info files distributed with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
653 XEmacs; it defaults to `/usr/local/lib/xemacs-VERSION/info'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
654
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
655 `mandir' indicates where to put the man pages for XEmacs and its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
656 utilities (like `etags'); it defaults to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
657 `/usr/local/man/man1'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
658
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
659 `prefix' doesn't give a path for any specific part of XEmacs; instead,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
660 its value is used to determine the defaults for all the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
661 architecture-independent path variables - `datadir',
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
662 `statedir', `infodir', and `mandir'. Its default value is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
663 `/usr/local'; the other variables add on `lib' or `man' to it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
664 by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
665
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
666 For example, suppose your site generally places GNU software
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
667 under `/usr/users/software/gnusoft' instead of `/usr/local'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
668 By including
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
669 `prefix=/usr/users/software/gnusoft'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
670 in the arguments to `make', you can instruct the build process
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
671 to place all of the XEmacs data files in the appropriate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
672 directories under that path.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
673
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
674 `exec_prefix' serves the same purpose as `prefix', but instead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
675 determines the default values for the architecture-dependent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
676 path variables - `bindir' and `libdir'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
677
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
678 The above variables serve analogous purposes in the makefiles for all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
679 GNU software; here are some variables specific to XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
680
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
681 `lispdir' indicates where XEmacs installs and expects its lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
682 libraries. Its default value, based on `datadir' (see above),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
683 is `/usr/local/lib/xemacs-VERSION/lisp' (where `VERSION' is as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
684 described above).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
685
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
686 `sitelispdir' indicates where XEmacs should search for lisp libraries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
687 specific to your site. XEmacs checks them in order before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
688 checking `lispdir'. Its default value, based on `datadir'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
689 (see above), is `/usr/local/lib/xemacs/site-lisp'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
690
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
691 `etcdir' indicates where XEmacs should install and expect the rest of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
692 its architecture-independent data, like the tutorial and yow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
693 database. Its default value, based on `datadir'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
694 (see above), is `/usr/local/lib/xemacs-VERSION/etc' (where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
695 `VERSION' is as described above).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
696
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
697 `lockdir' indicates the directory where XEmacs keeps track of its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
698 locking information. Its default value, based on `statedir'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
699 (see above), is `/usr/local/lib/xemacs/lock'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
700
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
701 `archlibdir' indicates where XEmacs installs and expects the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
702 executable files and other architecture-dependent data it uses
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
703 while running. Its default value, based on `libdir' (see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
704 above), is `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
705 (where VERSION and CONFIGURATION-NAME are as described above).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
706
420
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
707 `docdir' indicates where to put Lisp documentation strings that XEmacs
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
708 refers to as it runs. It defaults to the value of `archlibdir'
420
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
709 (see above).
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
710
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
711 `moduledir' indicates where XEmacs installs and expects to find
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
712 any dynamic modules. Its default value, based on
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
713 `archlibdir' (see above) is
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
714 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules'
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
715 (where VERSION and CONFIGURATION-NAME are as described above).
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
716 By their very nature, dynamic loadable modules are architecture-
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
717 dependent, and care should be taken not to set this directory
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
718 to a system- or architecture-independent directory.
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
719
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
720 Remember that you must specify any variable values you need each time
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
721 you run `make' in the top directory. If you run `make' once to build
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
722 xemacs, test it, and then run `make' again to install the files, you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
723 must provide the same variable settings each time. To make the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
724 settings persist, you can edit them into the `Makefile' in the top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
725 directory, but be aware that running the `configure' program erases
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
726 `Makefile' and rebuilds it from `Makefile.in'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
727
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
728 The top-level Makefile stores the variable settings it used in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
729 Makefiles for the subdirectories, so you don't have to specify them
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
730 when running make in the subdirectories.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
731
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
732 Using GNU Make allows for simultaneous builds with and without the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
733 --srcdir option.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
734
1283
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
735 STRIPPING BINARIES
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
736 ==================
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
737
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
738 This saves nothing but a small (by modern standards) amount of disk
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
739 space; the symbol table is not loaded into memory at execution time.
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
740 If you do encounter a crash or other serious bug, the first thing the
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
741 developers will do is ask you to build an XEmacs with a full symbol
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
742 table, anyway. Don't strip the XEmacs binary.
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
743
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
744 MAIL-LOCKING POST-INSTALLATION
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
745 ==============================
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
746
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
747 If your system uses dot-locking to interlock access to mailer inbox
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
748 files, then you might need to make the movemail program setuid or
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
749 setgid to enable it to write the lock files. We believe this is safe.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
750 The setuid/setgid bits need not be set on any other XEmacs-related
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
751 executables.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
752
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
753 CLEANING UP
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
754 ==========
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
755
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
756 You are done with the hard part! You can remove executables and
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
757 object files from the build directory by typing `make clean'. To also
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
758 remove the files that `configure' created (so you can compile XEmacs
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
759 for a different configuration), type `make distclean'.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
760
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
761 READ README.packages
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
762 ====================
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
763
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
764 Do it!
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
765
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
766 PROBLEMS
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
767 ========
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 392
diff changeset
768
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
769 The most common problem is that you forgot to read and follow the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
770 directions in README.packages. You can not have a normal XEmacs
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
771 without downloading some additional packages.
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
772
1036
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 845
diff changeset
773 See the file PROBLEMS in this directory for a list of various problems
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 845
diff changeset
774 sometimes encountered, and what to do about them. PROBLEMS is also
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 845
diff changeset
775 the place where platform-specific build notes can be found.