update.
[chise/xemacs-chise.git.1] / INSTALL
diff --git a/INSTALL b/INSTALL
index 4019235..9314b06 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -32,8 +32,8 @@ error in the command `temacs -batch -l loadup dump', found in
 XEmacs.
 
 Verify that your users have a high enough stack limit. On some systems
-such as OpenBSD and OSF/Tru64 the default is 2MB which is too low. See
-'PROBLEMS' for details.
+such as OpenBSD and OSF/Tru64 the default is 2MB which is too low.  On
+MacOS/X (Darwin), it's 512kB.  See 'PROBLEMS' for details.
 
 Building XEmacs requires about 100 Mb of disk space (including the
 XEmacs sources).  Once installed, XEmacs occupies between 20 and 100 Mb
@@ -42,20 +42,26 @@ Lisp libraries, miscellaneous data files, and on-line documentation. The
 exact amount depends greatly on the number of extra lisp packages that are
 installed 
 
-XEmacs requires an ANSI C compiler, such as GCC.  If you wish to build
-the documentation yourself, you will need at least version 1.68 of
-makeinfo (GNU texinfo-3.11).
+XEmacs requires an ANSI C compiler, such as GCC.  If you wish to build the
+documentation yourself, you will need at least version 1.68 of makeinfo (GNU
+texinfo-3.11).  GNU Texinfo 4.2 is recommended; it is necessary for building
+Lisp packages, and we may move to it for the core.
 
 ADD-ON LIBRARIES
 ================
 
-Decide on what other software packages you would like to use with
-XEmacs, but are not yet available on your system.  On some systems,
-Motif and CDE are optional additions.  On Solaris, the SUNWaudmo
-package enables native sound support.  There are also a number of free
-software packages that XEmacs can use.  If these are not yet available
-on your system, obtain, build and install those external packages
-before building XEmacs.  The packages XEmacs can use are:
+Decide which libraries you would like to use with XEmacs, but are not
+yet available on your system.  On some systems, X11, Motif and CDE are
+optional additions.  On MacOS/X systems, you may download X11R6 for
+Mac OS X from http://www.apple.com/macosx/x11/download/.  You need
+both the runtime libraries and the SDK (in a sidebar of that page at
+the time of writing).  There is also a 3rd-party implementation of
+X11R6 for the Mac at http://www.xdarwin.org/.  On Solaris, the
+SUNWaudmo package enables native sound support.  There are also a
+number of free software applications that XEmacs can use.  If these
+are not yet available on your system, obtain, build and install those
+external libraries before building XEmacs.  The libraries XEmacs can
+use are:
 
    Xaw3d, XPM, JPEG, compface, PNG, zlib, GNU DBM, Berkeley DB, socks,
    term, NAS, Canna, Kinput2, SJ3, Wnn.
@@ -69,12 +75,19 @@ libraries are statically linked.
 
 Use the --site-includes and --site-libraries options when building
 XEmacs to allow configure to find the external software packages.
-If you link with dynamic (``.so'') external package libraries, which
-is not recommended, you will also need to add the library directories
-to the --site-runtime-libraries option. For your convenience these can
-be set together by using the --with-site-prefix command. This will set
-these variables as needed assuming your libraries are organised as a
-typical /usr tree.
+Note that for X11 includes, you should put the files in the X11
+subdirectory of the --site-includes directory.  Eg, XEmacs sources
+#include <X11/xpm.h>.  In that case, you should omit the trailing
+"/X11" from --site-includes, or the trailing "/includes/X11" from
+--site-prefixes.  The latter is convenient if your libraries are
+installed under "includes/../lib".  The directories specified with
+--site-includes or --site-libraries take precedence over those
+specified with --site-prefixes, and those take precedence over the
+standard search paths.
+
+If you link with dynamic (``.so'') external package libraries, you
+will also need to add the runtime library directories to the
+--site-runtime-libraries option.
 
 PACKAGE SYSTEM
 ==============
@@ -208,18 +221,39 @@ Motif menubar. (In fact, the Motif menubar is currently broken.)  If
 `no' is specified then support for menubars will not be compiled in.
 
 The `--with-scrollbars=TYPE' option allows you to specify which X
-toolkit you wish to use for the scrollbars.  The valid options are
-`lucid', `motif', `athena', `athena3d', and `no'.  The default is
-`lucid' which is a Motif-lookalike scrollbar.  If `no' is specified
-then support for scrollbars will not be compiled in.
+toolkit you wish to use for the scrollbars.
 
 The `--with-dialogs=TYPE' option allows you to specify which X toolkit
-you wish to use for the dialog boxes.  The valid options are `athena',
-`athena3d', `motif, and `no.  The `lucid' option is accepted and will
-result in the `athena' toolkit being used.  If the Motif toolkit can be
-found the default is `motif'.  Otherwise, the default is `athena'.  If
-`no' is specified then support for dialog boxes will not be compiled
-in.
+you wish to use for the dialog boxes.
+
+The `--with-widgets=TYPE' option allows you to specify which X toolkit
+you wish to use for native widgets.
+
+    The valid options for TYPE in the `--with-scrollbars',
+    `--with-dialogs', and `--with-widgets' options are `lucid',
+    `motif', `athena', `msw', `gtk', and `no'.  The `gtk' and `msw'
+    options are only available on the GTK and MS Windows platforms,
+    respectively.  When available, `gtk' or `msw' and `no' are the
+    only options.  Otherwise, for dialogs and widgets, if the Motif
+    toolkit can be found the default is `motif'.  If not, the default
+    is `athena'.  `lucid' is an alias for `athena'.  If `no' is
+    specified then support for these GUI components will not be
+    compiled in.
+
+    For scrollbars, the default is `lucid' which is a Motif-lookalike
+    scrollbar.  Otherwise, if the Motif toolkit can be found the
+    default is `motif'.  If not, the default is `athena'.  If `no' is
+    specified then support for scrollbars will not be compiled in.
+
+    If `athena' (or `lucid', for dialogs and widgets) is specified for
+    any component (even by default), the type of Athena library must
+    be specified using the following option if more than one is
+    available.  It is not always possible to distinguish them, and
+    mixing and matching Athena libraries will result in crashes.
+
+The `--with-athena=TYPE' option specifies the kind of Athena library
+being used.  Valid values include `xaw', `3d', `xpm', `95', and `next'.
+There is no default.
 
 The `--with-toolbars' option allows you to enable or disable toolbar
 support.  The default is `yes' as long as support for a windowing
@@ -292,7 +326,7 @@ The `--rel-alloc' option can be used to either enable or disable use
 of the relocating allocator.  Turning on --rel-alloc will allow XEmacs
 to return unused memory to the operating system, thereby reducing its
 memory footprint.  However, it may make XEmacs runs more slowly,
-especially if your system's `mmap' implemntation is missing or
+especially if your system's `mmap' implementation is missing or
 inefficient.  Generally, it's best to go with the default
 configuration for your system.  You can tweak this based on how you
 use XEmacs, and the memory and cpu resources available on your system.
@@ -307,10 +341,11 @@ version of malloc.  Debug Malloc is not included with XEmacs, is
 intended for use only by the developers and may be obtained from
 <URL:http://www.letters.com/dmalloc/>.
 
-The `--debug' and `--error-checking' options are intended for use only
-by the developers.  `--debug' adds code to be compiled in for
-performing various tests.  `--error-checking' adds additional tests to
-many of the commonly used macros.
+The `--debug' and `--error-checking' options are primarily useful to the
+developers.  `--debug' incorporates code for performing various tests,
+but does not impose a speed penalty.  `--error-checking' adds additional
+tests to many of the commonly used macros, and imposes a speed penalty.
+Neither is especially useful in most common debugging situations.
 
 The `--verbose' and `--extra-verbose' options are intended for use
 only by the developers.  `--verbose' causes the results of all
@@ -320,10 +355,15 @@ determining configure failures is the file `config.log', which
 contains the results of the compile and link tests used by configure.
 
 The `--with-mule' option enables (MUlti-Lingual Emacs) support, needed
-to suport non-Latin-1 (including Asian) languages.  The Mule support
-is not yet as stable or efficient as the `Latin1' support.   Enabling
-Mule support requires the mule-base package installed prior to
-building XEmacs.  The following options require Mule support:
+to support non-Latin-1 (including Asian) languages.  Mule support is
+required for Asian language and Unicode (multibyte and wide character)
+support.  With the advent of the Euro and European Community
+expansion, Mule support is also recommended for Western Europeans.
+Enabling Mule support requires the mule-base package installed prior
+to building XEmacs.  The mule-ucs package is required for Unicode
+support (but may be added at any time).  For Europeans using Latin
+alphabets, and for support for the Euro symbol, the latin-unity
+package is recommended.  The following options require Mule support:
 
 The `--with-xim' option enables use of the X11 XIM mechanism to allow
 an input method to input text into XEmacs.  The input method is shared
@@ -373,11 +413,16 @@ supports.
 MAIL LOCKING
 ============
 
-Find out what the preferred method for locking mail spool files is in
-your environment.  Presently, XEmacs supports lockf, flock, and dot
-locking.  Specify the locking method via the --mail-locking=METHOD
-option to configure.  Valid values for METHOD are --mail-locking are
-`lockf', `flock', and `dot'.
+For most platforms, configure or the src/s file have the preferred
+method for locking mail spool files preconfigured.  Otherwise you must
+find out for youself.  Do not choose a locking protocol "on the
+objective merits."  XEmacs must use the same method as other mail
+utilities on your system, or you will lose mail.
+
+Presently, XEmacs supports lockf, flock, and dot locking.  Specify the
+locking method via the --mail-locking=METHOD option to configure.
+Valid values for METHOD are --mail-locking are `lockf', `flock', and
+`dot'.
 
 RUNNING CONFIGURE
 =================
@@ -639,8 +684,8 @@ GNU software; here are some variables specific to XEmacs.
        `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules'
        (where VERSION and CONFIGURATION-NAME are as described above).
        By their very nature, dynamic loadable modules are architecture-
-       dependant, and care should be taken not to set this directory
-       to a system- or architecture-independant directory.
+       dependent, and care should be taken not to set this directory
+       to a system- or architecture-independent directory.
 
 Remember that you must specify any variable values you need each time
 you run `make' in the top directory.  If you run `make' once to build
@@ -657,6 +702,15 @@ when running make in the subdirectories.
 Using GNU Make allows for simultaneous builds with and without the
 --srcdir option.
 
+STRIPPING BINARIES
+==================
+
+This saves nothing but a small (by modern standards) amount of disk
+space; the symbol table is not loaded into memory at execution time.
+If you do encounter a crash or other serious bug, the first thing the
+developers will do is ask you to build an XEmacs with a full symbol
+table, anyway.  Don't strip the XEmacs binary.
+
 MAIL-LOCKING POST-INSTALLATION
 ==============================
 
@@ -686,5 +740,6 @@ The most likely problem is that you forgot to read and follow the
 directions in README.packages.  You can not have a working XEmacs
 without downloading some additional packages.
 
-See the file PROBLEMS in this directory for a list of various
-problems sometimes encountered, and what to do about them.
+See the file PROBLEMS in this directory for a list of various problems
+sometimes encountered, and what to do about them.  PROBLEMS is also
+the place where platform-specific build notes can be found.