Mercurial > hg > xemacs-beta
annotate INSTALL @ 5617:b0d712bbc2a6
The "flush" face property.
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2011-12-23 Didier Verna <didier@xemacs.org>
* faces.h (struct Lisp_Face): New 'flush slot.
* faces.h (struct face_cachel): New 'flush and 'flush_specified
flags.
* faces.h (WINDOW_FACE_CACHEL_FLUSH_P):
* faces.h (FACE_FLUSH_P): New macros.
* faces.c: Declare Qflush.
* lisp.h: Externalize it.
* faces.c (syms_of_faces): Define it.
* faces.c (vars_of_faces): Update built-in face specifiers.
* faces.c (complex_vars_of_faces): Update specifier fallbacks.
* faces.c (mark_face):
* faces.c (face_equal):
* faces.c (face_getprop):
* faces.c (face_putprop):
* faces.c (face_remprop):
* faces.c (face_plist):
* faces.c (reset_face):
* faces.c (update_face_inheritance_mapper):
* faces.c (Fmake_face):
* faces.c (update_face_cachel_data):
* faces.c (merge_face_cachel_data):
* faces.c (Fcopy_face):
* fontcolor.c (face_boolean_validate): Handle the flush property.
* redisplay.h (struct display_line): Rename 'default_findex slot to
clearer name 'clear_findex.
* redisplay.h (DISPLAY_LINE_INIT): Update accordingly.
* redisplay-output.c (compare_display_blocks):
* redisplay-output.c (output_display_line):
* redisplay-output.c (redisplay_output_window):
* redisplay.c (regenerate_window_extents_only_changed):
* redisplay.c (regenerate_window_incrementally): Update the
comparison tests between the current and desired display lines to
cope for different 'clear_findex values.
* redisplay.c (create_text_block): Initialize the display line's
'clear_findex slot to DEFAULT_INDEX. Record a new 'clear_findex
value when we encounter a newline character displayed in a flushed
face.
* redisplay.c (create_string_text_block): Record a new
'clear_findex value when we encounter a newline character
displayed in a flushed face.
lisp/ChangeLog addition:
2011-12-23 Didier Verna <didier@xemacs.org>
* cl-macs.el (face-flush-p): New defsetf.
* faces.el (set-face-property): Document the flush property.
* faces.el (face-flush-p): New function.
* faces.el (set-face-flush-p): New function.
* faces.el (face-equal):
* cus-face.el (custom-face-attributes):
* x-faces.el (x-init-face-from-resources):
* x-faces.el (make-face-x-resource-internal): Handle the flush
property.
| author | Didier Verna <didier@xemacs.org> |
|---|---|
| date | Fri, 23 Dec 2011 10:56:16 +0100 |
| parents | 3889ef128488 |
| children | a95c89dc9695 |
| rev | line source |
|---|---|
| 0 | 1 XEmacs Installation Guide |
| 1338 | 2 |
| 0 | 3 Copyright (c) 1994, 1995, 1996 Board of Trustees, University of Illinois |
|
4508
742a23369b74
Improve package documentation.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
3179
diff
changeset
|
4 Copyright (c) 1994-1999, 2003, 2008 Free Software Foundation, Inc. |
| 412 | 5 |
| 0 | 6 Permission is granted to anyone to make or distribute verbatim copies |
| 7 of this document as received, in any medium, provided that the | |
| 8 copyright notice and permission notice are preserved, | |
| 9 and that the distributor grants the recipient permission | |
| 10 for further redistribution as permitted by this notice. | |
| 11 | |
| 12 Permission is granted to distribute modified versions | |
| 13 of this document, or of portions of it, | |
| 14 under the above conditions, provided also that they | |
| 15 carry prominent notices stating who last changed them, | |
| 16 and that any new or changed statements about the activities | |
| 17 of the Free Software Foundation are approved by the Foundation. | |
| 18 | |
| 442 | 19 BUILDING AND INSTALLATION FOR UNIX AND CYGWIN |
| 20 | |
| 21 (for Microsoft Windows, see nt/README also.) | |
| 22 | |
| 23 PREREQUISITES | |
| 24 ============= | |
| 404 | 25 |
| 442 | 26 Make sure your system has enough swapping space allocated to handle a |
| 27 program whose pure code is 900k bytes and whose data area is at least | |
| 1338 | 28 400k and can reach 8Mb or more. Note that a typical XEmacs process |
| 29 can get much bigger: the instance this sentence was written with is | |
| 30 over 100MB! If the swapping space is insufficient, you will get an | |
| 442 | 31 error in the command `temacs -batch -l loadup dump', found in |
| 32 `./src/Makefile.in.in', or possibly when running the final dumped | |
| 33 XEmacs. | |
| 0 | 34 |
| 442 | 35 Verify that your users have a high enough stack limit. On some systems |
| 1036 | 36 such as OpenBSD and OSF/Tru64 the default is 2MB which is too low. On |
| 2648 | 37 MacOS/X (Darwin) before 10.3, it's 512kB. See 'PROBLEMS' for details. |
| 424 | 38 |
| 39 Building XEmacs requires about 100 Mb of disk space (including the | |
| 1338 | 40 XEmacs sources). Once installed, XEmacs occupies between 20 and 100 |
| 41 MB in the file system where it is installed; this includes the | |
| 42 executable files, Lisp libraries, miscellaneous data files, and | |
| 43 on-line documentation. The exact amount depends greatly on the number | |
| 44 of extra Lisp packages that are installed. | |
| 149 | 45 |
| 2427 | 46 XEmacs requires an ANSI C compiler, such as GCC. If you wish to build the |
| 47 documentation yourself, you will need at least version 1.68 of makeinfo (GNU | |
| 48 texinfo-3.11). GNU Texinfo 4.2 is recommended; it is necessary for building | |
| 49 Lisp packages, and we may move to it for the core. | |
| 149 | 50 |
| 1338 | 51 A note on terminology: unfortunately the terms "library" and "package" |
| 52 are heavily overloaded. In the following, "library" refers to an | |
| 53 external body of executable code which may be linked with XEmacs at | |
| 54 build time to provide support for system features, such as images, | |
| 55 audio, stream compression, databases, and input methods. A "Lisp | |
| 56 library" is a file of Lisp code which may be loaded into XEmacs at | |
| 57 run-time to provide editor features. A "package" is a specially | |
| 58 prepared Lisp library or set of Lisp libraries, providing for easy | |
| 59 installation, upgrade, and removal of applications written in Lisp. | |
| 398 | 60 |
| 442 | 61 PACKAGE SYSTEM |
| 62 ============== | |
| 424 | 63 |
|
4508
742a23369b74
Improve package documentation.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
3179
diff
changeset
|
64 The FAQ sections 1.7 and 2.1 contain information vital to have a fully |
| 1338 | 65 working XEmacs. It includes a description of available packages, and |
| 66 how to bootstrap XEmacs from a minimal or a complete set of packages. | |
| 67 This information was not included in this file only because it is too | |
|
4508
742a23369b74
Improve package documentation.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
3179
diff
changeset
|
68 large for this terse INSTALL. The FAQ is available in Texinfo format |
|
742a23369b74
Improve package documentation.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
3179
diff
changeset
|
69 in man/xemacs-faq.texi, as an Info file once you build XEmacs, and |
|
742a23369b74
Improve package documentation.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
3179
diff
changeset
|
70 online at http://www.xemacs.org/Documentation/21.5/html/xemacs-faq_1.html. |
| 1338 | 71 |
| 72 ADD-ON LIBRARIES | |
| 73 ================ | |
| 74 | |
| 75 Decide which libraries you would like to use with XEmacs, but are not | |
| 1375 | 76 yet available on your system. On some systems, X11, Motif and CDE are |
| 3018 | 77 optional additions. On MacOS/X systems prior to 10.2, you may download |
| 78 X11R6 for Mac OS X from http://www.apple.com/macosx/x11/download/. In | |
| 79 later releases X11 is available as an optional package on the | |
| 80 installation CDs. In either case you need both the runtime libraries | |
| 81 and the SDK (in a sidebar of that page at the time of writing). There | |
| 82 is also a 3rd-party implementation of X11R6 for the Mac at | |
| 83 http://www.xdarwin.org/. On Solaris, the SUNWaudmo package enables | |
| 84 native sound support. There are also a number of free software | |
| 85 applications that XEmacs can use. If these are not yet available on | |
| 86 your system, obtain, build and install those external libraries before | |
| 87 building XEmacs. The libraries XEmacs can use are: | |
| 1338 | 88 |
| 89 Xaw3d, XPM, JPEG, compface, PNG, zlib, GNU DBM, Berkeley DB, socks, | |
| 90 term, NAS, Canna, Kinput2, SJ3, Wnn, PostgreSQL, LDAP. | |
| 91 | |
| 92 You can get (most of) them from the XEmacs FTP archive at | |
| 93 <ftp://ftp.xemacs.org/pub/xemacs/aux>. Information about what | |
| 94 each library does is available in the file | |
| 95 <ftp://ftp.xemacs.org/pub/xemacs/aux/00README.txt>. | |
| 96 | |
| 2648 | 97 Use the `--with-site-includes' and `--with-site-libraries' options when |
| 98 building XEmacs to allow configure to find the external software | |
| 99 packages. For your convenience these can be set together by using the | |
| 100 `--with-site-prefixes' option. This will set these variables as needed | |
| 1338 | 101 assuming your libraries are organised as a typical /usr tree. |
| 102 | |
| 103 If you link dynamically with external libraries, usually denoted by | |
| 2648 | 104 ".so" (Unix), ".dll" (Windows), or ".dylib" (MacOS) file extensions, on |
| 105 some systems you may also need to add the library directories to the | |
| 106 `--with-site-runtime-libraries' option. It is typically necessary only | |
| 1338 | 107 if you link with dynamic libraries that are installed in non-standard |
| 2648 | 108 directories, or if you expect some of the libraries used to build XEmacs |
| 109 to be in a different directory at run time than at build time. | |
| 1338 | 110 |
| 111 NOTE: This option has unusual semantics. ONLY libraries found in the | |
| 112 directories specified in this option will be used at runtime. This | |
| 113 means you must specify ALL directories you want searched at runtime in | |
| 114 this option (perhaps excluding a very small number of standard system | |
| 115 library paths). | |
| 116 | |
| 2648 | 117 Directories specified with `--with-site-libraries' are NOT automatically |
| 118 added. The rationale is that most users will not need this option, and | |
| 119 this allows the builder to specify exactly the needed directories. | |
| 120 Specifying unnecessary directories leads to obscure problems (typically | |
| 121 startup delays) if those directories are mounted over a network, and the | |
| 122 automounter configuration changes. Not all systems need this option; | |
| 123 it's best to avoid using it if you can. | |
| 1338 | 124 |
| 125 Dynamic linking has pros and cons. Dynamically linking 3rd party | |
| 126 libraries to XEmacs decreases the size of the binary, and means you | |
| 127 don't need to rebuild XEmacs to take advantage of improvements in the | |
| 128 libraries. On the other hand, XEmacs can fail subtly if the semantics | |
| 129 of a library changes, other users may not be able to use your | |
| 130 "private" copies of the libraries, and you may have to relink XEmacs, | |
| 131 or even omit the feature, if the ABI changes when the libraries are | |
| 132 upgraded. | |
| 424 | 133 |
| 442 | 134 CONFIGURATION OPTIONS |
| 135 ===================== | |
| 269 | 136 |
| 442 | 137 In the top level directory of the XEmacs distribution, run the |
| 138 program `configure' as follows: | |
| 0 | 139 |
| 149 | 140 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ... |
| 0 | 141 |
| 3018 | 142 Options are generally of the form `--with-FEATURE' or |
| 143 `--enable-FEATURE' to use a feature or `--without-FEATURE' or | |
| 144 `--disable-FEATURE' to not use a feature. Unlike the `configure' | |
| 145 program used in other applications, either `--with-FEATURE' or | |
| 146 `--enable-FEATURE' can be used to use the same feature. | |
| 147 | |
| 3050 | 148 If you haven't built XEmacs 21.5 recently, the change from the |
| 149 configure script based on Autoconf 2.13 can be a shock. Appendix: | |
| 150 Correspondence to Old Configure Options (at the end of this document) | |
| 151 contains a list of old options and their new equivalents. | |
| 152 | |
| 1338 | 153 Controlling the Host Type |
| 154 ------------------------- | |
| 155 | |
| 243 | 156 Almost always, you should let `configure' (actually the shell script |
| 157 `config.guess') guess your host type, by omitting the | |
| 149 | 158 CONFIGURATION-NAME argument. If you like to experiment, specify a |
| 159 configuration name in the form MACHINE-VENDOR-OPSYS, for example: | |
| 160 | |
| 161 sparc-sun-solaris2.6 | |
| 162 | |
| 163 See config.guess and configure.in for valid values for MACHINE, | |
| 164 VENDOR, and OPSYS. Also check `./etc/MACHINES' for advice on building | |
| 165 on particular machines. | |
| 0 | 166 |
| 1338 | 167 Specifying Location of Headers and Libraries |
| 168 -------------------------------------------- | |
| 169 | |
| 2648 | 170 The `--with-site-includes=DIR' and `--with-site-libraries=DIR' options |
| 171 allow you to specify additional places the compiler should look for | |
| 172 include files and object libraries. You may specify multiple DIR's by | |
| 1338 | 173 enclosing the list in quotes. All the external libraries you want to |
| 174 use with XEmacs (e.g. xpm, wnn, ...) described later should have their | |
| 175 include and library directories defined using these options. | |
| 176 | |
| 2648 | 177 The `--with-site-runtime-libraries=DIR' option specifies directories to |
| 1338 | 178 search for shared libraries at run time. If you use this option, you |
| 179 must specify ALL of the directories containing shared libraries at run | |
| 180 time, including system directories. Please read the information about | |
| 181 "ADD-ON LIBRARIES" above very carefully. | |
| 0 | 182 |
| 183 The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build | |
| 184 process where the compiler should look for the include files and | |
| 185 object libraries used with the X Window System. Normally, `configure' | |
| 186 is able to find them; these options are necessary if you have your X | |
| 187 Window System files installed in unusual places. | |
| 188 | |
| 1338 | 189 Configuring the Build Process |
| 190 ----------------------------- | |
| 149 | 191 |
| 2648 | 192 The `--with-gcc=PROGRAM' option specifies that the build process should |
| 193 compile XEmacs using GCC. The `--with-compiler' option allows you to | |
| 194 specify some other compiler to be used to compile XEmacs. If neither | |
| 195 option is specified, the environment variable CC is used instead. | |
| 196 Otherwise the compiler will then default to 'cc'. | |
| 201 | 197 |
| 2648 | 198 The `--with-xemacs-compiler=PROGRAM' option specifies the compiler |
| 199 control program for the xemacs binary only. Other C code will be | |
| 200 compiled according to the `--with-gcc' and `--with-compiler' options | |
| 201 above. This is useful if you wish to compile XEmacs with a C++ | |
| 202 compiler, because the utilities in ./lib-src cannot be compiled as C++. | |
| 203 This option is primarily intended for use by the maintainers. | |
| 0 | 204 |
| 2648 | 205 The `--with-cflags=FLAGS' option specifies all of the CFLAGS the build |
| 206 process should use when compiling XEmacs, except for flags controlling | |
| 207 warning generation. Otherwise the value of the environment variable | |
| 208 CFLAGS is consulted. If that is also undefined, CFLAGS defaults to "-g | |
| 209 -O" for gcc and "-g" for all other compilers. | |
| 0 | 210 |
| 2648 | 211 The `--with-cflags-warning=FLAGS' option specifies the warnings to be |
| 1338 | 212 generated. There is normally no reason to use this flag, as XEmacs |
| 3050 | 213 turns on as many warnings as possible, and is still intended to build |
| 214 with no warnings. If you get any undocumented warnings, please report | |
| 215 them as bugs---they very often are, or at least indicate possible | |
| 216 bitrot. | |
| 594 | 217 |
| 2648 | 218 The `--with-cflags-optimization=FLAGS' option specifies the |
| 3050 | 219 optimizations to be used. There is normally no reason to use this |
| 220 flag, as XEmacs will already set the maximum safe optimization flags | |
| 221 appropriate for the compiler being invoked. | |
| 2648 | 222 |
| 223 The `--with-cflags-debugging=FLAGS' option specifies debugging | |
| 3050 | 224 information to be generated. You should avoid using this flag, as it |
| 225 makes most severe or fatal bugs hard-to-impossible to diagnose and | |
| 226 fix. Debugging information does not slow down XEmacs at runtime, and | |
| 227 it doesn't make the binary very much bigger. | |
| 2648 | 228 |
| 3050 | 229 The `--with-dynamic' option specifies that configure should try to |
| 230 link XEmacs dynamically rather than statically. `--with-static' | |
| 231 specifies the reverse. XEmacs's configure script detects whether | |
| 232 dynamic linking can be done on all platforms we know of; these options | |
| 233 are normally unnecessary. | |
| 234 | |
| 235 The `--with-modules' option specifies that XEmacs be built with | |
| 236 support for runtime loadable modules. NOTE TO OEMS: XEmacs can be | |
| 237 distributed configured to support several options based on external | |
| 238 APIs (currently LDAP, PostgreSQL, and Canna) as loadable modules. You | |
| 239 can distribute an XEmacs binary package with these options enabled | |
| 240 without depending on the external package. XEmacs will fail | |
| 241 gracefully at runtime, issuing an error message indicating that the | |
| 242 required support was not found on the system. | |
| 0 | 243 |
| 244 You can build XEmacs for several different machine types from a single | |
| 245 source directory. To do this, you must use a version of `make' that | |
| 442 | 246 supports the `VPATH' variable, such as GNU `make'. Create separate |
| 0 | 247 build directories for the different configuration types, and in each |
| 248 one, run the XEmacs `configure' script. `configure' looks for the | |
| 1338 | 249 Emacs source code in the directory that `configure' is in. The |
| 250 `--srcdir' option may not work correctly (traditionally it was | |
| 251 overridden by the directory containing `configure'). | |
| 252 | |
| 253 Configuring the Installation Layout | |
| 254 ----------------------------------- | |
| 0 | 255 |
| 256 The `--prefix=PREFIXDIR' option specifies where the installation process | |
| 257 should put XEmacs and its data files. This defaults to `/usr/local'. | |
| 258 - XEmacs (and the other utilities users run) go in PREFIXDIR/bin | |
| 259 (unless the `--exec-prefix' option says otherwise). | |
|
5150
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
260 - The architecture-independent files go in PREFIXDIR/share/xemacs-VERSION |
| 276 | 261 (where VERSION is the version number of XEmacs, like `21.0'). |
| 0 | 262 - The architecture-dependent files go in |
| 243 | 263 PREFIXDIR/lib/xemacs-VERSION/CONFIGURATION-NAME |
| 264 (where CONFIGURATION-NAME is the host type, like mips-dec-ultrix4.2), | |
| 0 | 265 unless the `--exec-prefix' option says otherwise. |
| 266 | |
| 267 The `--exec-prefix=EXECDIR' option allows you to specify a separate | |
| 268 portion of the directory tree for installing architecture-specific | |
| 269 files, like executables and utility programs. If specified, | |
| 270 - XEmacs (and the other utilities users run) go in EXECDIR/bin, and | |
| 271 - The architecture-dependent files go in | |
| 243 | 272 EXECDIR/lib/xemacs-VERSION/CONFIGURATION-NAME. |
| 0 | 273 EXECDIR/bin should be a directory that is normally in users' PATHs. |
| 274 | |
| 442 | 275 If you specify --prefix (or any of the other installation directory |
| 276 options), they will get compiled into the xemacs executable so it will | |
| 1338 | 277 be able to find its various associated files. However, XEmacs has |
| 442 | 278 quite elaborate logic to find out the locations of these directories |
| 279 dynamically. Sometimes, it is desirable *not* to compile these | |
| 280 directories into the executable so you can move the XEmacs | |
| 281 installation around (as whole) at will. This is true for binary kits, | |
| 282 for instance. Therefore, you can specify --without-prefix on the | |
| 283 configure command line to prevent the installation prefix to become | |
| 284 part of the generated executable; everything else will continue to | |
| 285 work as usual. | |
| 0 | 286 |
|
5150
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
287 Unlike previous versions of XEmacs (21.4 or earlier), |
|
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
288 architecture-independent files (in particular, the Lisp files and |
|
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
289 package hierarchies) by default get installed under `/usr/local/share' |
|
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
290 rather than `/usr/local/lib'. To create a setup as in previous |
|
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
291 versions, use the `--datadir=/usr/local/lib' option to configure. |
|
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
292 |
| 1338 | 293 Configuring Feature Support |
| 294 --------------------------- | |
| 295 | |
| 296 If you don't want X Window System support, specify `--without-x'. If | |
| 297 you omit this option, `configure' will try to autodetect whether your | |
| 298 system has X Window System support, and arrange to use it if present. | |
| 299 | |
| 3050 | 300 The `--with-menubars=TYPE' option allows you to specify which X |
| 0 | 301 toolkit you wish to use for the menubar. The valid options are |
| 149 | 302 `lucid', `motif' and `no'. The default is `lucid' which is a |
| 0 | 303 Motif-lookalike menubar. We highly recommend its usage over the real |
| 304 Motif menubar. (In fact, the Motif menubar is currently broken.) If | |
| 149 | 305 `no' is specified then support for menubars will not be compiled in. |
| 0 | 306 |
| 3050 | 307 The `--with-scrollbars=TYPE' option allows you to specify which X |
| 0 | 308 toolkit you wish to use for the scrollbars. The valid options are |
| 149 | 309 `lucid', `motif', `athena', `athena3d', and `no'. The default is |
| 2648 | 310 `lucid' which is a Motif-lookalike scrollbar. If `no' is specified then |
| 311 support for scrollbars will not be compiled in. | |
| 0 | 312 |
| 3050 | 313 The `--with-dialogs=TYPE' option allows you to specify which X toolkit |
| 219 | 314 you wish to use for the dialog boxes. The valid options are `athena', |
| 243 | 315 `athena3d', `motif, and `no. The `lucid' option is accepted and will |
| 316 result in the `athena' toolkit being used. If the Motif toolkit can be | |
| 317 found the default is `motif'. Otherwise, the default is `athena'. If | |
| 2648 | 318 `no' is specified then support for dialog boxes will not be compiled in. |
| 0 | 319 |
| 3050 | 320 The `--with-toolbars' option allows you to enable or disable toolbar |
| 1338 | 321 support. The default is `yes' if support for a windowing system is |
| 322 included. | |
| 0 | 323 |
| 149 | 324 The `--with-xpm' option specifies that XEmacs should support X11 |
| 0 | 325 Pixmaps. `configure' will attempt to detect if you have the Xpm |
| 326 libraries and define `--with-xpm' for you. | |
| 327 | |
| 328 The `--with-xface' option specifies that XEmacs should support | |
| 329 X-Faces. `configure' will attempt to detect if you have the compface | |
| 330 library and define `--with-xface' for you. | |
| 331 | |
| 3050 | 332 The `--with-database' option specifies that XEmacs should be built |
| 1338 | 333 with simple database support. The valid options are `no' or a |
| 0 | 334 comma-separated list of one or more of `dbm', `gnudbm' or `berkdb'. |
| 335 `configure' will attempt to detect the necessary libraries and header | |
| 3050 | 336 files and define `--with-database' for you. |
| 0 | 337 |
| 1338 | 338 The `--with-postgresql' option specifies that XEmacs should be built |
| 339 with PostgreSQL support, linking with libpq. `configure' will attempt | |
| 340 to detect whether PostgreSQL support is available, and automatically | |
| 3050 | 341 define `--with-postgresql' for you. NOTE TO OEMS: If modules are |
| 342 supported and enabled, the libpq API support will be build as a | |
| 343 module. | |
| 1338 | 344 |
| 345 The `--with-ldap' option specifies that XEmacs should be build with | |
| 346 LDAP support, using the OpenLDAP libraries. `configure' will attempt | |
| 347 to detect whether LDAP support is available, and automatically define | |
| 3050 | 348 `--with-ldap' for you. NOTE TO OEMS: If modules are supported and |
| 349 enabled, the OpenLDAP API support will be build as a module. | |
| 1338 | 350 |
| 0 | 351 The `--with-socks' option specifies that XEmacs should be built with |
| 149 | 352 SOCKS support. This requires the libsocks library. |
| 0 | 353 |
| 3050 | 354 The `--with-external-widget' option specifies that XEmacs should be |
| 2648 | 355 built with support for being used as a widget by other X11 applications. |
| 1338 | 356 This functionality should be considered beta. |
| 357 | |
| 3050 | 358 The `--with-sound=TYPE' option specifies that XEmacs should be built |
| 359 with sound support. Native (`--with-sound=native') sound support is | |
| 1338 | 360 currently available only on Sun SparcStations, SGI's, HP9000s, and |
| 361 systems (such as Linux) with soundcard.h. Network Audio Support (NAS) | |
| 3050 | 362 (`--with-sound=nas') is an extension to X that you may or may not have |
| 2648 | 363 for your system. For NAS, you will probably need to provide the paths |
| 364 to the nas include and library directories to configure. If | |
| 3050 | 365 `--with-sound' is not specified, `configure' will attempt to determine |
| 366 if your configuration supports native sound and define --with-sound | |
| 2648 | 367 for you. If your native sound library is not in a standard location you |
| 368 can specify it with the `--with-native-sound-lib=LIB' flag. For Linux, | |
| 369 `/dev/audio' is required for SunAudio files and `/dev/dsp' is required | |
| 370 for raw data and WAVE format files. | |
| 1338 | 371 |
| 0 | 372 The `--with-tooltalk' option specifies that XEmacs should be built |
| 373 with ToolTalk support for interconnecting with other applications. | |
| 243 | 374 ToolTalk is not yet supported on all architectures. If you use this |
| 375 option, you should have the tooltalk package (see etc/PACKAGES) | |
| 376 installed prior to building XEmacs. | |
| 0 | 377 |
| 378 The `--with-sparcworks' option specifies that XEmacs should be built | |
| 149 | 379 with support for Sun Sparcworks 3.0.1 and up (including Sun WorkShop). |
| 380 This functionality is only of use on SunOS 4.1.x and Solaris 2.x | |
| 272 | 381 systems. If you use this option, you should have the Sun package (see |
| 243 | 382 etc/PACKAGES) installed prior to building XEmacs. |
| 0 | 383 |
| 149 | 384 The `--with-cde' option allows you to enable or disable CDE drag and |
| 0 | 385 drop support. `configure' will attempt to detect this option and |
| 386 define `--with-cde' for you. | |
| 387 | |
| 1338 | 388 Internationalization Options |
| 389 ---------------------------- | |
| 0 | 390 |
| 3050 | 391 The `--with-mule' option enables MUlti-Lingual Emacs (Mule) support, |
| 1338 | 392 needed to support non-Latin-1 (including Asian) languages. Mule |
| 393 support is required for Asian language and Unicode (multibyte and wide | |
| 394 character) support. With the advent of the Euro and European | |
| 395 Community expansion, Mule support is also recommended for Western | |
| 396 Europeans. Enabling Mule support requires the mule-base package | |
| 397 installed prior to building XEmacs. The `--with-xim', --with-xfs', | |
| 398 `--with-canna', `--with-wnn' and `--with-wnn6' options require | |
| 399 Mule support. | |
| 149 | 400 |
| 401 The `--with-xim' option enables use of the X11 XIM mechanism to allow | |
| 402 an input method to input text into XEmacs. The input method is shared | |
| 403 among all the X applications sharing an X display and using the same | |
| 151 | 404 language. The XIM support comes in two flavors: `motif' and `xlib'. |
| 405 The Motif support (the XmIm* functions) is preferred when available. | |
| 243 | 406 The xlib XIM support works reasonably well so long as the X11 libraries |
| 407 are recent enough. It has been fairly well tested on Linux with glibc | |
| 408 2.0.5 and 2.0.6 and Kinput2 as an XIM server. In this configuration | |
| 409 X11 must be recompiled with X_LOCALE defined because glibc is lacking | |
| 410 localization for Japanese. The XIM support defaults to `no' except | |
| 411 when Motif is detected where it is stable with OSF libraries. The XIM | |
| 412 support in Lesstif (a Free Motif replacement) does not work as of | |
| 413 v0.82. If you enable this option, you will probably wish to install | |
| 414 the `locale' package which contains localized Splash screens and | |
| 415 Menubars. | |
| 416 | |
| 272 | 417 The `--with-xfs' option enables use of a multilingual Menubar. At the |
| 243 | 418 present time, only Japanese and French locales are supported. In |
| 272 | 419 order to use a multilingual Menubar you must have the `locale' package |
| 243 | 420 installed. The `locale' package does not have to be installed when |
| 421 building XEmacs. | |
| 149 | 422 |
| 423 The `--with-canna' option enables the use of the Canna Japanese input | |
| 243 | 424 method. This is stable code and fairly well tested. In order to use |
| 2283 | 425 it, you will have to have the Canna server installed and running. Canna |
| 426 versions 3.2pl2, 3.5b2, and 3.7p3 are known to work. Version 3.2pl2 is | |
| 427 considered more stable than version 3.5b2; the stability of 3.7p3 is | |
| 428 still unknown. If Canna is already installed, configure will autodetect | |
| 429 it, so you never need to explicitly use this option unless your Canna | |
| 430 libraries are somewhere strange. Canna run time support is currently | |
| 431 bundled with the `mule-base' package so there is nothing additional to | |
| 3050 | 432 install in order to use it. NOTE TO OEMS: If modules are supported |
| 433 and enabled, the libcanna API support will be build as a module. | |
| 0 | 434 |
| 243 | 435 The `--with-wnn' and `--with-wnn6' options are for compiling with the Wnn |
| 436 multi-language input method. `--with-wnn' is for compiling with Wnn-4.2, | |
| 437 the Free version of WNN. `--with-wnn6' is for compiling against WNN6, | |
| 438 the commercial version of WNN available from OMRON Corporation. This is | |
| 439 stable code and fairly well tested. In order to build with this | |
| 440 option, you will need to have the `egg-its' lisp package already | |
| 441 installed. | |
| 442 | |
| 443 Please note that it is safe to build with as many of the options | |
| 444 `--with-xim', `--with-canna' and `--with-wnn' as your system | |
| 445 supports. | |
| 104 | 446 |
| 1338 | 447 Options for Developers and Special Requirements |
| 448 ----------------------------------------------- | |
| 449 | |
| 2648 | 450 The `--with-rel-alloc' option can be used to either enable or disable |
| 451 use of the relocating allocator. Turning on --with-rel-alloc will allow | |
| 452 XEmacs to return unused memory to the operating system, thereby reducing | |
| 453 its memory footprint. However, it may make XEmacs runs more slowly, | |
| 1338 | 454 especially if your system's `mmap' implementation is missing or |
| 2648 | 455 inefficient. Generally, it's best to go with the default configuration |
| 456 for your system. You can tweak this based on how you use XEmacs, and | |
| 457 the memory and cpu resources available on your system. | |
| 1338 | 458 |
| 459 The `--with-system-malloc' option can be used to either enable or | |
| 460 disable use of the system malloc. Generally, it's best to go with the | |
| 461 default configuration for your system. Note that on many systems | |
| 462 using the system malloc disables the use of the relocating allocator. | |
| 463 | |
| 464 The `--with-debug-malloc' option can be used to link a special | |
| 465 debugging version of malloc. Debug Malloc is not included with XEmacs | |
| 466 and is intended for use only by the developers. It may be obtained | |
| 467 from <URL:http://www.letters.com/dmalloc/>. | |
| 468 | |
|
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4790
diff
changeset
|
469 The `--with-debug' and `--with-error-checking' options are primarily |
|
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4790
diff
changeset
|
470 useful to the developers. `--with-debug' incorporates code for |
| 2648 | 471 performing various tests, but does not impose a speed penalty. |
|
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4790
diff
changeset
|
472 `--with-error-checking' adds additional tests to many of the commonly |
| 2648 | 473 used macros, and imposes a speed penalty. Using either or both of these |
| 474 options can make bug reports more useful to the developers. | |
| 1338 | 475 |
| 2648 | 476 The `--verbose' option is useful only to the developers. It displays |
| 477 additional information, useful for debugging `configure'. | |
| 1338 | 478 |
| 442 | 479 MAIL LOCKING |
| 480 ============ | |
| 481 | |
| 845 | 482 For most platforms, configure or the src/s file have the preferred |
| 483 method for locking mail spool files preconfigured. Otherwise you must | |
|
5384
3889ef128488
Fix misspelled words, and some grammar, across the entire source tree.
Jerry James <james@xemacs.org>
parents:
5150
diff
changeset
|
484 find out for yourself. Do not choose a locking protocol "on the |
| 845 | 485 objective merits." XEmacs must use the same method as other mail |
| 1338 | 486 utilities on your system, or you WILL lose mail. |
| 845 | 487 |
| 488 Presently, XEmacs supports lockf, flock, and dot locking. Specify the | |
| 2648 | 489 locking method via the --with-mail-locking=METHOD option to configure. |
| 490 Valid values for METHOD are --with-mail-locking are `lockf', `flock', | |
| 491 and `dot'. | |
| 442 | 492 |
| 493 RUNNING CONFIGURE | |
| 494 ================= | |
| 495 | |
| 149 | 496 `configure' doesn't do any compilation or installation itself. It |
| 497 just creates the files that influence those things: `./src/config.h', | |
| 1338 | 498 and all the Makefiles in the build tree. |
| 104 | 499 |
| 0 | 500 When it is done, `configure' prints a description of what it did and |
| 501 creates a shell script `config.status' which, when run, recreates the | |
| 502 same configuration. If `configure' exits with an error after | |
| 1338 | 503 disturbing the status quo, it removes `config.status'. If `configure' |
| 504 doesn't work as expected, the file `config.log' contains details of | |
| 505 the tests run and their results. | |
| 0 | 506 |
| 442 | 507 AUXILIARY PATHS |
| 508 =============== | |
| 509 | |
| 510 Look at `./lisp/paths.el'; if some of those values are not right for | |
| 511 your system, set up the file `./lisp/site-init.el' with XEmacs Lisp | |
| 512 code to override them; it is not a good idea to edit paths.el itself. | |
| 513 YOU MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES, rather than | |
| 514 `defvar', as used by `./lisp/paths.el'. For example, | |
| 0 | 515 |
| 516 (setq news-inews-program "/usr/bin/inews") | |
| 517 | |
| 518 is how you would override the default value of the variable | |
| 519 news-inews-program (which is "/usr/local/inews"). | |
| 520 | |
| 521 Before you override a variable this way, *look at the value* that the | |
| 522 variable gets by default! Make sure you know what kind of value the | |
| 523 variable should have. If you don't pay attention to what you are | |
| 524 doing, you'll make a mistake. | |
| 525 | |
| 392 | 526 Things may malfunction if the variable `directory-abbrev-alist' is not |
| 527 set up to translate "temporary" automounter mount points into the | |
| 528 canonical form. XEmacs tries to detect how your automounter is | |
| 529 configured. If you have an unusual automounter configuration that | |
| 530 XEmacs cannot detect, you may need to change the value of | |
| 531 `directory-abbrev-alist'. | |
| 371 | 532 |
| 442 | 533 SITE-SPECIFIC STARTUP CODE |
| 534 ========================== | |
| 535 | |
| 536 Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs Lisp | |
| 537 code you want XEmacs to load before it is dumped out. Use | |
| 0 | 538 site-load.el for additional libraries if you arrange for their |
| 539 documentation strings to be in the lib-src/DOC file (see | |
| 540 src/Makefile.in.in if you wish to figure out how to do that). For all | |
| 541 else, use site-init.el. | |
| 542 | |
| 543 Note that, on some systems, the code you place in site-init.el must | |
| 544 not use expand-file-name or any other function which may look | |
| 545 something up in the system's password and user information database. | |
| 546 See `./PROBLEMS' for more details on which systems this affects. | |
| 547 | |
| 548 The `site-*.el' files are nonexistent in the distribution. You do not | |
| 549 need to create them if you have nothing to put in them. | |
| 550 | |
| 442 | 551 TERMCAP CONFIGURATION |
| 552 ===================== | |
| 553 | |
| 554 Refer to the file `./etc/TERMS' for information on fields you may | |
| 0 | 555 wish to add to various termcap entries. The files `./etc/termcap.ucb' |
| 556 and `./etc/termcap.dat' may already contain appropriately-modified | |
| 557 entries. | |
| 558 | |
| 442 | 559 RUNNING MAKE |
| 560 ============ | |
| 561 | |
| 562 Run `make' in the top directory of the XEmacs distribution to finish | |
| 0 | 563 building XEmacs in the standard way. The final executable file is |
| 1338 | 564 named `src/xemacs'. You can execute this file in place without |
| 0 | 565 copying it, if you wish; then it automatically uses the sibling |
| 566 directories ../lisp, ../lib-src, ../info. | |
| 567 | |
| 1338 | 568 Or you can install the executable and the other XEmacs into their |
| 569 permanent locations, with `make install'. By default, XEmacs's files | |
| 0 | 570 are installed in the following directories: |
| 571 | |
| 572 `/usr/local/bin' holds the executable programs users normally run - | |
| 388 | 573 `xemacs', `etags', `ctags', `b2m', `emacsclient', `ellcc', |
|
4782
1523f1d28be1
Remove more obsolete files. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
4769
diff
changeset
|
574 `gnuclient', `gnudoit', and `gnuattach'. |
| 0 | 575 |
|
5150
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
576 `/usr/local/share/xemacs-VERSION/lisp' holds the Emacs Lisp libraries; |
| 0 | 577 `VERSION' stands for the number of the XEmacs version |
| 578 you are installing, like `18.59' or `19.14'. Since | |
| 579 the lisp libraries change from one version of XEmacs to | |
| 580 another, including the version number in the path | |
| 581 allows you to have several versions of XEmacs installed | |
| 582 at the same time; this means that you don't have to | |
| 583 make XEmacs unavailable while installing a new version. | |
| 584 | |
| 585 XEmacs searches for its lisp files in these | |
| 586 directories, and then in | |
|
5150
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
587 `/usr/local/share/xemacs/site-lisp/*'. |
| 0 | 588 |
|
5150
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
589 `/usr/local/share/xemacs-VERSION/etc' holds the XEmacs tutorial, the |
|
4785
d6cfba1cc388
Remove the lib-src/yow binary, which is currently unused anyway. See message
Jerry James <james@xemacs.org>
parents:
4782
diff
changeset
|
590 Unicode database, and other architecture-independent |
| 0 | 591 files XEmacs might need while running. VERSION is as |
| 592 specified for `.../lisp'. | |
| 593 | |
|
5150
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
594 `/usr/local/share/xemacs/lock' contains files indicating who is |
| 0 | 595 editing what, so XEmacs can detect editing clashes |
| 596 between users. | |
| 597 | |
| 598 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME' contains executable | |
| 599 programs used by XEmacs that users are not expected to | |
| 600 run themselves, and the DOC file. `VERSION' is the | |
| 601 number of the XEmacs version you are installing, and | |
| 243 | 602 `CONFIGURATION-NAME' is the host type of your system. |
| 603 Since these files are specific to the version of | |
| 604 XEmacs, operating system, and architecture in use, | |
| 605 including the configuration name in the path allows | |
| 606 you to have several versions of XEmacs for any mix of | |
| 607 machines and operating systems installed at the same | |
| 608 time; this is useful for sites at which different | |
| 609 kinds of machines share the file system XEmacs is | |
| 610 installed on. | |
| 0 | 611 |
| 388 | 612 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules' holds the Emacs |
| 613 dynamically loadable modules. These are special programs | |
| 614 typically written in C that can be loaded in much the same | |
| 615 way that Lisp packages are. Not all systems support | |
| 616 dynamic modules, so do not be alarmed if this directory | |
| 617 does not exist or is empty. | |
| 618 | |
| 619 XEmacs searches for modules in this directory, or any | |
| 620 sub-directory of it, and then in | |
| 621 `/usr/local/lib/xemacs/site-modules/*'. | |
| 622 | |
|
5150
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
623 `/usr/local/share/xemacs-VERSION/info' holds the on-line documentation |
| 0 | 624 for XEmacs, known as "info files". |
| 625 | |
| 626 `/usr/local/man/man1' holds the man pages for the programs installed | |
| 627 in `/usr/local/bin'. | |
| 628 | |
| 629 If these directories are not what you want, you can specify where to | |
| 630 install XEmacs's libraries and data files or where XEmacs should search | |
| 631 for its lisp files by giving values for `make' variables as part of | |
| 442 | 632 the command. |
| 0 | 633 |
| 634 You can change where the build process installs XEmacs and its data | |
| 635 files by specifying values for `make' variables as part of the `make' | |
| 636 command line. For example, if you type | |
| 637 | |
| 638 make install bindir=/usr/local/gnubin | |
| 639 | |
| 640 the `bindir=/usr/local/gnubin' argument indicates that the XEmacs | |
| 641 executable files should go in `/usr/local/gnubin', not | |
| 642 `/usr/local/bin'. | |
| 643 | |
| 644 Here is a complete list of the variables you may want to set. | |
| 645 | |
| 646 `bindir' indicates where to put executable programs that users can | |
| 647 run. This defaults to /usr/local/bin. | |
| 648 | |
| 649 `datadir' indicates where to put the architecture-independent | |
| 650 read-only data files that XEmacs refers to while it runs; it | |
|
5150
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
651 defaults to /usr/local/data. We create the following |
| 0 | 652 subdirectories under `datadir': |
| 653 - `xemacs-VERSION/lisp', containing the XEmacs lisp libraries, and | |
| 654 | |
| 655 - `xemacs-VERSION/etc', containing the XEmacs tutorial and the | |
| 656 `yow' database. | |
| 657 `VERSION' is the number of the XEmacs version you are installing, | |
| 658 like `18.59' or `19.14'. Since these files vary from one version | |
| 659 of XEmacs to another, including the version number in the path | |
| 660 allows you to have several versions of XEmacs installed at the | |
| 661 same time; this means that you don't have to make XEmacs | |
| 662 unavailable while installing a new version. | |
| 663 | |
|
5150
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
664 `datarootdir' indicates where to put the documentation. (Usually, |
|
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
665 this is identical to `datadir'---in the default configuration |
|
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
666 `datadir' is set to the value of `datarootdir'.) |
|
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
667 Specifically, the man pages are put in the `man' subdirectory |
|
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
668 of `datarootdir', and the info pages are put in the |
|
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
669 `xemacs/info' subdirectory. |
|
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
670 |
| 0 | 671 `statedir' indicates where to put architecture-independent data files |
| 672 that XEmacs modifies while it runs; it defaults to | |
| 673 /usr/local/lib as well. We create the following | |
| 674 subdirectories under `statedir': | |
| 675 - `xemacs/lock', containing files indicating who is editing | |
| 676 what, so XEmacs can detect editing clashes between | |
| 677 users. | |
| 678 | |
| 679 `libdir' indicates where to put architecture-specific data files that | |
| 680 XEmacs refers to as it runs; it too defaults to `/usr/local/lib'. | |
| 681 We create the following subdirectories under `libdir': | |
| 682 - `xemacs-VERSION/CONFIGURATION-NAME', containing executable | |
| 683 programs used by XEmacs that users are not expected to run | |
| 1338 | 684 themselves, and the DOC file. |
| 0 | 685 `VERSION' is the number of the XEmacs version you are installing, |
| 243 | 686 and `CONFIGURATION-NAME' is the host type of your system. |
| 687 Since these files are specific to the version of XEmacs, | |
| 688 operating system, and architecture in use, including the | |
| 689 configuration name in the path allows you to have several | |
| 690 versions of XEmacs for any mix of machines and operating | |
| 691 systems installed at the same time; this is useful for sites | |
| 692 at which different kinds of machines share the file system | |
| 693 XEmacs is installed on. | |
| 0 | 694 |
| 695 `infodir' indicates where to put the info files distributed with | |
|
5150
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
696 XEmacs; it defaults to `/usr/local/share/xemacs-VERSION/info'. |
| 0 | 697 |
| 698 `mandir' indicates where to put the man pages for XEmacs and its | |
| 699 utilities (like `etags'); it defaults to | |
| 700 `/usr/local/man/man1'. | |
| 701 | |
| 702 `prefix' doesn't give a path for any specific part of XEmacs; instead, | |
| 703 its value is used to determine the defaults for all the | |
| 704 architecture-independent path variables - `datadir', | |
| 705 `statedir', `infodir', and `mandir'. Its default value is | |
| 706 `/usr/local'; the other variables add on `lib' or `man' to it | |
| 707 by default. | |
| 708 | |
| 709 For example, suppose your site generally places GNU software | |
| 710 under `/usr/users/software/gnusoft' instead of `/usr/local'. | |
| 711 By including | |
| 712 `prefix=/usr/users/software/gnusoft' | |
| 713 in the arguments to `make', you can instruct the build process | |
| 714 to place all of the XEmacs data files in the appropriate | |
| 715 directories under that path. | |
| 716 | |
| 717 `exec_prefix' serves the same purpose as `prefix', but instead | |
| 718 determines the default values for the architecture-dependent | |
| 719 path variables - `bindir' and `libdir'. | |
| 720 | |
| 721 The above variables serve analogous purposes in the makefiles for all | |
| 722 GNU software; here are some variables specific to XEmacs. | |
| 723 | |
| 724 `lispdir' indicates where XEmacs installs and expects its lisp | |
| 725 libraries. Its default value, based on `datadir' (see above), | |
|
5150
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
726 is `/usr/local/share/xemacs-VERSION/lisp' (where `VERSION' is as |
| 0 | 727 described above). |
| 728 | |
| 729 `sitelispdir' indicates where XEmacs should search for lisp libraries | |
| 730 specific to your site. XEmacs checks them in order before | |
| 731 checking `lispdir'. Its default value, based on `datadir' | |
|
5150
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
732 (see above), is `/usr/local/share/xemacs/site-lisp'. |
| 0 | 733 |
| 734 `etcdir' indicates where XEmacs should install and expect the rest of | |
| 735 its architecture-independent data, like the tutorial and yow | |
| 736 database. Its default value, based on `datadir' | |
|
5150
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
737 (see above), is `/usr/local/share/xemacs-VERSION/etc' (where |
| 0 | 738 `VERSION' is as described above). |
| 739 | |
| 740 `lockdir' indicates the directory where XEmacs keeps track of its | |
| 741 locking information. Its default value, based on `statedir' | |
|
5150
0353d546dc1e
Reflect change from `lib' to `share' in INSTALL.
Mike Sperber <sperber@deinprogramm.de>
parents:
4842
diff
changeset
|
742 (see above), is `/usr/local/share/xemacs/lock'. |
| 0 | 743 |
| 744 `archlibdir' indicates where XEmacs installs and expects the | |
| 745 executable files and other architecture-dependent data it uses | |
| 746 while running. Its default value, based on `libdir' (see | |
| 747 above), is `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME' | |
| 748 (where VERSION and CONFIGURATION-NAME are as described above). | |
| 749 | |
| 420 | 750 `docdir' indicates where to put Lisp documentation strings that XEmacs |
| 442 | 751 refers to as it runs. It defaults to the value of `archlibdir' |
| 420 | 752 (see above). |
| 753 | |
| 388 | 754 `moduledir' indicates where XEmacs installs and expects to find |
| 755 any dynamic modules. Its default value, based on | |
| 756 `archlibdir' (see above) is | |
| 757 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules' | |
| 758 (where VERSION and CONFIGURATION-NAME are as described above). | |
| 759 By their very nature, dynamic loadable modules are architecture- | |
| 442 | 760 dependent, and care should be taken not to set this directory |
| 761 to a system- or architecture-independent directory. | |
| 388 | 762 |
| 0 | 763 Remember that you must specify any variable values you need each time |
| 764 you run `make' in the top directory. If you run `make' once to build | |
| 765 xemacs, test it, and then run `make' again to install the files, you | |
| 766 must provide the same variable settings each time. To make the | |
| 767 settings persist, you can edit them into the `Makefile' in the top | |
| 768 directory, but be aware that running the `configure' program erases | |
| 769 `Makefile' and rebuilds it from `Makefile.in'. | |
| 770 | |
| 771 The top-level Makefile stores the variable settings it used in the | |
| 772 Makefiles for the subdirectories, so you don't have to specify them | |
| 773 when running make in the subdirectories. | |
| 774 | |
| 442 | 775 Using GNU Make allows for simultaneous builds with and without the |
| 776 --srcdir option. | |
| 0 | 777 |
| 1283 | 778 STRIPPING BINARIES |
| 779 ================== | |
| 780 | |
| 781 This saves nothing but a small (by modern standards) amount of disk | |
| 782 space; the symbol table is not loaded into memory at execution time. | |
| 783 If you do encounter a crash or other serious bug, the first thing the | |
| 784 developers will do is ask you to build an XEmacs with a full symbol | |
| 785 table, anyway. Don't strip the XEmacs binary. | |
| 786 | |
| 442 | 787 MAIL-LOCKING POST-INSTALLATION |
| 788 ============================== | |
| 0 | 789 |
| 442 | 790 If your system uses dot-locking to interlock access to mailer inbox |
| 791 files, then you might need to make the movemail program setuid or | |
| 792 setgid to enable it to write the lock files. We believe this is safe. | |
| 793 The setuid/setgid bits need not be set on any other XEmacs-related | |
| 794 executables. | |
| 0 | 795 |
| 442 | 796 CLEANING UP |
| 797 ========== | |
| 0 | 798 |
| 442 | 799 You are done with the hard part! You can remove executables and |
| 800 object files from the build directory by typing `make clean'. To also | |
| 801 remove the files that `configure' created (so you can compile XEmacs | |
| 802 for a different configuration), type `make distclean'. | |
| 0 | 803 |
|
4508
742a23369b74
Improve package documentation.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
3179
diff
changeset
|
804 READ THE FAQ |
|
742a23369b74
Improve package documentation.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
3179
diff
changeset
|
805 ============ |
| 0 | 806 |
| 442 | 807 Do it! |
| 0 | 808 |
| 809 PROBLEMS | |
| 442 | 810 ======== |
| 398 | 811 |
| 1338 | 812 The most common problem is that you forgot to read and follow the |
|
4508
742a23369b74
Improve package documentation.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
3179
diff
changeset
|
813 directions for installing bootstrap packages in the FAQ. You can not |
|
742a23369b74
Improve package documentation.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
3179
diff
changeset
|
814 have a normal XEmacs without downloading some additional packages. |
| 424 | 815 |
| 1036 | 816 See the file PROBLEMS in this directory for a list of various problems |
| 817 sometimes encountered, and what to do about them. PROBLEMS is also | |
| 818 the place where platform-specific build notes can be found. | |
| 3050 | 819 |
| 820 APPENDIX: CORRESPONDENCE TO OLD CONFIGURE OPTIONS | |
| 821 ================================================= | |
| 822 | |
| 823 Here is a full translation of command line arguments. Note that any | |
| 824 option starting with "--with" may also be specified with "--enable". | |
| 825 This list may not be up-to-date. | |
| 826 | |
| 827 Old | New | |
| 828 ------------------------------------------ | |
| 829 General options: | |
| 830 ---------------- | |
| 831 | |
| 832 --help Unchanged | |
| 833 --usage Removed | |
| 834 --verbose Unchanged | |
| 835 --extra-verbose Removed | |
| 836 | |
| 837 Compilation options: | |
| 838 -------------------- | |
| 839 | |
| 840 --compiler --with-compiler | |
| 841 --xemacs-compiler --with-xemacs-compiler | |
| 842 --with-gcc Unchanged | |
| 843 --cflags --with-cflags | |
| 844 --cflags-warning --with-cflags-warning | |
| 845 --debug --with-debug | |
| 846 New --with-cflags-debug | |
| 847 New --with-optimization | |
| 848 New --with-cflags-optimization | |
| 849 --cpp --with-cpp | |
| 850 --cppflags --with-cppflags | |
| 851 --libs --with-libs | |
| 852 --ldflags --with-ldflags | |
| 853 --site-includes --with-site-includes | |
| 854 --site-libraries --with-site-libraries | |
| 855 --site-prefixes --with-site-prefixes | |
| 856 --site-runtime-libraries --with-site-runtime-libraries | |
| 857 --dynamic --with-dynamic | |
| 858 --srcdir Unchanged | |
| 859 | |
| 860 Installation options: | |
| 861 --------------------- | |
| 862 | |
| 863 --prefix Unchanged | |
| 864 --with-prefix Unchanged | |
| 865 --with-netinstall Unchanged | |
| 866 --bindir Unchanged | |
| 867 --datadir Unchanged | |
| 868 --statedir Unchanged | |
| 869 --libdir Unchanged | |
| 870 --infodir Unchanged | |
| 871 --mandir Unchanged | |
| 872 --lispdir --with-lispdir | |
| 873 --sitelispdir Removed | |
| 874 --etcdir --with-etcdir | |
| 875 --lockdir Removed | |
| 876 --archlibdir --with-archlibdir | |
| 877 --docdir --with-docdir | |
| 878 --moduledir --with-moduledir | |
| 879 | |
| 880 Run-time path-searching options: | |
| 881 -------------------------------- | |
| 882 | |
| 883 --with-site-lisp Unchanged | |
| 884 --with-site-modules Unchanged | |
| 885 --package-path --with-package-path | |
| 886 --infopath --with-infopath | |
| 887 | |
| 888 Window-system options: | |
| 889 ---------------------- | |
| 890 | |
| 891 --with-gtk Unchanged | |
| 892 --with-gnome Unchanged | |
| 893 --with-x11 Unchanged | |
| 894 --x-includes Unchanged | |
| 895 --x-libraries Unchanged | |
| 896 --with-msw Unchanged | |
| 897 --with-toolbars Unchanged | |
| 898 --with-wmcommand Unchanged | |
| 899 --with-athena Unchanged | |
| 900 --with-menubars Unchanged | |
| 901 --with-scrollbars Unchanged | |
| 902 --with-dialogs Unchanged | |
| 903 --with-widgets Unchanged | |
| 904 --with-dragndrop Unchanged | |
| 905 --with-cde Unchanged | |
| 906 --with-xmu Unchanged | |
| 907 --external-widget --with-external-widget | |
| 908 | |
| 909 TTY (character terminal) options: | |
| 910 --------------------------------- | |
| 911 | |
| 912 --with-tty Unchanged | |
| 913 --with-ncurses Unchanged | |
| 914 --with-gpm Unchanged | |
| 915 | |
| 916 Image options: | |
| 917 -------------- | |
| 918 | |
| 919 --with-xpm Unchanged | |
| 920 --with-png Unchanged | |
| 921 --with-jpeg Unchanged | |
| 922 --with-tiff Unchanged | |
| 923 --with-xface Unchanged | |
| 924 --with-gif Unchanged | |
| 925 | |
| 926 Sound options: | |
| 927 -------------- | |
| 928 | |
| 929 --with-sound Unchanged | |
| 930 --native-sound-lib=LIB --with-native-sound-lib | |
| 931 | |
| 932 Internationalization options: | |
| 933 ----------------------------- | |
| 934 | |
| 935 --with-mule Unchanged | |
| 936 --with-xim Unchanged | |
| 937 --with-canna Unchanged | |
| 938 --with-wnn Unchanged | |
| 939 --with-wnn6 Unchanged | |
| 940 --with-xfs Unchanged | |
| 941 | |
| 942 File-related options: | |
| 943 --------------------- | |
| 944 | |
| 945 --with-default-eol-detection Unchanged | |
| 946 --with-clash-detection Unchanged | |
| 947 | |
| 948 Database options: | |
| 949 ----------------- | |
| 950 | |
| 951 --with-database Unchanged | |
| 952 --with-ldap Unchanged | |
| 953 --with-postgresql Unchanged | |
| 954 | |
| 955 Mail options: | |
| 956 ------------- | |
| 957 | |
| 958 --mail-locking=TYPE --with-mail-locking | |
| 959 --with-pop Unchanged | |
| 960 --with-kerberos Unchanged | |
| 961 --with-hesiod Unchanged | |
| 962 | |
| 963 Networking options: | |
| 964 ------------------- | |
| 965 | |
| 966 --with-tooltalk Unchanged | |
| 967 --with-socks Unchanged | |
| 968 --with-dnet Unchanged | |
| 969 --with-ipv6-cname Unchanged | |
| 970 | |
| 971 Memory allocation options: | |
| 972 -------------------------- | |
| 973 | |
| 974 --rel-alloc --with-rel-alloc | |
| 975 --with-dlmalloc Unchanged | |
| 976 --with-system-malloc Unchanged | |
| 977 --with-debug-malloc Unchanged | |
| 978 | |
| 979 Emacs Lisp options: | |
| 980 ------------------- | |
| 981 | |
| 982 --use-number-lib --with-bignum | |
| 983 | |
| 984 Debugging options: | |
| 985 ------------------ | |
| 986 | |
| 987 --debug --with-debug | |
| 988 --error-checking --with-error-checking | |
| 989 --memory-usage-stats --with-memory-usage-stats | |
| 990 --quick-build --with-quick-build | |
| 991 --use-union-type --with-union-type | |
| 992 --with-quantify Unchanged | |
| 993 --with-purify Unchanged | |
| 994 | |
| 995 Developer options: | |
| 996 ------------------ | |
| 997 | |
| 998 --with-workshop Unchanged | |
| 999 --pdump --with-pdump | |
| 1000 --use-kkcc --with-kkcc | |
| 1001 --with-modules Unchanged | |
| 1002 | |
| 1003 The output files produced by this new configure should be almost | |
| 1004 identical to those produced by the old. This can be tested with the | |
| 1005 provided regression test script. This script runs the two versions of | |
| 1006 configure with the supplied list of command line arguments and reports | |
| 1007 any differences. Please add your favorite configuration command lines | |
| 1008 to the list before running the test. The script is run as: | |
| 1009 | |
| 1010 $ tests/autoconf/regressiontest.pl /absolute/path/to/2.13/configure \ | |
| 1011 /absolute/path/to/2.59/configure >diffs.txt | |
| 1012 | |
| 1013 The only differences should be: | |
| 1014 - those related to changes in the command line arguments | |
| 1015 - the change of SYS_SIGLIST_DECLARED to HAVE_DECL_SYS_SIGLIST (because the old | |
| 1016 form has been removed), and | |
| 1017 - The removal of trailing comments in src/config.h. | |
| 1018 |
