annotate INSTALL @ 665:fdefd0186b75

[xemacs-hg @ 2001-09-20 06:28:42 by ben] The great integral types renaming. The purpose of this is to rationalize the names used for various integral types, so that they match their intended uses and follow consist conventions, and eliminate types that were not semantically different from each other. The conventions are: -- All integral types that measure quantities of anything are signed. Some people disagree vociferously with this, but their arguments are mostly theoretical, and are vastly outweighed by the practical headaches of mixing signed and unsigned values, and more importantly by the far increased likelihood of inadvertent bugs: Because of the broken "viral" nature of unsigned quantities in C (operations involving mixed signed/unsigned are done unsigned, when exactly the opposite is nearly always wanted), even a single error in declaring a quantity unsigned that should be signed, or even the even more subtle error of comparing signed and unsigned values and forgetting the necessary cast, can be catastrophic, as comparisons will yield wrong results. -Wsign-compare is turned on specifically to catch this, but this tends to result in a great number of warnings when mixing signed and unsigned, and the casts are annoying. More has been written on this elsewhere. -- All such quantity types just mentioned boil down to EMACS_INT, which is 32 bits on 32-bit machines and 64 bits on 64-bit machines. This is guaranteed to be the same size as Lisp objects of type `int', and (as far as I can tell) of size_t (unsigned!) and ssize_t. The only type below that is not an EMACS_INT is Hashcode, which is an unsigned value of the same size as EMACS_INT. -- Type names should be relatively short (no more than 10 characters or so), with the first letter capitalized and no underscores if they can at all be avoided. -- "count" == a zero-based measurement of some quantity. Includes sizes, offsets, and indexes. -- "bpos" == a one-based measurement of a position in a buffer. "Charbpos" and "Bytebpos" count text in the buffer, rather than bytes in memory; thus Bytebpos does not directly correspond to the memory representation. Use "Membpos" for this. -- "Char" refers to internal-format characters, not to the C type "char", which is really a byte. -- For the actual name changes, see the script below. I ran the following script to do the conversion. (NOTE: This script is idempotent. You can safely run it multiple times and it will not screw up previous results -- in fact, it will do nothing if nothing has changed. Thus, it can be run repeatedly as necessary to handle patches coming in from old workspaces, or old branches.) There are two tags, just before and just after the change: `pre-integral-type-rename' and `post-integral-type-rename'. When merging code from the main trunk into a branch, the best thing to do is first merge up to `pre-integral-type-rename', then apply the script and associated changes, then merge from `post-integral-type-change' to the present. (Alternatively, just do the merging in one operation; but you may then have a lot of conflicts needing to be resolved by hand.) Script `fixtypes.sh' follows: ----------------------------------- cut ------------------------------------ files="*.[ch] s/*.h m/*.h config.h.in ../configure.in Makefile.in.in ../lib-src/*.[ch] ../lwlib/*.[ch]" gr Memory_Count Bytecount $files gr Lstream_Data_Count Bytecount $files gr Element_Count Elemcount $files gr Hash_Code Hashcode $files gr extcount bytecount $files gr bufpos charbpos $files gr bytind bytebpos $files gr memind membpos $files gr bufbyte intbyte $files gr Extcount Bytecount $files gr Bufpos Charbpos $files gr Bytind Bytebpos $files gr Memind Membpos $files gr Bufbyte Intbyte $files gr EXTCOUNT BYTECOUNT $files gr BUFPOS CHARBPOS $files gr BYTIND BYTEBPOS $files gr MEMIND MEMBPOS $files gr BUFBYTE INTBYTE $files gr MEMORY_COUNT BYTECOUNT $files gr LSTREAM_DATA_COUNT BYTECOUNT $files gr ELEMENT_COUNT ELEMCOUNT $files gr HASH_CODE HASHCODE $files ----------------------------------- cut ------------------------------------ `fixtypes.sh' is a Bourne-shell script; it uses 'gr': ----------------------------------- cut ------------------------------------ #!/bin/sh # Usage is like this: # gr FROM TO FILES ... # globally replace FROM with TO in FILES. FROM and TO are regular expressions. # backup files are stored in the `backup' directory. from="$1" to="$2" shift 2 echo ${1+"$@"} | xargs global-replace "s/$from/$to/g" ----------------------------------- cut ------------------------------------ `gr' in turn uses a Perl script to do its real work, `global-replace', which follows: ----------------------------------- cut ------------------------------------ : #-*- Perl -*- ### global-modify --- modify the contents of a file by a Perl expression ## Copyright (C) 1999 Martin Buchholz. ## Copyright (C) 2001 Ben Wing. ## Authors: Martin Buchholz <martin@xemacs.org>, Ben Wing <ben@xemacs.org> ## Maintainer: Ben Wing <ben@xemacs.org> ## Current Version: 1.0, May 5, 2001 # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with XEmacs; see the file COPYING. If not, write to the Free # Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. eval 'exec perl -w -S $0 ${1+"$@"}' if 0; use strict; use FileHandle; use Carp; use Getopt::Long; use File::Basename; (my $myName = $0) =~ s@.*/@@; my $usage=" Usage: $myName [--help] [--backup-dir=DIR] [--line-mode] [--hunk-mode] PERLEXPR FILE ... Globally modify a file, either line by line or in one big hunk. Typical usage is like this: [with GNU print, GNU xargs: guaranteed to handle spaces, quotes, etc. in file names] find . -name '*.[ch]' -print0 | xargs -0 $0 's/\bCONST\b/const/g'\n [with non-GNU print, xargs] find . -name '*.[ch]' -print | xargs $0 's/\bCONST\b/const/g'\n The file is read in, either line by line (with --line-mode specified) or in one big hunk (with --hunk-mode specified; it's the default), and the Perl expression is then evalled with \$_ set to the line or hunk of text, including the terminating newline if there is one. It should destructively modify the value there, storing the changed result in \$_. Files in which any modifications are made are backed up to the directory specified using --backup-dir, or to `backup' by default. To disable this, use --backup-dir= with no argument. Hunk mode is the default because it is MUCH MUCH faster than line-by-line. Use line-by-line only when it matters, e.g. you want to do a replacement only once per line (the default without the `g' argument). Conversely, when using hunk mode, *ALWAYS* use `g'; otherwise, you will only make one replacement in the entire file! "; my %options = (); $Getopt::Long::ignorecase = 0; &GetOptions ( \%options, 'help', 'backup-dir=s', 'line-mode', 'hunk-mode', ); die $usage if $options{"help"} or @ARGV <= 1; my $code = shift; die $usage if grep (-d || ! -w, @ARGV); sub SafeOpen { open ((my $fh = new FileHandle), $_[0]); confess "Can't open $_[0]: $!" if ! defined $fh; return $fh; } sub SafeClose { close $_[0] or confess "Can't close $_[0]: $!"; } sub FileContents { my $fh = SafeOpen ("< $_[0]"); my $olddollarslash = $/; local $/ = undef; my $contents = <$fh>; $/ = $olddollarslash; return $contents; } sub WriteStringToFile { my $fh = SafeOpen ("> $_[0]"); binmode $fh; print $fh $_[1] or confess "$_[0]: $!\n"; SafeClose $fh; } foreach my $file (@ARGV) { my $changed_p = 0; my $new_contents = ""; if ($options{"line-mode"}) { my $fh = SafeOpen $file; while (<$fh>) { my $save_line = $_; eval $code; $changed_p = 1 if $save_line ne $_; $new_contents .= $_; } } else { my $orig_contents = $_ = FileContents $file; eval $code; if ($_ ne $orig_contents) { $changed_p = 1; $new_contents = $_; } } if ($changed_p) { my $backdir = $options{"backup-dir"}; $backdir = "backup" if !defined ($backdir); if ($backdir) { my ($name, $path, $suffix) = fileparse ($file, ""); my $backfulldir = $path . $backdir; my $backfile = "$backfulldir/$name"; mkdir $backfulldir, 0755 unless -d $backfulldir; print "modifying $file (original saved in $backfile)\n"; rename $file, $backfile; } WriteStringToFile ($file, $new_contents); } } ----------------------------------- cut ------------------------------------ In addition to those programs, I needed to fix up a few other things, particularly relating to the duplicate definitions of types, now that some types merged with others. Specifically: 1. in lisp.h, removed duplicate declarations of Bytecount. The changed code should now look like this: (In each code snippet below, the first and last lines are the same as the original, as are all lines outside of those lines. That allows you to locate the section to be replaced, and replace the stuff in that section, verifying that there isn't anything new added that would need to be kept.) --------------------------------- snip ------------------------------------- /* Counts of bytes or chars */ typedef EMACS_INT Bytecount; typedef EMACS_INT Charcount; /* Counts of elements */ typedef EMACS_INT Elemcount; /* Hash codes */ typedef unsigned long Hashcode; /* ------------------------ dynamic arrays ------------------- */ --------------------------------- snip ------------------------------------- 2. in lstream.h, removed duplicate declaration of Bytecount. Rewrote the comment about this type. The changed code should now look like this: --------------------------------- snip ------------------------------------- #endif /* The have been some arguments over the what the type should be that specifies a count of bytes in a data block to be written out or read in, using Lstream_read(), Lstream_write(), and related functions. Originally it was long, which worked fine; Martin "corrected" these to size_t and ssize_t on the grounds that this is theoretically cleaner and is in keeping with the C standards. Unfortunately, this practice is horribly error-prone due to design flaws in the way that mixed signed/unsigned arithmetic happens. In fact, by doing this change, Martin introduced a subtle but fatal error that caused the operation of sending large mail messages to the SMTP server under Windows to fail. By putting all values back to be signed, avoiding any signed/unsigned mixing, the bug immediately went away. The type then in use was Lstream_Data_Count, so that it be reverted cleanly if a vote came to that. Now it is Bytecount. Some earlier comments about why the type must be signed: This MUST BE SIGNED, since it also is used in functions that return the number of bytes actually read to or written from in an operation, and these functions can return -1 to signal error. Note that the standard Unix read() and write() functions define the count going in as a size_t, which is UNSIGNED, and the count going out as an ssize_t, which is SIGNED. This is a horrible design flaw. Not only is it highly likely to lead to logic errors when a -1 gets interpreted as a large positive number, but operations are bound to fail in all sorts of horrible ways when a number in the upper-half of the size_t range is passed in -- this number is unrepresentable as an ssize_t, so code that checks to see how many bytes are actually written (which is mandatory if you are dealing with certain types of devices) will get completely screwed up. --ben */ typedef enum lstream_buffering --------------------------------- snip ------------------------------------- 3. in dumper.c, there are four places, all inside of switch() statements, where XD_BYTECOUNT appears twice as a case tag. In each case, the two case blocks contain identical code, and you should *REMOVE THE SECOND* and leave the first.
author ben
date Thu, 20 Sep 2001 06:31:11 +0000
parents fd49b88b9f06
children 77624ff6e2da
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
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 Copyright (c) 1994, 1995, 1996 Board of Trustees, University of Illinois
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
3 Copyright (c) 1994-1999 Free Software Foundation, Inc.
412
697ef44129c6 Import from CVS: tag r21-2-14
cvs
parents: 410
diff changeset
4
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 Permission is granted to anyone to make or distribute verbatim copies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 of this document as received, in any medium, provided that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 copyright notice and permission notice are preserved,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 and that the distributor grants the recipient permission
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 for further redistribution as permitted by this notice.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 Permission is granted to distribute modified versions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 of this document, or of portions of it,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 under the above conditions, provided also that they
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 carry prominent notices stating who last changed them,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 and that any new or changed statements about the activities
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 of the Free Software Foundation are approved by the Foundation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
19 BUILDING AND INSTALLATION FOR UNIX AND CYGWIN
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
20
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
21 (for Microsoft Windows, see nt/README also.)
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 PREREQUISITES
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
24 =============
404
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 400
diff changeset
25
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
26 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
27 program whose pure code is 900k bytes and whose data area is at least
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
28 400k and can reach 8Mb or more. Note that a typical XEmacs build is
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
29 much bigger. If the swapping space is insufficient, you will get an
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
30 error in the command `temacs -batch -l loadup dump', found in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
31 `./src/Makefile.in.in', or possibly when running the final dumped
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
32 XEmacs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
34 Verify that your users have a high enough stack limit. On some systems
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
35 such as OpenBSD and OSF/Tru64 the default is 2MB which is too low. See
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
36 'PROBLEMS' for details.
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
37
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
38 Building XEmacs requires about 100 Mb of disk space (including the
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
39 XEmacs sources). Once installed, XEmacs occupies between 20 and 100 Mb
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
40 in the file system where it is installed; this includes the executable files,
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
41 Lisp libraries, miscellaneous data files, and on-line documentation. The
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
42 exact amount depends greatly on the number of extra lisp packages that are
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
43 installed
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
44
255
084402c475ba Import from CVS: tag r20-5b26
cvs
parents: 253
diff changeset
45 XEmacs requires an ANSI C compiler, such as GCC. If you wish to build
084402c475ba Import from CVS: tag r20-5b26
cvs
parents: 253
diff changeset
46 the documentation yourself, you will need at least version 1.68 of
084402c475ba Import from CVS: tag r20-5b26
cvs
parents: 253
diff changeset
47 makeinfo (GNU texinfo-3.11).
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
48
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
49 ADD-ON LIBRARIES
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
50 ================
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
51
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
52 Decide on what other software packages you would like to use with
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
53 XEmacs, but are not yet available on your system. On some systems,
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
54 Motif and CDE are optional additions. On Solaris, the SUNWaudmo
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
55 package enables native sound support. There are also a number of free
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
56 software packages that XEmacs can use. If these are not yet available
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
57 on your system, obtain, build and install those external packages
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
58 before building XEmacs. The packages XEmacs can use are:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
60 Xaw3d, XPM, JPEG, compface, PNG, zlib, GNU DBM, Berkeley DB, socks,
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
61 term, NAS, Canna, Kinput2, SJ3, Wnn.
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
62
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
63 You can get (most of) them from the XEmacs ftp site at
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
64 ftp://ftp.xemacs.org/pub/xemacs/aux
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
66 If you want users on other systems to be able to use the XEmacs you
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
67 have built, try to build those packages so that the generated
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
68 libraries are statically linked.
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
69
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
70 Use the --site-includes and --site-libraries options when building
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
71 XEmacs to allow configure to find the external software packages.
201
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
72 If you link with dynamic (``.so'') external package libraries, which
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
73 is not recommended, you will also need to add the library directories
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
74 to the --site-runtime-libraries option. For your convenience these can
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
75 be set together by using the --with-site-prefix command. This will set
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
76 these variables as needed assuming your libraries are organised as a
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
77 typical /usr tree.
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 392
diff changeset
78
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
79 PACKAGE SYSTEM
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
80 ==============
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
81
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
82 The file README.packages contain information vital to have a fully
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
83 working XEmacs. This information was not included in this file only
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
84 because it is too large for this terse INSTALL. Please read
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
85 README.packages now!
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
86
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
87 CONFIGURATION OPTIONS
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
88 =====================
269
b2472a1930f2 Import from CVS: tag r20-5b33
cvs
parents: 255
diff changeset
89
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
90 In the top level directory of the XEmacs distribution, run the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
91 program `configure' as follows:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
93 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ...
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
95 Almost always, you should let `configure' (actually the shell script
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
96 `config.guess') guess your host type, by omitting the
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
97 CONFIGURATION-NAME argument. If you like to experiment, specify a
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
98 configuration name in the form MACHINE-VENDOR-OPSYS, for example:
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
99
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
100 sparc-sun-solaris2.6
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
101
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
102 See config.guess and configure.in for valid values for MACHINE,
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
103 VENDOR, and OPSYS. Also check `./etc/MACHINES' for advice on building
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
104 on particular machines.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
106 If you don't want X support, specify `--without-x'. If you omit this
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
107 option, `configure' will try to autodetect whether your system has X,
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
108 and arrange to use it if present.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110 The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111 process where the compiler should look for the include files and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 object libraries used with the X Window System. Normally, `configure'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113 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
114 Window System files installed in unusual places.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 The `--site-includes=DIR' and `--site-libraries=DIR' options allow you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117 to specify additional places the compiler should look for include
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118 files and object libraries. You may specify multiple DIR's by
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
119 enclosing the list in quotes. All the external packages you want to
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
120 use with XEmacs (e.g. xpm, wnn, ...) described later should have their
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
121 include and library directories defined using these options.
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
122
201
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
123 The `--site-runtime-libraries=DIR' option specifies directories to
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
124 search for shared libraries at run time. This may be necessary if you
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
125 link with dynamic libraries that are installed in non-standard
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
126 directories, or if you expect some of the libraries used to build
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
127 XEmacs to be in a different directory at run time than at build time.
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
128 Usually this will add a `-R' to each directory specified and use that
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
129 when linking XEmacs. If you use this option, you must specify ALL of
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
130 the directories containing shared libraries at run time, including
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
131 system directories.
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
132
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
133 Rationale: Some people think that directories in --site-libraries
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
134 should be automatically used to update --site-runtime-libraries.
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
135 Here's a real-life scenario that explains why this is not done: You
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
136 build binaries for your company using static libs in
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
137 /net/toy/hack/lib. XEmacs adds /net/toy/hack/lib to the runpath of
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
138 the executable you've built. Since there are only static libs there,
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
139 the system runtime loader will look in this dir, and ignore it,
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
140 causing only a .01 second delay in starting XEmacs. You leave the
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
141 company for a job at a small Silicon Valley startup. Time passes.
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
142 The next guy who inherits your machine objects to working on a machine
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
143 named `toy', and gets the sysadmin to rename the machine `godzilla'.
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
144 The SA forgets to remove the old entry for `toy' from the hosts file.
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
145 Now the system loader will still try to access /net/toy/, and the
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
146 automounter will hang trying to access /net/toy. XEmacs suddenly
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
147 takes 30 seconds longer to start up, no one can figure out why, and
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
148 everyone at your old company curses your name, thinking that you've
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
149 put a time bomb into XEmacs. And they're right!
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 The `--with-gcc' option specifies that the build process should
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
152 compile XEmacs using GCC. The `--compiler' option allows you to
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
153 specify some other compiler to be used to compile XEmacs. If neither
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
154 option is specified, the environment variable CC is used instead.
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
155 Otherwise the compiler will then default to 'cc'.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 The `--cflags' option specifies the CFLAGS the build process should
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
158 use when compiling XEmacs. Otherwise the value of the environment
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
159 variable CFLAGS is consulted. If that is also undefined, CFLAGS
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
160 defaults to "-g -O" for gcc and "-g" for all other compilers.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161
594
fd49b88b9f06 [xemacs-hg @ 2001-05-31 12:47:21 by ben]
ben
parents: 442
diff changeset
162 The xemacs executable can be built using a C++ compiler. However,
fd49b88b9f06 [xemacs-hg @ 2001-05-31 12:47:21 by ben]
ben
parents: 442
diff changeset
163 because configure and programs in lib-src require a C compiler, two
fd49b88b9f06 [xemacs-hg @ 2001-05-31 12:47:21 by ben]
ben
parents: 442
diff changeset
164 compilers must be used at different times during the build process.
fd49b88b9f06 [xemacs-hg @ 2001-05-31 12:47:21 by ben]
ben
parents: 442
diff changeset
165 Use something like `configure --compiler=gcc --xemacs-compiler=g++'.
fd49b88b9f06 [xemacs-hg @ 2001-05-31 12:47:21 by ben]
ben
parents: 442
diff changeset
166 This option is intended for use by the maintainers.
fd49b88b9f06 [xemacs-hg @ 2001-05-31 12:47:21 by ben]
ben
parents: 442
diff changeset
167
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 The `--dynamic' option specifies that configure should try to link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169 emacs dynamically rather than statically.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 You can build XEmacs for several different machine types from a single
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 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
173 supports the `VPATH' variable, such as GNU `make'. Create separate
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 build directories for the different configuration types, and in each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 one, run the XEmacs `configure' script. `configure' looks for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 Emacs source code in the directory that `configure' is in.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178 The `--prefix=PREFIXDIR' option specifies where the installation process
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179 should put XEmacs and its data files. This defaults to `/usr/local'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 - XEmacs (and the other utilities users run) go in PREFIXDIR/bin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 (unless the `--exec-prefix' option says otherwise).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 - The architecture-independent files go in PREFIXDIR/lib/xemacs-VERSION
276
6330739388db Import from CVS: tag r21-0b36
cvs
parents: 274
diff changeset
183 (where VERSION is the version number of XEmacs, like `21.0').
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184 - The architecture-dependent files go in
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
185 PREFIXDIR/lib/xemacs-VERSION/CONFIGURATION-NAME
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
186 (where CONFIGURATION-NAME is the host type, like mips-dec-ultrix4.2),
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187 unless the `--exec-prefix' option says otherwise.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 The `--exec-prefix=EXECDIR' option allows you to specify a separate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190 portion of the directory tree for installing architecture-specific
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191 files, like executables and utility programs. If specified,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 - XEmacs (and the other utilities users run) go in EXECDIR/bin, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193 - The architecture-dependent files go in
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
194 EXECDIR/lib/xemacs-VERSION/CONFIGURATION-NAME.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 EXECDIR/bin should be a directory that is normally in users' PATHs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
197 If you specify --prefix (or any of the other installation directory
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
198 options), they will get compiled into the xemacs executable so it will
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
199 be able to find its various associated file. However, XEmacs has
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
200 quite elaborate logic to find out the locations of these directories
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
201 dynamically. Sometimes, it is desirable *not* to compile these
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
202 directories into the executable so you can move the XEmacs
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
203 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
204 for instance. Therefore, you can specify --without-prefix on the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
205 configure command line to prevent the installation prefix to become
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
206 part of the generated executable; everything else will continue to
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
207 work as usual.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209 The `--with-menubars=TYPE' option allows you to specify which X
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 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
211 `lucid', `motif' and `no'. The default is `lucid' which is a
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 Motif-lookalike menubar. We highly recommend its usage over the real
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 Motif menubar. (In fact, the Motif menubar is currently broken.) If
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
214 `no' is specified then support for menubars will not be compiled in.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 The `--with-scrollbars=TYPE' option allows you to specify which X
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217 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
218 `lucid', `motif', `athena', `athena3d', and `no'. The default is
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
219 `lucid' which is a Motif-lookalike scrollbar. If `no' is specified
104
cf808b4c4290 Import from CVS: tag r20-1b4
cvs
parents: 70
diff changeset
220 then support for scrollbars will not be compiled in.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 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
223 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
224 `athena3d', `motif, and `no. The `lucid' option is accepted and will
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
225 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
226 found the default is `motif'. Otherwise, the default is `athena'. If
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
227 `no' is specified then support for dialog boxes will not be compiled
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 in.
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 `--with-toolbars' option allows you to enable or disable toolbar
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 support. The default is `yes' as long as support for a windowing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 system is included.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
234 The `--with-xpm' option specifies that XEmacs should support X11
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 Pixmaps. `configure' will attempt to detect if you have the Xpm
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236 libraries and define `--with-xpm' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 The `--with-xface' option specifies that XEmacs should support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239 X-Faces. `configure' will attempt to detect if you have the compface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240 library and define `--with-xface' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242 The `--with-database' option specifies that XEmacs should be built
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 with additional database support. The valid options are `no' or a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 comma-separated list of one or more of `dbm', `gnudbm' or `berkdb'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245 `configure' will attempt to detect the necessary libraries and header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246 files and define `--with-database' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 The `--with-socks' option specifies that XEmacs should be built with
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
249 SOCKS support. This requires the libsocks library.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
251 The `--with-tooltalk' option specifies that XEmacs should be built
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
252 with ToolTalk support for interconnecting with other applications.
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
253 ToolTalk is not yet supported on all architectures. If you use this
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
254 option, you should have the tooltalk package (see etc/PACKAGES)
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
255 installed prior to building XEmacs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257 The `--with-sparcworks' option specifies that XEmacs should be built
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
258 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
259 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
260 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
261 etc/PACKAGES) installed prior to building XEmacs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
263 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
264 drop support. `configure' will attempt to detect this option and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265 define `--with-cde' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
267 The `--with-offix' option allows you to enable or disable OffiX drag
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
268 and drop support. This requires no external library support, so if
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
269 X11 support is available, then this option defaults to `yes'. OffiX
274
ca9a9ec9c1c1 Import from CVS: tag r21-0b35
cvs
parents: 272
diff changeset
270 support can be explicitly disabled via the `--with-offix=no' option.
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
271
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 The `--external-widget' option specifies that XEmacs should be built
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
273 with support for being used as a widget by other X11 applications.
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
274 This functionality should be considered beta.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
276 The `--without-xmu' option can be used if your vendor doesn't ship
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277 the Xmu library.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 The `--puresize' option can be used to change the amount of purespace
104
cf808b4c4290 Import from CVS: tag r20-1b4
cvs
parents: 70
diff changeset
280 allocated for the dumped XEmacs. As of XEmacs 20.1 usage of this
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
281 parameter is deprecated and will be ignored.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283 The `--with-sound=TYPE' option specifies that XEmacs should be built
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284 with sound support. Native (`--with-sound=native') sound support is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285 currently available only on Sun SparcStations, SGI's, HP9000s, and
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
286 systems (such as Linux) with soundcard.h. Network Audio Support (NAS)
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
287 (`--with-sound=nas' or `--with-sound=both') is an extension to X that
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
288 you may or may not have for your system. For NAS, you will probably
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
289 need to provide the paths to the nas include and library directories
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
290 to configure. If `--with-sound' is not specified, `configure' will
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
291 attempt to determine if your configuration supports native sound and
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 define --with-sound for you. If your native sound library is not in a
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
293 standard location you can specify it with the `--native-sound-lib=LIB'
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
294 flag. For Linux, `/dev/audio' is required for SunAudio files and
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
295 `/dev/dsp' is required for raw data and WAVE format files.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 The `--rel-alloc' option can be used to either enable or disable use
151
59463afc5666 Import from CVS: tag r20-3b2
cvs
parents: 149
diff changeset
298 of the relocating allocator. Turning on --rel-alloc will allow XEmacs
59463afc5666 Import from CVS: tag r20-3b2
cvs
parents: 149
diff changeset
299 to return unused memory to the operating system, thereby reducing its
59463afc5666 Import from CVS: tag r20-3b2
cvs
parents: 149
diff changeset
300 memory footprint. However, it may make XEmacs runs more slowly,
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
301 especially if your system's `mmap' implementation is missing or
151
59463afc5666 Import from CVS: tag r20-3b2
cvs
parents: 149
diff changeset
302 inefficient. Generally, it's best to go with the default
59463afc5666 Import from CVS: tag r20-3b2
cvs
parents: 149
diff changeset
303 configuration for your system. You can tweak this based on how you
59463afc5666 Import from CVS: tag r20-3b2
cvs
parents: 149
diff changeset
304 use XEmacs, and the memory and cpu resources available on your system.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
306 The `--with-system-malloc' option can be use to either enable or
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
307 disable use of the system malloc. Generally, it's best to go with the
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
308 default configuration for your system. Note that on many systems
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
309 using the system malloc disables the use of the relocating allocator.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
311 The `--with-debug-malloc' option can be used to link a special debugging
177
6075d714658b Import from CVS: tag r20-3b15
cvs
parents: 153
diff changeset
312 version of malloc. Debug Malloc is not included with XEmacs, is
6075d714658b Import from CVS: tag r20-3b15
cvs
parents: 153
diff changeset
313 intended for use only by the developers and may be obtained from
6075d714658b Import from CVS: tag r20-3b15
cvs
parents: 153
diff changeset
314 <URL:http://www.letters.com/dmalloc/>.
6075d714658b Import from CVS: tag r20-3b15
cvs
parents: 153
diff changeset
315
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316 The `--debug' and `--error-checking' options are intended for use only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
317 by the developers. `--debug' adds code to be compiled in for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
318 performing various tests. `--error-checking' adds additional tests to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319 many of the commonly used macros.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
320
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321 The `--verbose' and `--extra-verbose' options are intended for use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322 only by the developers. `--verbose' causes the results of all
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
323 configure tests to be displayed. `--extra-verbose' displays
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
324 additional information, useful for debugging. Another help for
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
325 determining configure failures is the file `config.log', which
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
326 contains the results of the compile and link tests used by configure.
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
327
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
328 The `--with-mule' option enables (MUlti-Lingual Emacs) support, needed
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
329 to support non-Latin-1 (including Asian) languages. The Mule support
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
330 is not yet as stable or efficient as the `Latin1' support. Enabling
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
331 Mule support requires the mule-base package installed prior to
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
332 building XEmacs. The following options require Mule support:
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
333
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
334 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
335 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
336 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
337 language. The XIM support comes in two flavors: `motif' and `xlib'.
59463afc5666 Import from CVS: tag r20-3b2
cvs
parents: 149
diff changeset
338 The Motif support (the XmIm* functions) is preferred when available.
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
339 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
340 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
341 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
342 X11 must be recompiled with X_LOCALE defined because glibc is lacking
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
343 localization for Japanese. The XIM support defaults to `no' except
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
344 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
345 support in Lesstif (a Free Motif replacement) does not work as of
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
346 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
347 the `locale' package which contains localized Splash screens and
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
348 Menubars.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
349
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
350 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
351 present time, only Japanese and French locales are supported. In
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
352 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
353 installed. The `locale' package does not have to be installed when
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
354 building XEmacs.
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
355
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
356 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
357 method. This is stable code and fairly well tested. In order to use
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
358 it, you will have to have the Canna server installed and running.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
359 Canna versions 3.2pl2 and 3.5b2 are known to work. Version 3.2pl2 is
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
360 considered most stable than version 3.5b2. If Canna is already
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
361 installed, configure will autodetect it, so you never need to
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
362 explicitly use this option unless your Canna libraries are somewhere
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
363 strange. Canna run time support is currently bundled with the
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
364 `mule-base' package so there is nothing additional to install in order
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
365 to use it.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
366
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
367 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
368 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
369 the Free version of WNN. `--with-wnn6' is for compiling against WNN6,
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
370 the commercial version of WNN available from OMRON Corporation. This is
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
371 stable code and fairly well tested. In order to build with this
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
372 option, you will need to have the `egg-its' lisp package already
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
373 installed.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
374
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
375 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
376 `--with-xim', `--with-canna' and `--with-wnn' as your system
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
377 supports.
104
cf808b4c4290 Import from CVS: tag r20-1b4
cvs
parents: 70
diff changeset
378
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
379 MAIL LOCKING
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
380 ============
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
381
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
382 Find out what the preferred method for locking mail spool files is in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
383 your environment. Presently, XEmacs supports lockf, flock, and dot
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
384 locking. Specify the locking method via the --mail-locking=METHOD
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
385 option to configure. Valid values for METHOD are --mail-locking are
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
386 `lockf', `flock', and `dot'.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
387
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
388 RUNNING CONFIGURE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
389 =================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
390
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
391 `configure' doesn't do any compilation or installation itself. It
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
392 just creates the files that influence those things: `./src/config.h',
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
393 and all the Makefile's in the build tree.
104
cf808b4c4290 Import from CVS: tag r20-1b4
cvs
parents: 70
diff changeset
394
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
395 When it is done, `configure' prints a description of what it did and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
396 creates a shell script `config.status' which, when run, recreates the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
397 same configuration. If `configure' exits with an error after
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
398 disturbing the status quo, it removes `config.status'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
399
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
400 AUXILIARY PATHS
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
401 ===============
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
402
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
403 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
404 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
405 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
406 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
407 `defvar', as used by `./lisp/paths.el'. For example,
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
408
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
409 (setq news-inews-program "/usr/bin/inews")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
410
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
411 is how you would override the default value of the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
412 news-inews-program (which is "/usr/local/inews").
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
413
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
414 Before you override a variable this way, *look at the value* that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
415 variable gets by default! Make sure you know what kind of value the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
416 variable should have. If you don't pay attention to what you are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
417 doing, you'll make a mistake.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
418
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
419 Things may malfunction if the variable `directory-abbrev-alist' is not
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
420 set up to translate "temporary" automounter mount points into the
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
421 canonical form. XEmacs tries to detect how your automounter is
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
422 configured. If you have an unusual automounter configuration that
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
423 XEmacs cannot detect, you may need to change the value of
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
424 `directory-abbrev-alist'.
371
cc15677e0335 Import from CVS: tag r21-2b1
cvs
parents: 367
diff changeset
425
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
426 SITE-SPECIFIC STARTUP CODE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
427 ==========================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
428
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
429 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
430 code you want XEmacs to load before it is dumped out. Use
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
431 site-load.el for additional libraries if you arrange for their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
432 documentation strings to be in the lib-src/DOC file (see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
433 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
434 else, use site-init.el.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
435
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
436 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
437 not use expand-file-name or any other function which may look
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
438 something up in the system's password and user information database.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
439 See `./PROBLEMS' for more details on which systems this affects.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
440
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
441 The `site-*.el' files are nonexistent in the distribution. You do not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
442 need to create them if you have nothing to put in them.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
443
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
444 TERMCAP CONFIGURATION
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
445 =====================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
446
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
447 Refer to the file `./etc/TERMS' for information on fields you may
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
448 wish to add to various termcap entries. The files `./etc/termcap.ucb'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
449 and `./etc/termcap.dat' may already contain appropriately-modified
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
450 entries.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
451
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
452 RUNNING MAKE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
453 ============
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
454
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
455 Run `make' in the top directory of the XEmacs distribution to finish
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
456 building XEmacs in the standard way. The final executable file is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
457 named `src/emacs'. You can execute this file "in place" without
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
458 copying it, if you wish; then it automatically uses the sibling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
459 directories ../lisp, ../lib-src, ../info.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
460
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
461 Or you can "install" the executable and the other XEmacs into their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
462 installed locations, with `make install'. By default, XEmacs's files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
463 are installed in the following directories:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
464
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
465 By default, XEmacs installs its files in the following directories:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
466
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
467 `/usr/local/bin' holds the executable programs users normally run -
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
468 `xemacs', `etags', `ctags', `b2m', `emacsclient', `ellcc',
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
469 `gnuclient', `gnudoit', `gnuattach', and `rcs-checkin'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
470
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
471 `/usr/local/lib/xemacs-VERSION/lisp' holds the Emacs Lisp libraries;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
472 `VERSION' stands for the number of the XEmacs version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
473 you are installing, like `18.59' or `19.14'. Since
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
474 the lisp libraries change from one version of XEmacs to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
475 another, including the version number in the path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
476 allows you to have several versions of XEmacs installed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
477 at the same time; this means that you don't have to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
478 make XEmacs unavailable while installing a new version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
479
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
480 XEmacs searches for its lisp files in these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
481 directories, and then in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
482 `/usr/local/lib/xemacs/site-lisp/*'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
483
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
484 `/usr/local/lib/xemacs-VERSION/etc' holds the XEmacs tutorial, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
485 `yow' database, and other architecture-independent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
486 files XEmacs might need while running. VERSION is as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
487 specified for `.../lisp'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
488
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
489 `/usr/local/lib/xemacs/lock' contains files indicating who is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
490 editing what, so XEmacs can detect editing clashes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
491 between users.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
492
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
493 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME' contains executable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
494 programs used by XEmacs that users are not expected to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
495 run themselves, and the DOC file. `VERSION' is the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
496 number of the XEmacs version you are installing, and
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
497 `CONFIGURATION-NAME' is the host type of your system.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
498 Since these files are specific to the version of
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
499 XEmacs, operating system, and architecture in use,
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
500 including the configuration name in the path allows
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
501 you to have several versions of XEmacs for any mix of
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
502 machines and operating systems installed at the same
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
503 time; this is useful for sites at which different
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
504 kinds of machines share the file system XEmacs is
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
505 installed on.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
506
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
507 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules' holds the Emacs
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
508 dynamically loadable modules. These are special programs
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
509 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
510 way that Lisp packages are. Not all systems support
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
511 dynamic modules, so do not be alarmed if this directory
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
512 does not exist or is empty.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
513
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
514 XEmacs searches for modules in this directory, or any
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
515 sub-directory of it, and then in
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
516 `/usr/local/lib/xemacs/site-modules/*'.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
517
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
518 `/usr/local/lib/xemacs-VERSION/info' holds the on-line documentation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
519 for XEmacs, known as "info files".
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
520
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
521 `/usr/local/man/man1' holds the man pages for the programs installed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
522 in `/usr/local/bin'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
523
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
524 If these directories are not what you want, you can specify where to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
525 install XEmacs's libraries and data files or where XEmacs should search
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
526 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
527 the command.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
528
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
529 You can change where the build process installs XEmacs and its data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
530 files by specifying values for `make' variables as part of the `make'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
531 command line. For example, if you type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
532
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
533 make install bindir=/usr/local/gnubin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
534
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
535 the `bindir=/usr/local/gnubin' argument indicates that the XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
536 executable files should go in `/usr/local/gnubin', not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
537 `/usr/local/bin'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
538
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
539 Here is a complete list of the variables you may want to set.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
540
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
541 `bindir' indicates where to put executable programs that users can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
542 run. This defaults to /usr/local/bin.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
543
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
544 `datadir' indicates where to put the architecture-independent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
545 read-only data files that XEmacs refers to while it runs; it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
546 defaults to /usr/local/lib. We create the following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
547 subdirectories under `datadir':
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
548 - `xemacs-VERSION/lisp', containing the XEmacs lisp libraries, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
549
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
550 - `xemacs-VERSION/etc', containing the XEmacs tutorial and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
551 `yow' database.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
552 `VERSION' is the number of the XEmacs version you are installing,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
553 like `18.59' or `19.14'. Since these files vary from one version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
554 of XEmacs to another, including the version number in the path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
555 allows you to have several versions of XEmacs installed at the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
556 same time; this means that you don't have to make XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
557 unavailable while installing a new version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
558
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
559 `statedir' indicates where to put architecture-independent data files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
560 that XEmacs modifies while it runs; it defaults to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
561 /usr/local/lib as well. We create the following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
562 subdirectories under `statedir':
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
563 - `xemacs/lock', containing files indicating who is editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
564 what, so XEmacs can detect editing clashes between
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
565 users.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
566
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
567 `libdir' indicates where to put architecture-specific data files that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
568 XEmacs refers to as it runs; it too defaults to `/usr/local/lib'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
569 We create the following subdirectories under `libdir':
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
570 - `xemacs-VERSION/CONFIGURATION-NAME', containing executable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
571 programs used by XEmacs that users are not expected to run
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
572 themselves and the DOC file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
573 `VERSION' is the number of the XEmacs version you are installing,
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
574 and `CONFIGURATION-NAME' is the host type of your system.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
575 Since these files are specific to the version of XEmacs,
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
576 operating system, and architecture in use, including the
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
577 configuration name in the path allows you to have several
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
578 versions of XEmacs for any mix of machines and operating
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
579 systems installed at the same time; this is useful for sites
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
580 at which different kinds of machines share the file system
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
581 XEmacs is installed on.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
582
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
583 `infodir' indicates where to put the info files distributed with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
584 XEmacs; it defaults to `/usr/local/lib/xemacs-VERSION/info'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
585
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
586 `mandir' indicates where to put the man pages for XEmacs and its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
587 utilities (like `etags'); it defaults to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
588 `/usr/local/man/man1'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
589
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
590 `prefix' doesn't give a path for any specific part of XEmacs; instead,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
591 its value is used to determine the defaults for all the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
592 architecture-independent path variables - `datadir',
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
593 `statedir', `infodir', and `mandir'. Its default value is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
594 `/usr/local'; the other variables add on `lib' or `man' to it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
595 by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
596
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
597 For example, suppose your site generally places GNU software
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
598 under `/usr/users/software/gnusoft' instead of `/usr/local'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
599 By including
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
600 `prefix=/usr/users/software/gnusoft'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
601 in the arguments to `make', you can instruct the build process
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
602 to place all of the XEmacs data files in the appropriate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
603 directories under that path.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
604
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
605 `exec_prefix' serves the same purpose as `prefix', but instead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
606 determines the default values for the architecture-dependent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
607 path variables - `bindir' and `libdir'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
608
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
609 The above variables serve analogous purposes in the makefiles for all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
610 GNU software; here are some variables specific to XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
611
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
612 `lispdir' indicates where XEmacs installs and expects its lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
613 libraries. Its default value, based on `datadir' (see above),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
614 is `/usr/local/lib/xemacs-VERSION/lisp' (where `VERSION' is as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
615 described above).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
616
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
617 `sitelispdir' indicates where XEmacs should search for lisp libraries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
618 specific to your site. XEmacs checks them in order before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
619 checking `lispdir'. Its default value, based on `datadir'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
620 (see above), is `/usr/local/lib/xemacs/site-lisp'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
621
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
622 `etcdir' indicates where XEmacs should install and expect the rest of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
623 its architecture-independent data, like the tutorial and yow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
624 database. Its default value, based on `datadir'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
625 (see above), is `/usr/local/lib/xemacs-VERSION/etc' (where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
626 `VERSION' is as described above).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
627
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
628 `lockdir' indicates the directory where XEmacs keeps track of its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
629 locking information. Its default value, based on `statedir'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
630 (see above), is `/usr/local/lib/xemacs/lock'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
631
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
632 `archlibdir' indicates where XEmacs installs and expects the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
633 executable files and other architecture-dependent data it uses
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
634 while running. Its default value, based on `libdir' (see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
635 above), is `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
636 (where VERSION and CONFIGURATION-NAME are as described above).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
637
420
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
638 `docdir' indicates where to put Lisp documentation strings that XEmacs
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
639 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
640 (see above).
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
641
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
642 `moduledir' indicates where XEmacs installs and expects to find
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
643 any dynamic modules. Its default value, based on
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
644 `archlibdir' (see above) is
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
645 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules'
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
646 (where VERSION and CONFIGURATION-NAME are as described above).
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
647 By their very nature, dynamic loadable modules are architecture-
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
648 dependent, and care should be taken not to set this directory
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
649 to a system- or architecture-independent directory.
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
650
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
651 Remember that you must specify any variable values you need each time
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
652 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
653 xemacs, test it, and then run `make' again to install the files, you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
654 must provide the same variable settings each time. To make the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
655 settings persist, you can edit them into the `Makefile' in the top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
656 directory, but be aware that running the `configure' program erases
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
657 `Makefile' and rebuilds it from `Makefile.in'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
658
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
659 The top-level Makefile stores the variable settings it used in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
660 Makefiles for the subdirectories, so you don't have to specify them
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
661 when running make in the subdirectories.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
662
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
663 Using GNU Make allows for simultaneous builds with and without the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
664 --srcdir option.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
665
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
666 MAIL-LOCKING POST-INSTALLATION
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
667 ==============================
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
668
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
669 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
670 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
671 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
672 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
673 executables.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
674
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
675 CLEANING UP
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
676 ==========
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
677
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
678 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
679 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
680 remove the files that `configure' created (so you can compile XEmacs
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
681 for a different configuration), type `make distclean'.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
682
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
683 READ README.packages
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
684 ====================
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
685
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
686 Do it!
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
687
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
688 PROBLEMS
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
689 ========
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 392
diff changeset
690
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
691 The most likely problem is that you forgot to read and follow the
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
692 directions in README.packages. You can not have a working XEmacs
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
693 without downloading some additional packages.
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
694
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
695 See the file PROBLEMS in this directory for a list of various
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
696 problems sometimes encountered, and what to do about them.