Mercurial > hg > xemacs-beta
annotate INSTALL @ 4906:6ef8256a020a
implement equalp in C, fix case-folding, add equal() method for keymaps
-------------------- ChangeLog entries follow: --------------------
lisp/ChangeLog addition:
2010-02-01 Ben Wing <ben@xemacs.org>
* cl-extra.el:
* cl-extra.el (cl-string-vector-equalp): Removed.
* cl-extra.el (cl-bit-vector-vector-equalp): Removed.
* cl-extra.el (cl-vector-array-equalp): Removed.
* cl-extra.el (cl-hash-table-contents-equalp): Removed.
* cl-extra.el (equalp): Removed.
* cl-extra.el (cl-mapcar-many):
Comment out the whole `equalp' implementation for the moment;
remove once we're sure the C implementation works.
* cl-macs.el:
* cl-macs.el (equalp):
Simplify the compiler-macro for `equalp' -- once it's in C,
we don't need to try so hard to expand it.
src/ChangeLog addition:
2010-02-01 Ben Wing <ben@xemacs.org>
* abbrev.c (abbrev_match_mapper):
* buffer.h (CANON_TABLE_OF):
* buffer.h:
* editfns.c (Fchar_equal):
* minibuf.c (scmp_1):
* text.c (qxestrcasecmp_i18n):
* text.c (qxestrncasecmp_i18n):
* text.c (qxetextcasecmp):
* text.c (qxetextcasecmp_matching):
Create new macro CANONCASE that converts to a canonical mapping
and use it to do caseless comparisons instead of DOWNCASE.
* alloc.c:
* alloc.c (cons_equal):
* alloc.c (vector_equal):
* alloc.c (string_equal):
* bytecode.c (compiled_function_equal):
* chartab.c (char_table_entry_equal):
* chartab.c (char_table_equal):
* data.c (weak_list_equal):
* data.c (weak_box_equal):
* data.c (ephemeron_equal):
* device-msw.c (equal_devmode):
* elhash.c (hash_table_equal):
* events.c (event_equal):
* extents.c (properties_equal):
* extents.c (extent_equal):
* faces.c:
* faces.c (face_equal):
* faces.c (face_hash):
* floatfns.c (float_equal):
* fns.c:
* fns.c (bit_vector_equal):
* fns.c (plists_differ):
* fns.c (Fplists_eq):
* fns.c (Fplists_equal):
* fns.c (Flax_plists_eq):
* fns.c (Flax_plists_equal):
* fns.c (internal_equal):
* fns.c (internal_equalp):
* fns.c (internal_equal_0):
* fns.c (syms_of_fns):
* glyphs.c (image_instance_equal):
* glyphs.c (glyph_equal):
* glyphs.c (glyph_hash):
* gui.c (gui_item_equal):
* lisp.h:
* lrecord.h (struct lrecord_implementation):
* marker.c (marker_equal):
* number.c (bignum_equal):
* number.c (ratio_equal):
* number.c (bigfloat_equal):
* objects.c (color_instance_equal):
* objects.c (font_instance_equal):
* opaque.c (equal_opaque):
* opaque.c (equal_opaque_ptr):
* rangetab.c (range_table_equal):
* specifier.c (specifier_equal):
Add a `foldcase' param to the equal() method and use it to implement
`equalp' comparisons. Also add to plists_differ(), although we
don't currently use it here.
Rewrite internal_equalp(). Implement cross-type vector comparisons.
Don't implement our own handling of numeric promotion -- just use
the `=' primitive.
Add internal_equal_0(), which takes a `foldcase' param and calls
either internal_equal() or internal_equalp().
* buffer.h:
When given a 0 for buffer (which is the norm when functions don't
have a specific buffer available), use the current buffer's table,
not `standard-case-table'; otherwise the current settings are
ignored.
* casetab.c:
* casetab.c (set_case_table):
When handling old-style vectors of 256 in `set-case-table' don't
overwrite the existing table! Instead create a new table and
populate.
* device-msw.c (sync_printer_with_devmode):
* lisp.h:
* text.c (lisp_strcasecmp_ascii):
Rename lisp_strcasecmp to lisp_strcasecmp_ascii and use
lisp_strcasecmp_i18n for caseless comparisons in some places.
* elhash.c:
Delete unused lisp_string_hash and lisp_string_equal().
* events.h:
* keymap-buttons.h:
* keymap.h:
* keymap.c (keymap_lookup_directly):
* keymap.c (keymap_store):
* keymap.c (FROB):
* keymap.c (key_desc_list_to_event):
* keymap.c (describe_map_mapper):
* keymap.c (INCLUDE_BUTTON_ZERO):
New file keymap-buttons.h; use to handle buttons 1-26 in place of
duplicating code 26 times.
* frame-gtk.c (allocate_gtk_frame_struct):
* frame-msw.c (mswindows_init_frame_1):
Fix some comments about internal_equal() in redisplay that don't
apply any more.
* keymap-slots.h:
* keymap.c:
New file keymap-slots.h. Use it to notate the slots in a keymap
structure, similar to frameslots.h or coding-system-slots.h.
* keymap.c (MARKED_SLOT):
* keymap.c (keymap_equal):
* keymap.c (keymap_hash):
Implement.
tests/ChangeLog addition:
2010-02-01 Ben Wing <ben@xemacs.org>
* automated/case-tests.el:
* automated/case-tests.el (uni-mappings):
* automated/search-tests.el:
Delete old pristine-case-table code. Rewrite the Unicode torture
test to take into account whether overlapping mappings exist for
more than one character, and not doing the upcase/downcase
comparisons in such cases.
* automated/lisp-tests.el (foo):
* automated/lisp-tests.el (string-variable):
* automated/lisp-tests.el (featurep):
Replace Assert (equal ... with Assert-equal; same for other types
of equality. Replace some awkward equivalents of Assert-equalp
with Assert-equalp. Add lots of equalp tests.
* automated/case-tests.el:
* automated/regexp-tests.el:
* automated/search-tests.el:
Fix up the comments at the top of the files. Move rules about where
to put tests into case-tests.el.
* automated/test-harness.el:
* automated/test-harness.el (test-harness-aborted-summary-template): New.
* automated/test-harness.el (test-harness-from-buffer):
* automated/test-harness.el (batch-test-emacs):
Fix Assert-test-not. Create Assert-not-equal and variants.
Delete the doc strings from all these convenience functions to avoid
excessive repetition; instead use one copy in a comment.
| author | Ben Wing <ben@xemacs.org> |
|---|---|
| date | Mon, 01 Feb 2010 01:02:40 -0600 |
| parents | 1d775c6304d1 |
| children | 0353d546dc1e |
| 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). | |
| 260 - The architecture-independent files go in PREFIXDIR/lib/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 |
| 1338 | 287 Configuring Feature Support |
| 288 --------------------------- | |
| 289 | |
| 290 If you don't want X Window System support, specify `--without-x'. If | |
| 291 you omit this option, `configure' will try to autodetect whether your | |
| 292 system has X Window System support, and arrange to use it if present. | |
| 293 | |
| 3050 | 294 The `--with-menubars=TYPE' option allows you to specify which X |
| 0 | 295 toolkit you wish to use for the menubar. The valid options are |
| 149 | 296 `lucid', `motif' and `no'. The default is `lucid' which is a |
| 0 | 297 Motif-lookalike menubar. We highly recommend its usage over the real |
| 298 Motif menubar. (In fact, the Motif menubar is currently broken.) If | |
| 149 | 299 `no' is specified then support for menubars will not be compiled in. |
| 0 | 300 |
| 3050 | 301 The `--with-scrollbars=TYPE' option allows you to specify which X |
| 0 | 302 toolkit you wish to use for the scrollbars. The valid options are |
| 149 | 303 `lucid', `motif', `athena', `athena3d', and `no'. The default is |
| 2648 | 304 `lucid' which is a Motif-lookalike scrollbar. If `no' is specified then |
| 305 support for scrollbars will not be compiled in. | |
| 0 | 306 |
| 3050 | 307 The `--with-dialogs=TYPE' option allows you to specify which X toolkit |
| 219 | 308 you wish to use for the dialog boxes. The valid options are `athena', |
| 243 | 309 `athena3d', `motif, and `no. The `lucid' option is accepted and will |
| 310 result in the `athena' toolkit being used. If the Motif toolkit can be | |
| 311 found the default is `motif'. Otherwise, the default is `athena'. If | |
| 2648 | 312 `no' is specified then support for dialog boxes will not be compiled in. |
| 0 | 313 |
| 3050 | 314 The `--with-toolbars' option allows you to enable or disable toolbar |
| 1338 | 315 support. The default is `yes' if support for a windowing system is |
| 316 included. | |
| 0 | 317 |
| 149 | 318 The `--with-xpm' option specifies that XEmacs should support X11 |
| 0 | 319 Pixmaps. `configure' will attempt to detect if you have the Xpm |
| 320 libraries and define `--with-xpm' for you. | |
| 321 | |
| 322 The `--with-xface' option specifies that XEmacs should support | |
| 323 X-Faces. `configure' will attempt to detect if you have the compface | |
| 324 library and define `--with-xface' for you. | |
| 325 | |
| 3050 | 326 The `--with-database' option specifies that XEmacs should be built |
| 1338 | 327 with simple database support. The valid options are `no' or a |
| 0 | 328 comma-separated list of one or more of `dbm', `gnudbm' or `berkdb'. |
| 329 `configure' will attempt to detect the necessary libraries and header | |
| 3050 | 330 files and define `--with-database' for you. |
| 0 | 331 |
| 1338 | 332 The `--with-postgresql' option specifies that XEmacs should be built |
| 333 with PostgreSQL support, linking with libpq. `configure' will attempt | |
| 334 to detect whether PostgreSQL support is available, and automatically | |
| 3050 | 335 define `--with-postgresql' for you. NOTE TO OEMS: If modules are |
| 336 supported and enabled, the libpq API support will be build as a | |
| 337 module. | |
| 1338 | 338 |
| 339 The `--with-ldap' option specifies that XEmacs should be build with | |
| 340 LDAP support, using the OpenLDAP libraries. `configure' will attempt | |
| 341 to detect whether LDAP support is available, and automatically define | |
| 3050 | 342 `--with-ldap' for you. NOTE TO OEMS: If modules are supported and |
| 343 enabled, the OpenLDAP API support will be build as a module. | |
| 1338 | 344 |
| 0 | 345 The `--with-socks' option specifies that XEmacs should be built with |
| 149 | 346 SOCKS support. This requires the libsocks library. |
| 0 | 347 |
| 3050 | 348 The `--with-external-widget' option specifies that XEmacs should be |
| 2648 | 349 built with support for being used as a widget by other X11 applications. |
| 1338 | 350 This functionality should be considered beta. |
| 351 | |
| 3050 | 352 The `--with-sound=TYPE' option specifies that XEmacs should be built |
| 353 with sound support. Native (`--with-sound=native') sound support is | |
| 1338 | 354 currently available only on Sun SparcStations, SGI's, HP9000s, and |
| 355 systems (such as Linux) with soundcard.h. Network Audio Support (NAS) | |
| 3050 | 356 (`--with-sound=nas') is an extension to X that you may or may not have |
| 2648 | 357 for your system. For NAS, you will probably need to provide the paths |
| 358 to the nas include and library directories to configure. If | |
| 3050 | 359 `--with-sound' is not specified, `configure' will attempt to determine |
| 360 if your configuration supports native sound and define --with-sound | |
| 2648 | 361 for you. If your native sound library is not in a standard location you |
| 362 can specify it with the `--with-native-sound-lib=LIB' flag. For Linux, | |
| 363 `/dev/audio' is required for SunAudio files and `/dev/dsp' is required | |
| 364 for raw data and WAVE format files. | |
| 1338 | 365 |
| 0 | 366 The `--with-tooltalk' option specifies that XEmacs should be built |
| 367 with ToolTalk support for interconnecting with other applications. | |
| 243 | 368 ToolTalk is not yet supported on all architectures. If you use this |
| 369 option, you should have the tooltalk package (see etc/PACKAGES) | |
| 370 installed prior to building XEmacs. | |
| 0 | 371 |
| 372 The `--with-sparcworks' option specifies that XEmacs should be built | |
| 149 | 373 with support for Sun Sparcworks 3.0.1 and up (including Sun WorkShop). |
| 374 This functionality is only of use on SunOS 4.1.x and Solaris 2.x | |
| 272 | 375 systems. If you use this option, you should have the Sun package (see |
| 243 | 376 etc/PACKAGES) installed prior to building XEmacs. |
| 0 | 377 |
| 149 | 378 The `--with-cde' option allows you to enable or disable CDE drag and |
| 0 | 379 drop support. `configure' will attempt to detect this option and |
| 380 define `--with-cde' for you. | |
| 381 | |
| 1338 | 382 Internationalization Options |
| 383 ---------------------------- | |
| 0 | 384 |
| 3050 | 385 The `--with-mule' option enables MUlti-Lingual Emacs (Mule) support, |
| 1338 | 386 needed to support non-Latin-1 (including Asian) languages. Mule |
| 387 support is required for Asian language and Unicode (multibyte and wide | |
| 388 character) support. With the advent of the Euro and European | |
| 389 Community expansion, Mule support is also recommended for Western | |
| 390 Europeans. Enabling Mule support requires the mule-base package | |
| 391 installed prior to building XEmacs. The `--with-xim', --with-xfs', | |
| 392 `--with-canna', `--with-wnn' and `--with-wnn6' options require | |
| 393 Mule support. | |
| 149 | 394 |
| 395 The `--with-xim' option enables use of the X11 XIM mechanism to allow | |
| 396 an input method to input text into XEmacs. The input method is shared | |
| 397 among all the X applications sharing an X display and using the same | |
| 151 | 398 language. The XIM support comes in two flavors: `motif' and `xlib'. |
| 399 The Motif support (the XmIm* functions) is preferred when available. | |
| 243 | 400 The xlib XIM support works reasonably well so long as the X11 libraries |
| 401 are recent enough. It has been fairly well tested on Linux with glibc | |
| 402 2.0.5 and 2.0.6 and Kinput2 as an XIM server. In this configuration | |
| 403 X11 must be recompiled with X_LOCALE defined because glibc is lacking | |
| 404 localization for Japanese. The XIM support defaults to `no' except | |
| 405 when Motif is detected where it is stable with OSF libraries. The XIM | |
| 406 support in Lesstif (a Free Motif replacement) does not work as of | |
| 407 v0.82. If you enable this option, you will probably wish to install | |
| 408 the `locale' package which contains localized Splash screens and | |
| 409 Menubars. | |
| 410 | |
| 272 | 411 The `--with-xfs' option enables use of a multilingual Menubar. At the |
| 243 | 412 present time, only Japanese and French locales are supported. In |
| 272 | 413 order to use a multilingual Menubar you must have the `locale' package |
| 243 | 414 installed. The `locale' package does not have to be installed when |
| 415 building XEmacs. | |
| 149 | 416 |
| 417 The `--with-canna' option enables the use of the Canna Japanese input | |
| 243 | 418 method. This is stable code and fairly well tested. In order to use |
| 2283 | 419 it, you will have to have the Canna server installed and running. Canna |
| 420 versions 3.2pl2, 3.5b2, and 3.7p3 are known to work. Version 3.2pl2 is | |
| 421 considered more stable than version 3.5b2; the stability of 3.7p3 is | |
| 422 still unknown. If Canna is already installed, configure will autodetect | |
| 423 it, so you never need to explicitly use this option unless your Canna | |
| 424 libraries are somewhere strange. Canna run time support is currently | |
| 425 bundled with the `mule-base' package so there is nothing additional to | |
| 3050 | 426 install in order to use it. NOTE TO OEMS: If modules are supported |
| 427 and enabled, the libcanna API support will be build as a module. | |
| 0 | 428 |
| 243 | 429 The `--with-wnn' and `--with-wnn6' options are for compiling with the Wnn |
| 430 multi-language input method. `--with-wnn' is for compiling with Wnn-4.2, | |
| 431 the Free version of WNN. `--with-wnn6' is for compiling against WNN6, | |
| 432 the commercial version of WNN available from OMRON Corporation. This is | |
| 433 stable code and fairly well tested. In order to build with this | |
| 434 option, you will need to have the `egg-its' lisp package already | |
| 435 installed. | |
| 436 | |
| 437 Please note that it is safe to build with as many of the options | |
| 438 `--with-xim', `--with-canna' and `--with-wnn' as your system | |
| 439 supports. | |
| 104 | 440 |
| 1338 | 441 Options for Developers and Special Requirements |
| 442 ----------------------------------------------- | |
| 443 | |
| 2648 | 444 The `--with-rel-alloc' option can be used to either enable or disable |
| 445 use of the relocating allocator. Turning on --with-rel-alloc will allow | |
| 446 XEmacs to return unused memory to the operating system, thereby reducing | |
| 447 its memory footprint. However, it may make XEmacs runs more slowly, | |
| 1338 | 448 especially if your system's `mmap' implementation is missing or |
| 2648 | 449 inefficient. Generally, it's best to go with the default configuration |
| 450 for your system. You can tweak this based on how you use XEmacs, and | |
| 451 the memory and cpu resources available on your system. | |
| 1338 | 452 |
| 453 The `--with-system-malloc' option can be used to either enable or | |
| 454 disable use of the system malloc. Generally, it's best to go with the | |
| 455 default configuration for your system. Note that on many systems | |
| 456 using the system malloc disables the use of the relocating allocator. | |
| 457 | |
| 458 The `--with-debug-malloc' option can be used to link a special | |
| 459 debugging version of malloc. Debug Malloc is not included with XEmacs | |
| 460 and is intended for use only by the developers. It may be obtained | |
| 461 from <URL:http://www.letters.com/dmalloc/>. | |
| 462 | |
|
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4790
diff
changeset
|
463 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
|
464 useful to the developers. `--with-debug' incorporates code for |
| 2648 | 465 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
|
466 `--with-error-checking' adds additional tests to many of the commonly |
| 2648 | 467 used macros, and imposes a speed penalty. Using either or both of these |
| 468 options can make bug reports more useful to the developers. | |
| 1338 | 469 |
| 2648 | 470 The `--verbose' option is useful only to the developers. It displays |
| 471 additional information, useful for debugging `configure'. | |
| 1338 | 472 |
| 442 | 473 MAIL LOCKING |
| 474 ============ | |
| 475 | |
| 845 | 476 For most platforms, configure or the src/s file have the preferred |
| 477 method for locking mail spool files preconfigured. Otherwise you must | |
| 478 find out for youself. Do not choose a locking protocol "on the | |
| 479 objective merits." XEmacs must use the same method as other mail | |
| 1338 | 480 utilities on your system, or you WILL lose mail. |
| 845 | 481 |
| 482 Presently, XEmacs supports lockf, flock, and dot locking. Specify the | |
| 2648 | 483 locking method via the --with-mail-locking=METHOD option to configure. |
| 484 Valid values for METHOD are --with-mail-locking are `lockf', `flock', | |
| 485 and `dot'. | |
| 442 | 486 |
| 487 RUNNING CONFIGURE | |
| 488 ================= | |
| 489 | |
| 149 | 490 `configure' doesn't do any compilation or installation itself. It |
| 491 just creates the files that influence those things: `./src/config.h', | |
| 1338 | 492 and all the Makefiles in the build tree. |
| 104 | 493 |
| 0 | 494 When it is done, `configure' prints a description of what it did and |
| 495 creates a shell script `config.status' which, when run, recreates the | |
| 496 same configuration. If `configure' exits with an error after | |
| 1338 | 497 disturbing the status quo, it removes `config.status'. If `configure' |
| 498 doesn't work as expected, the file `config.log' contains details of | |
| 499 the tests run and their results. | |
| 0 | 500 |
| 442 | 501 AUXILIARY PATHS |
| 502 =============== | |
| 503 | |
| 504 Look at `./lisp/paths.el'; if some of those values are not right for | |
| 505 your system, set up the file `./lisp/site-init.el' with XEmacs Lisp | |
| 506 code to override them; it is not a good idea to edit paths.el itself. | |
| 507 YOU MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES, rather than | |
| 508 `defvar', as used by `./lisp/paths.el'. For example, | |
| 0 | 509 |
| 510 (setq news-inews-program "/usr/bin/inews") | |
| 511 | |
| 512 is how you would override the default value of the variable | |
| 513 news-inews-program (which is "/usr/local/inews"). | |
| 514 | |
| 515 Before you override a variable this way, *look at the value* that the | |
| 516 variable gets by default! Make sure you know what kind of value the | |
| 517 variable should have. If you don't pay attention to what you are | |
| 518 doing, you'll make a mistake. | |
| 519 | |
| 392 | 520 Things may malfunction if the variable `directory-abbrev-alist' is not |
| 521 set up to translate "temporary" automounter mount points into the | |
| 522 canonical form. XEmacs tries to detect how your automounter is | |
| 523 configured. If you have an unusual automounter configuration that | |
| 524 XEmacs cannot detect, you may need to change the value of | |
| 525 `directory-abbrev-alist'. | |
| 371 | 526 |
| 442 | 527 SITE-SPECIFIC STARTUP CODE |
| 528 ========================== | |
| 529 | |
| 530 Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs Lisp | |
| 531 code you want XEmacs to load before it is dumped out. Use | |
| 0 | 532 site-load.el for additional libraries if you arrange for their |
| 533 documentation strings to be in the lib-src/DOC file (see | |
| 534 src/Makefile.in.in if you wish to figure out how to do that). For all | |
| 535 else, use site-init.el. | |
| 536 | |
| 537 Note that, on some systems, the code you place in site-init.el must | |
| 538 not use expand-file-name or any other function which may look | |
| 539 something up in the system's password and user information database. | |
| 540 See `./PROBLEMS' for more details on which systems this affects. | |
| 541 | |
| 542 The `site-*.el' files are nonexistent in the distribution. You do not | |
| 543 need to create them if you have nothing to put in them. | |
| 544 | |
| 442 | 545 TERMCAP CONFIGURATION |
| 546 ===================== | |
| 547 | |
| 548 Refer to the file `./etc/TERMS' for information on fields you may | |
| 0 | 549 wish to add to various termcap entries. The files `./etc/termcap.ucb' |
| 550 and `./etc/termcap.dat' may already contain appropriately-modified | |
| 551 entries. | |
| 552 | |
| 442 | 553 RUNNING MAKE |
| 554 ============ | |
| 555 | |
| 556 Run `make' in the top directory of the XEmacs distribution to finish | |
| 0 | 557 building XEmacs in the standard way. The final executable file is |
| 1338 | 558 named `src/xemacs'. You can execute this file in place without |
| 0 | 559 copying it, if you wish; then it automatically uses the sibling |
| 560 directories ../lisp, ../lib-src, ../info. | |
| 561 | |
| 1338 | 562 Or you can install the executable and the other XEmacs into their |
| 563 permanent locations, with `make install'. By default, XEmacs's files | |
| 0 | 564 are installed in the following directories: |
| 565 | |
| 566 `/usr/local/bin' holds the executable programs users normally run - | |
| 388 | 567 `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
|
568 `gnuclient', `gnudoit', and `gnuattach'. |
| 0 | 569 |
| 570 `/usr/local/lib/xemacs-VERSION/lisp' holds the Emacs Lisp libraries; | |
| 571 `VERSION' stands for the number of the XEmacs version | |
| 572 you are installing, like `18.59' or `19.14'. Since | |
| 573 the lisp libraries change from one version of XEmacs to | |
| 574 another, including the version number in the path | |
| 575 allows you to have several versions of XEmacs installed | |
| 576 at the same time; this means that you don't have to | |
| 577 make XEmacs unavailable while installing a new version. | |
| 578 | |
| 579 XEmacs searches for its lisp files in these | |
| 580 directories, and then in | |
| 581 `/usr/local/lib/xemacs/site-lisp/*'. | |
| 582 | |
| 583 `/usr/local/lib/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
|
584 Unicode database, and other architecture-independent |
| 0 | 585 files XEmacs might need while running. VERSION is as |
| 586 specified for `.../lisp'. | |
| 587 | |
| 588 `/usr/local/lib/xemacs/lock' contains files indicating who is | |
| 589 editing what, so XEmacs can detect editing clashes | |
| 590 between users. | |
| 591 | |
| 592 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME' contains executable | |
| 593 programs used by XEmacs that users are not expected to | |
| 594 run themselves, and the DOC file. `VERSION' is the | |
| 595 number of the XEmacs version you are installing, and | |
| 243 | 596 `CONFIGURATION-NAME' is the host type of your system. |
| 597 Since these files are specific to the version of | |
| 598 XEmacs, operating system, and architecture in use, | |
| 599 including the configuration name in the path allows | |
| 600 you to have several versions of XEmacs for any mix of | |
| 601 machines and operating systems installed at the same | |
| 602 time; this is useful for sites at which different | |
| 603 kinds of machines share the file system XEmacs is | |
| 604 installed on. | |
| 0 | 605 |
| 388 | 606 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules' holds the Emacs |
| 607 dynamically loadable modules. These are special programs | |
| 608 typically written in C that can be loaded in much the same | |
| 609 way that Lisp packages are. Not all systems support | |
| 610 dynamic modules, so do not be alarmed if this directory | |
| 611 does not exist or is empty. | |
| 612 | |
| 613 XEmacs searches for modules in this directory, or any | |
| 614 sub-directory of it, and then in | |
| 615 `/usr/local/lib/xemacs/site-modules/*'. | |
| 616 | |
| 0 | 617 `/usr/local/lib/xemacs-VERSION/info' holds the on-line documentation |
| 618 for XEmacs, known as "info files". | |
| 619 | |
| 620 `/usr/local/man/man1' holds the man pages for the programs installed | |
| 621 in `/usr/local/bin'. | |
| 622 | |
| 623 If these directories are not what you want, you can specify where to | |
| 624 install XEmacs's libraries and data files or where XEmacs should search | |
| 625 for its lisp files by giving values for `make' variables as part of | |
| 442 | 626 the command. |
| 0 | 627 |
| 628 You can change where the build process installs XEmacs and its data | |
| 629 files by specifying values for `make' variables as part of the `make' | |
| 630 command line. For example, if you type | |
| 631 | |
| 632 make install bindir=/usr/local/gnubin | |
| 633 | |
| 634 the `bindir=/usr/local/gnubin' argument indicates that the XEmacs | |
| 635 executable files should go in `/usr/local/gnubin', not | |
| 636 `/usr/local/bin'. | |
| 637 | |
| 638 Here is a complete list of the variables you may want to set. | |
| 639 | |
| 640 `bindir' indicates where to put executable programs that users can | |
| 641 run. This defaults to /usr/local/bin. | |
| 642 | |
| 643 `datadir' indicates where to put the architecture-independent | |
| 644 read-only data files that XEmacs refers to while it runs; it | |
| 645 defaults to /usr/local/lib. We create the following | |
| 646 subdirectories under `datadir': | |
| 647 - `xemacs-VERSION/lisp', containing the XEmacs lisp libraries, and | |
| 648 | |
| 649 - `xemacs-VERSION/etc', containing the XEmacs tutorial and the | |
| 650 `yow' database. | |
| 651 `VERSION' is the number of the XEmacs version you are installing, | |
| 652 like `18.59' or `19.14'. Since these files vary from one version | |
| 653 of XEmacs to another, including the version number in the path | |
| 654 allows you to have several versions of XEmacs installed at the | |
| 655 same time; this means that you don't have to make XEmacs | |
| 656 unavailable while installing a new version. | |
| 657 | |
| 658 `statedir' indicates where to put architecture-independent data files | |
| 659 that XEmacs modifies while it runs; it defaults to | |
| 660 /usr/local/lib as well. We create the following | |
| 661 subdirectories under `statedir': | |
| 662 - `xemacs/lock', containing files indicating who is editing | |
| 663 what, so XEmacs can detect editing clashes between | |
| 664 users. | |
| 665 | |
| 666 `libdir' indicates where to put architecture-specific data files that | |
| 667 XEmacs refers to as it runs; it too defaults to `/usr/local/lib'. | |
| 668 We create the following subdirectories under `libdir': | |
| 669 - `xemacs-VERSION/CONFIGURATION-NAME', containing executable | |
| 670 programs used by XEmacs that users are not expected to run | |
| 1338 | 671 themselves, and the DOC file. |
| 0 | 672 `VERSION' is the number of the XEmacs version you are installing, |
| 243 | 673 and `CONFIGURATION-NAME' is the host type of your system. |
| 674 Since these files are specific to the version of XEmacs, | |
| 675 operating system, and architecture in use, including the | |
| 676 configuration name in the path allows you to have several | |
| 677 versions of XEmacs for any mix of machines and operating | |
| 678 systems installed at the same time; this is useful for sites | |
| 679 at which different kinds of machines share the file system | |
| 680 XEmacs is installed on. | |
| 0 | 681 |
| 682 `infodir' indicates where to put the info files distributed with | |
| 683 XEmacs; it defaults to `/usr/local/lib/xemacs-VERSION/info'. | |
| 684 | |
| 685 `mandir' indicates where to put the man pages for XEmacs and its | |
| 686 utilities (like `etags'); it defaults to | |
| 687 `/usr/local/man/man1'. | |
| 688 | |
| 689 `prefix' doesn't give a path for any specific part of XEmacs; instead, | |
| 690 its value is used to determine the defaults for all the | |
| 691 architecture-independent path variables - `datadir', | |
| 692 `statedir', `infodir', and `mandir'. Its default value is | |
| 693 `/usr/local'; the other variables add on `lib' or `man' to it | |
| 694 by default. | |
| 695 | |
| 696 For example, suppose your site generally places GNU software | |
| 697 under `/usr/users/software/gnusoft' instead of `/usr/local'. | |
| 698 By including | |
| 699 `prefix=/usr/users/software/gnusoft' | |
| 700 in the arguments to `make', you can instruct the build process | |
| 701 to place all of the XEmacs data files in the appropriate | |
| 702 directories under that path. | |
| 703 | |
| 704 `exec_prefix' serves the same purpose as `prefix', but instead | |
| 705 determines the default values for the architecture-dependent | |
| 706 path variables - `bindir' and `libdir'. | |
| 707 | |
| 708 The above variables serve analogous purposes in the makefiles for all | |
| 709 GNU software; here are some variables specific to XEmacs. | |
| 710 | |
| 711 `lispdir' indicates where XEmacs installs and expects its lisp | |
| 712 libraries. Its default value, based on `datadir' (see above), | |
| 713 is `/usr/local/lib/xemacs-VERSION/lisp' (where `VERSION' is as | |
| 714 described above). | |
| 715 | |
| 716 `sitelispdir' indicates where XEmacs should search for lisp libraries | |
| 717 specific to your site. XEmacs checks them in order before | |
| 718 checking `lispdir'. Its default value, based on `datadir' | |
| 719 (see above), is `/usr/local/lib/xemacs/site-lisp'. | |
| 720 | |
| 721 `etcdir' indicates where XEmacs should install and expect the rest of | |
| 722 its architecture-independent data, like the tutorial and yow | |
| 723 database. Its default value, based on `datadir' | |
| 724 (see above), is `/usr/local/lib/xemacs-VERSION/etc' (where | |
| 725 `VERSION' is as described above). | |
| 726 | |
| 727 `lockdir' indicates the directory where XEmacs keeps track of its | |
| 728 locking information. Its default value, based on `statedir' | |
| 729 (see above), is `/usr/local/lib/xemacs/lock'. | |
| 730 | |
| 731 `archlibdir' indicates where XEmacs installs and expects the | |
| 732 executable files and other architecture-dependent data it uses | |
| 733 while running. Its default value, based on `libdir' (see | |
| 734 above), is `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME' | |
| 735 (where VERSION and CONFIGURATION-NAME are as described above). | |
| 736 | |
| 420 | 737 `docdir' indicates where to put Lisp documentation strings that XEmacs |
| 442 | 738 refers to as it runs. It defaults to the value of `archlibdir' |
| 420 | 739 (see above). |
| 740 | |
| 388 | 741 `moduledir' indicates where XEmacs installs and expects to find |
| 742 any dynamic modules. Its default value, based on | |
| 743 `archlibdir' (see above) is | |
| 744 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules' | |
| 745 (where VERSION and CONFIGURATION-NAME are as described above). | |
| 746 By their very nature, dynamic loadable modules are architecture- | |
| 442 | 747 dependent, and care should be taken not to set this directory |
| 748 to a system- or architecture-independent directory. | |
| 388 | 749 |
| 0 | 750 Remember that you must specify any variable values you need each time |
| 751 you run `make' in the top directory. If you run `make' once to build | |
| 752 xemacs, test it, and then run `make' again to install the files, you | |
| 753 must provide the same variable settings each time. To make the | |
| 754 settings persist, you can edit them into the `Makefile' in the top | |
| 755 directory, but be aware that running the `configure' program erases | |
| 756 `Makefile' and rebuilds it from `Makefile.in'. | |
| 757 | |
| 758 The top-level Makefile stores the variable settings it used in the | |
| 759 Makefiles for the subdirectories, so you don't have to specify them | |
| 760 when running make in the subdirectories. | |
| 761 | |
| 442 | 762 Using GNU Make allows for simultaneous builds with and without the |
| 763 --srcdir option. | |
| 0 | 764 |
| 1283 | 765 STRIPPING BINARIES |
| 766 ================== | |
| 767 | |
| 768 This saves nothing but a small (by modern standards) amount of disk | |
| 769 space; the symbol table is not loaded into memory at execution time. | |
| 770 If you do encounter a crash or other serious bug, the first thing the | |
| 771 developers will do is ask you to build an XEmacs with a full symbol | |
| 772 table, anyway. Don't strip the XEmacs binary. | |
| 773 | |
| 442 | 774 MAIL-LOCKING POST-INSTALLATION |
| 775 ============================== | |
| 0 | 776 |
| 442 | 777 If your system uses dot-locking to interlock access to mailer inbox |
| 778 files, then you might need to make the movemail program setuid or | |
| 779 setgid to enable it to write the lock files. We believe this is safe. | |
| 780 The setuid/setgid bits need not be set on any other XEmacs-related | |
| 781 executables. | |
| 0 | 782 |
| 442 | 783 CLEANING UP |
| 784 ========== | |
| 0 | 785 |
| 442 | 786 You are done with the hard part! You can remove executables and |
| 787 object files from the build directory by typing `make clean'. To also | |
| 788 remove the files that `configure' created (so you can compile XEmacs | |
| 789 for a different configuration), type `make distclean'. | |
| 0 | 790 |
|
4508
742a23369b74
Improve package documentation.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
3179
diff
changeset
|
791 READ THE FAQ |
|
742a23369b74
Improve package documentation.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
3179
diff
changeset
|
792 ============ |
| 0 | 793 |
| 442 | 794 Do it! |
| 0 | 795 |
| 796 PROBLEMS | |
| 442 | 797 ======== |
| 398 | 798 |
| 1338 | 799 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
|
800 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
|
801 have a normal XEmacs without downloading some additional packages. |
| 424 | 802 |
| 1036 | 803 See the file PROBLEMS in this directory for a list of various problems |
| 804 sometimes encountered, and what to do about them. PROBLEMS is also | |
| 805 the place where platform-specific build notes can be found. | |
| 3050 | 806 |
| 807 APPENDIX: CORRESPONDENCE TO OLD CONFIGURE OPTIONS | |
| 808 ================================================= | |
| 809 | |
| 810 Here is a full translation of command line arguments. Note that any | |
| 811 option starting with "--with" may also be specified with "--enable". | |
| 812 This list may not be up-to-date. | |
| 813 | |
| 814 Old | New | |
| 815 ------------------------------------------ | |
| 816 General options: | |
| 817 ---------------- | |
| 818 | |
| 819 --help Unchanged | |
| 820 --usage Removed | |
| 821 --verbose Unchanged | |
| 822 --extra-verbose Removed | |
| 823 | |
| 824 Compilation options: | |
| 825 -------------------- | |
| 826 | |
| 827 --compiler --with-compiler | |
| 828 --xemacs-compiler --with-xemacs-compiler | |
| 829 --with-gcc Unchanged | |
| 830 --cflags --with-cflags | |
| 831 --cflags-warning --with-cflags-warning | |
| 832 --debug --with-debug | |
| 833 New --with-cflags-debug | |
| 834 New --with-optimization | |
| 835 New --with-cflags-optimization | |
| 836 --cpp --with-cpp | |
| 837 --cppflags --with-cppflags | |
| 838 --libs --with-libs | |
| 839 --ldflags --with-ldflags | |
| 840 --site-includes --with-site-includes | |
| 841 --site-libraries --with-site-libraries | |
| 842 --site-prefixes --with-site-prefixes | |
| 843 --site-runtime-libraries --with-site-runtime-libraries | |
| 844 --dynamic --with-dynamic | |
| 845 --srcdir Unchanged | |
| 846 | |
| 847 Installation options: | |
| 848 --------------------- | |
| 849 | |
| 850 --prefix Unchanged | |
| 851 --with-prefix Unchanged | |
| 852 --with-netinstall Unchanged | |
| 853 --bindir Unchanged | |
| 854 --datadir Unchanged | |
| 855 --statedir Unchanged | |
| 856 --libdir Unchanged | |
| 857 --infodir Unchanged | |
| 858 --mandir Unchanged | |
| 859 --lispdir --with-lispdir | |
| 860 --sitelispdir Removed | |
| 861 --etcdir --with-etcdir | |
| 862 --lockdir Removed | |
| 863 --archlibdir --with-archlibdir | |
| 864 --docdir --with-docdir | |
| 865 --moduledir --with-moduledir | |
| 866 | |
| 867 Run-time path-searching options: | |
| 868 -------------------------------- | |
| 869 | |
| 870 --with-site-lisp Unchanged | |
| 871 --with-site-modules Unchanged | |
| 872 --package-path --with-package-path | |
| 873 --infopath --with-infopath | |
| 874 | |
| 875 Window-system options: | |
| 876 ---------------------- | |
| 877 | |
| 878 --with-gtk Unchanged | |
| 879 --with-gnome Unchanged | |
| 880 --with-x11 Unchanged | |
| 881 --x-includes Unchanged | |
| 882 --x-libraries Unchanged | |
| 883 --with-msw Unchanged | |
| 884 --with-toolbars Unchanged | |
| 885 --with-wmcommand Unchanged | |
| 886 --with-athena Unchanged | |
| 887 --with-menubars Unchanged | |
| 888 --with-scrollbars Unchanged | |
| 889 --with-dialogs Unchanged | |
| 890 --with-widgets Unchanged | |
| 891 --with-dragndrop Unchanged | |
| 892 --with-cde Unchanged | |
| 893 --with-xmu Unchanged | |
| 894 --external-widget --with-external-widget | |
| 895 | |
| 896 TTY (character terminal) options: | |
| 897 --------------------------------- | |
| 898 | |
| 899 --with-tty Unchanged | |
| 900 --with-ncurses Unchanged | |
| 901 --with-gpm Unchanged | |
| 902 | |
| 903 Image options: | |
| 904 -------------- | |
| 905 | |
| 906 --with-xpm Unchanged | |
| 907 --with-png Unchanged | |
| 908 --with-jpeg Unchanged | |
| 909 --with-tiff Unchanged | |
| 910 --with-xface Unchanged | |
| 911 --with-gif Unchanged | |
| 912 | |
| 913 Sound options: | |
| 914 -------------- | |
| 915 | |
| 916 --with-sound Unchanged | |
| 917 --native-sound-lib=LIB --with-native-sound-lib | |
| 918 | |
| 919 Internationalization options: | |
| 920 ----------------------------- | |
| 921 | |
| 922 --with-mule Unchanged | |
| 923 --with-xim Unchanged | |
| 924 --with-canna Unchanged | |
| 925 --with-wnn Unchanged | |
| 926 --with-wnn6 Unchanged | |
| 927 --with-xfs Unchanged | |
| 928 | |
| 929 File-related options: | |
| 930 --------------------- | |
| 931 | |
| 932 --with-default-eol-detection Unchanged | |
| 933 --with-clash-detection Unchanged | |
| 934 | |
| 935 Database options: | |
| 936 ----------------- | |
| 937 | |
| 938 --with-database Unchanged | |
| 939 --with-ldap Unchanged | |
| 940 --with-postgresql Unchanged | |
| 941 | |
| 942 Mail options: | |
| 943 ------------- | |
| 944 | |
| 945 --mail-locking=TYPE --with-mail-locking | |
| 946 --with-pop Unchanged | |
| 947 --with-kerberos Unchanged | |
| 948 --with-hesiod Unchanged | |
| 949 | |
| 950 Networking options: | |
| 951 ------------------- | |
| 952 | |
| 953 --with-tooltalk Unchanged | |
| 954 --with-socks Unchanged | |
| 955 --with-dnet Unchanged | |
| 956 --with-ipv6-cname Unchanged | |
| 957 | |
| 958 Memory allocation options: | |
| 959 -------------------------- | |
| 960 | |
| 961 --rel-alloc --with-rel-alloc | |
| 962 --with-dlmalloc Unchanged | |
| 963 --with-system-malloc Unchanged | |
| 964 --with-debug-malloc Unchanged | |
| 965 | |
| 966 Emacs Lisp options: | |
| 967 ------------------- | |
| 968 | |
| 969 --use-number-lib --with-bignum | |
| 970 | |
| 971 Debugging options: | |
| 972 ------------------ | |
| 973 | |
| 974 --debug --with-debug | |
| 975 --error-checking --with-error-checking | |
| 976 --memory-usage-stats --with-memory-usage-stats | |
| 977 --quick-build --with-quick-build | |
| 978 --use-union-type --with-union-type | |
| 979 --with-quantify Unchanged | |
| 980 --with-purify Unchanged | |
| 981 | |
| 982 Developer options: | |
| 983 ------------------ | |
| 984 | |
| 985 --with-workshop Unchanged | |
| 986 --pdump --with-pdump | |
| 987 --use-kkcc --with-kkcc | |
| 988 --with-modules Unchanged | |
| 989 | |
| 990 The output files produced by this new configure should be almost | |
| 991 identical to those produced by the old. This can be tested with the | |
| 992 provided regression test script. This script runs the two versions of | |
| 993 configure with the supplied list of command line arguments and reports | |
| 994 any differences. Please add your favorite configuration command lines | |
| 995 to the list before running the test. The script is run as: | |
| 996 | |
| 997 $ tests/autoconf/regressiontest.pl /absolute/path/to/2.13/configure \ | |
| 998 /absolute/path/to/2.59/configure >diffs.txt | |
| 999 | |
| 1000 The only differences should be: | |
| 1001 - those related to changes in the command line arguments | |
| 1002 - the change of SYS_SIGLIST_DECLARED to HAVE_DECL_SYS_SIGLIST (because the old | |
| 1003 form has been removed), and | |
| 1004 - The removal of trailing comments in src/config.h. | |
| 1005 |
