Mercurial > hg > xemacs-beta
view configure.usage @ 853:2b6fa2618f76
[xemacs-hg @ 2002-05-28 08:44:22 by ben]
merge my stderr-proc ws
make-docfile.c: Fix places where we forget to check for EOF.
code-init.el: Don't use CRLF conversion by default on process output. CMD.EXE and
friends work both ways but Cygwin programs don't like the CRs.
code-process.el, multicast.el, process.el: Removed.
Improvements to call-process-internal:
-- allows a buffer to be specified for input and stderr output
-- use it on all systems
-- implement C-g as documented
-- clean up and comment
call-process-region uses new call-process facilities; no temp file.
remove duplicate funs in process.el.
comment exactly how coding systems work and fix various problems.
open-multicast-group now does similar coding-system frobbing to
open-network-stream.
dumped-lisp.el, faces.el, msw-faces.el: Fix some hidden errors due to code not being defined at the right time.
xemacs.mak: Add -DSTRICT.
================================================================
ALLOW SEPARATION OF STDOUT AND STDERR IN PROCESSES
================================================================
Standard output and standard error can be processed separately in
a process. Each can have its own buffer, its own mark in that buffer,
and its filter function. You can specify a separate buffer for stderr
in `start-process' to get things started, or use the new primitives:
set-process-stderr-buffer
process-stderr-buffer
process-stderr-mark
set-process-stderr-filter
process-stderr-filter
Also, process-send-region takes a 4th optional arg, a buffer.
Currently always uses a pipe() under Unix to read the error output.
(#### Would a PTY be better?)
sysdep.h, sysproc.h, unexfreebsd.c, unexsunos4.c, nt.c, emacs.c, callproc.c, symsinit.h, sysdep.c, Makefile.in.in, process-unix.c: Delete callproc.c. Move child_setup() to process-unix.c.
wait_for_termination() now only needed on a few really old systems.
console-msw.h, event-Xt.c, event-msw.c, event-stream.c, event-tty.c, event-unixoid.c, events.h, process-nt.c, process-unix.c, process.c, process.h, procimpl.h: Rewrite the process methods to handle a separate channel for
error input. Create Lstreams for reading in the error channel.
Many process methods need change. In general the changes are
fairly clear as they involve duplicating what's used for reading
the normal stdout and changing for stderr -- although tedious,
as such changes are required throughout the entire process code.
Rewrote the code that reads process output to do two loops, one
for stdout and one for stderr.
gpmevent.c, tooltalk.c: set_process_filter takes an argument for stderr.
================================================================
NEW ERROR-TRAPPING MECHANISM
================================================================
Totally rewrite error trapping code to be unified and support more
features. Basic function is call_trapping_problems(), which lets
you specify, by means of flags, what sorts of problems you want
trapped. these can include
-- quit
-- errors
-- throws past the function
-- creation of "display objects" (e.g. buffers)
-- deletion of already-existing "display objects" (e.g. buffers)
-- modification of already-existing buffers
-- entering the debugger
-- gc
-- errors->warnings (ala suspended errors)
etc. All other error funs rewritten in terms of this one.
Various older mechanisms removed or rewritten.
window.c, insdel.c, console.c, buffer.c, device.c, frame.c: When creating a display object, added call to
note_object_created(), for use with trapping_problems mechanism.
When deleting, call check_allowed_operation() and note_object
deleted().
The trapping-problems code records the objects created since the
call-trapping-problems began. Those objects can be deleted, but
none others (i.e. previously existing ones).
bytecode.c, cmdloop.c: internal_catch takes another arg.
eval.c: Add long comments describing the "five lists" used to maintain
state (backtrace, gcpro, specbind, etc.) in the Lisp engine.
backtrace.h, eval.c: Implement trapping-problems mechanism, eliminate old mechanisms or
redo in terms of new one.
frame.c, gutter.c: Flush out the concept of "critical display section", defined by
the in_display() var. Use an internal_bind() to get it reset,
rather than just doing it at end, because there may be a non-local
exit.
event-msw.c, event-stream.c, console-msw.h, device.c, dialog-msw.c, frame.c, frame.h, intl.c, toolbar.c, menubar-msw.c, redisplay.c, alloc.c, menubar-x.c: Make use of new trapping-errors stuff and rewrite code based on
old mechanisms.
glyphs-widget.c, redisplay.h: Protect calling Lisp in redisplay.
insdel.c: Protect hooks against deleting existing buffers.
frame-msw.c: Use EQ, not EQUAL in hash tables whose keys are just numbers.
Otherwise we run into stickiness in redisplay because
internal_equal() can QUIT.
================================================================
SIGNAL, C-G CHANGES
================================================================
Here we change the way that C-g interacts with event reading. The
idea is that a C-g occurring while we're reading a user event
should be read as C-g, but elsewhere should be a QUIT. The former
code did all sorts of bizarreness -- requiring that no QUIT occurs
anywhere in event-reading code (impossible to enforce given the
stuff called or Lisp code invoked), and having some weird system
involving enqueue/dequeue of a C-g and interaction with Vquit_flag
-- and it didn't work.
Now, we simply enclose all code where we want C-g read as an event
with {begin/end}_dont_check_for_quit(). This completely turns off
the mechanism that checks (and may remove or alter) C-g in the
read-ahead queues, so we just get the C-g normal.
Signal.c documents this very carefully.
cmdloop.c: Correct use of dont_check_for_quit to new scheme, remove old
out-of-date comments.
event-stream.c: Fix C-g handling to actually work.
device-x.c: Disable quit checking when err out.
signal.c: Cleanup. Add large descriptive comment.
process-unix.c, process-nt.c, sysdep.c: Use QUIT instead of REALLY_QUIT.
It's not necessary to use REALLY_QUIT and just confuses the issue.
lisp.h: Comment quit handlers.
================================================================
CONS CHANGES
================================================================
free_cons() now takes a Lisp_Object not the result of XCONS().
car and cdr have been renamed so that they don't get used directly;
go through XCAR(), XCDR() instead.
alloc.c, dired.c, editfns.c, emodules.c, fns.c, glyphs-msw.c, glyphs-x.c, glyphs.c, keymap.c, minibuf.c, search.c, eval.c, lread.c, lisp.h: Correct free_cons calling convention: now takes Lisp_Object,
not Lisp_Cons
chartab.c: Eliminate direct use of ->car, ->cdr, should be black box.
callint.c: Rewrote using EXTERNAL_LIST_LOOP to avoid use of Lisp_Cons.
================================================================
USE INTERNAL-BIND-*
================================================================
eval.c: Cleanups of these funs.
alloc.c, fileio.c, undo.c, specifier.c, text.c, profile.c, lread.c, redisplay.c, menubar-x.c, macros.c: Rewrote to use internal_bind_int() and internal_bind_lisp_object()
in place of whatever varied and cumbersome mechanisms were
formerly there.
================================================================
SPECBIND SANITY
================================================================
backtrace.h: - Improved comments
backtrace.h, bytecode.c, eval.c: Add new mechanism check_specbind_stack_sanity() for sanity
checking code each time the catchlist or specbind stack change.
Removed older prototype of same mechanism.
================================================================
MISC
================================================================
lisp.h, insdel.c, window.c, device.c, console.c, buffer.c: Fleshed out authorship.
device-msw.c: Correct bad Unicode-ization.
print.c: Be more careful when not initialized or in fatal error handling.
search.c: Eliminate running_asynch_code, an FSF holdover.
alloc.c: Added comments about gc-cons-threshold.
dialog-x.c: Use begin_gc_forbidden() around code to build up a widget value
tree, like in menubar-x.c.
gui.c: Use Qunbound not Qnil as the default for
gethash.
lisp-disunion.h, lisp-union.h: Added warnings on use of VOID_TO_LISP().
lisp.h: Use ERROR_CHECK_STRUCTURES to turn on
ERROR_CHECK_TRAPPING_PROBLEMS and ERROR_CHECK_TYPECHECK
lisp.h: Add assert_with_message.
lisp.h: Add macros for gcproing entire arrays. (You could do this before
but it required manual twiddling the gcpro structure.)
lisp.h: Add prototypes for new functions defined elsewhere.
author | ben |
---|---|
date | Tue, 28 May 2002 08:45:36 +0000 |
parents | 943eaba38521 |
children | 259c80d93e3b |
line wrap: on
line source
Usage: configure [--OPTION[=VALUE] ...] [CONFIGURATION] Set compilation and installation parameters for XEmacs, and report. Note that for most of the following options, you can explicitly enable them using `--OPTION=yes' and explicitly disable them using `--OPTION=no'. This is especially useful for auto-detected options. The option `--without-FEATURE' is a synonym for `--with-FEATURE=no'. Options marked with a (*) are auto-detected. Many features require external packages to be installed first. Get them from ftp://ftp.xemacs.org/pub/xemacs/aux. Use colons (or quoted spaces) to separate directory names in option values which are PATHs (i.e. lists of directories). The results of configure tests are saved in config.log, which is useful for diagnosing problems. General options: --help Issue this usage message. --verbose Accepted but ignored. --extra-verbose Display more information, useful for debugging. Compilation options: --compiler=PROG C compiler to use --xemacs-compiler=PROG compiler to use to compile just the xemacs executable --with-gcc (*) Use GCC to compile XEmacs. --cflags=FLAGS Compiler flags (such as -O) --cpp=PROG C preprocessor to use (e.g. /usr/ccs/lib/cpp or cc -E) --cppflags=FLAGS C preprocessor flags (e.g. -I/foo or -Dfoo=bar) --libs=LIBS Additional libraries (e.g. -lfoo) --ldflags=FLAGS Additional linker flags (e.g. -L/foo) --site-includes=PATH List of directories to search first for header files --site-libraries=PATH List of directories to search first for libraries --site-prefixes=PATH List of directories to search for include/ and lib/ subdirectories, just after 'site-includes' and 'site-libraries' --site-runtime-libraries=PATH List of ALL directories to search for dynamically linked libraries at run time --dynamic=yes Link dynamically if supported by system. --dynamic=no Force static linking on systems where dynamic linking is the default. --srcdir=DIR Look for the XEmacs source files in DIR. Works best when using GNU Make. Installation options: --prefix=DIR Install files below DIR. Defaults to `/usr/local'. --with-prefix=no Don't compile the value of --prefix into the executable. Window-system options: --with-gtk Support GTK on the X Window System. (EXPERIMENTAL) --with-gnome Support GNOME on the X Window System. (EXPERIMENTAL) --with-x11 (*) Support the X Window System. --x-includes=DIR Search for X header files in DIR. --x-libraries=DIR Search for X libraries in DIR. --with-msw (*) Support MS Windows as a window system (only under Cygwin and MinGW). `--with-msw=no' may be needed on *nix systems with Wine installed. --with-toolbars=no Don't compile with any toolbar support. --with-wmcommand=no Compile without realized leader window which will keep the WM_COMMAND property. --with-athena=TYPE Use TYPE Athena widgets (xaw, 3d, next, 95, or xpm) --with-menubars=TYPE Use TYPE menubars (lucid, motif, or no). The Lucid widgets emulate Motif (mostly) but are faster. *WARNING* The Motif menubar is currently broken. --with-scrollbars=TYPE Use TYPE scrollbars (lucid, motif, athena, or no). --with-dialogs=TYPE Use TYPE dialog boxes (lucid, motif, athena, or no). Lucid menubars and scrollbars are the default. Motif dialog boxes will be used if Motif can be found. --with-widgets=TYPE Use TYPE widgets (lucid, motif, athena, or no). Motif widgets will be used if Motif can be found. Other widget types are currently unsupported. --with-dragndrop Compile in the generic drag and drop API. This is automatically added if one of the drag and drop protocols is found (currently CDE, OffiX, MSWindows, and GTK). *WARNING* The Drag'n'drop support is under development and is considered experimental. --with-cde Compile in support for CDE drag and drop. --with-offix Compile in support for OffiX drag and drop. *WARNING* If you compile in OffiX, you may not be able to use multiple X displays success- fully. If the two servers are from different vendors, the results may be unpredictable. --with-xmu=no (*) For those unfortunates whose vendors don't ship Xmu. --external-widget Compile with external widget support. TTY (character terminal) options: --with-tty=no Don't support ttys. --with-ncurses (*) Use the ncurses library for tty support. --with-gpm (*) Compile in GPM mouse support for ttys. Image options: --with-xpm (*) Compile with support for XPM images. PRACTICALLY REQUIRED. Although this library is nonstandard and a real hassle to build, many basic things (e.g. toolbars) depend on it, and you will run into many problems without it. --with-png (*) Compile with support for PNG images. Recommended because the images on the About page are not viewable without it. --with-jpeg (*) Compile with support for JPEG images. Useful if you are using a mail, news reader, or web browser in XEmacs, so that JPEG images can be displayed. --with-tiff (*) Compile with support for TIFF images. Possibly useful, for the same reason as JPEG images. --with-xface (*) Compile with support for X-Face mail headers. Requires the compface package. Of doubtful usefulness. --with-gif=no Compile without the (builtin) support for GIF images. Sound options: --with-sound=TYPE[,TYPE[,...]] (*) Compile with sound support. Valid types are `native', `nas' and `esd'. Prefix a type with 'no' to disable. The first type can be `none' or `all'. `none' means `nonative,nonas,noesd'. `all' means `native,nas,esd'. Later options override earlier ones for the same TYPE. The default is to autodetect all sound support. --native-sound-lib=LIB Native sound support library. Needed on Suns with `--with-sound=native,nas' because both sound libraries are called libaudio. Database options: --with-database=TYPE (*) Compile with database support. Valid types are `no' or a comma-separated list of one or more of `berkdb' and either `dbm' or `gnudbm'. --with-ldap (*) Compile with support for the LDAP protocol. --with-postgresql (*) Compile with support for the PostgreSQL RDBMS. Mail options: --mail-locking=TYPE (*) Specify the locking to be used by movemail to prevent concurrent updates of mail spool files. Valid types are `lockf', `flock', `dot', `locking' or `mmdf'. --with-pop Support POP for mail retrieval. --with-kerberos Support Kerberos-authenticated POP. --with-hesiod Support Hesiod to get the POP server host. Additional features: --with-tooltalk (*) Support the ToolTalk IPC protocol. --with-workshop Support the Sun WorkShop (formerly Sparcworks) development environment. --with-socks Compile with support for SOCKS (an Internet proxy). --with-dnet (*) Compile with support for DECnet. --with-modules Compile in experimental support for dynamically loaded libraries (Dynamic Shared Objects). --with-netinstall Compile in support for installation over the internet. Only functional on the MS Windows platforms. --with-ipv6-cname=yes Try IPv6 information first when canonicalizing host names. This option has no effect unless system supports getaddrinfo(3) and getnameinfo(3). --with-site-lisp=yes Allow for a site-lisp directory in the XEmacs hierarchy searched before the installation packages. --with-site-modules=no Disable site-modules directory in the XEmacs hierarchy, which is searched before the installation modules. --package-path=PATH Directories to search for packages to dump with xemacs. PATH splits into three parts separated by double colons (::), an early, a late, and a last part, corresponding to their position in the various system paths: The early part is always first, the late part somewhere in the middle, and the last part at the very back. Only the late part gets seen at dump time. If PATH has only one component, that component is late. If PATH has two components, the first is early, the second is late. --infodir=DIR Directory to install XEmacs Info manuals and dir in. --infopath=PATH Directories to search for Info documents, info dir and localdir files in case run-time searching for them fails. --moduledir=DIR Directory to install dynamic modules in. --pdump New, experimental, don't-sue-me-if-your-house- collapses-and-your-wife-leaves-you, portable dumper. (Actually, not as experimental or non-working as Olivier claims. Works quite well, in fact.) --with-default-eol-detection Turns on by default auto-detection of end-of-line type when reading a file. Applies to those platforms where auto-detection is off by default (non-Mule Unix). Has no effect otherwise. Internationalization options: --with-mule Compile with Mule (MUlti-Lingual Emacs) support, needed to support non-Latin-1 (including Asian) languages. --with-xim=xlib Compile with support for X input methods, --with-xim=motif (*) Used in conjunction with Mule support. Use either raw Xlib to provide XIM support, or the Motif XmIm* routines (when available). NOTE: On some systems bugs in X11's XIM support will cause XEmacs to crash, so by default, no XIM support is compiled in, unless running on Solaris and the XmIm* routines are detected. --with-canna (*) Compile with support for Canna (a Japanese input method used in conjunction with Mule support). --with-wnn (*) Compile with support for Wnn (a multi-language input method used in conjunction with Mule support). --with-wnn6 (*) Compile with support for the commercial package Wnn6. --with-i18n3 Compile with I18N level 3 (support for message translation). This doesn't currently work. --with-xfs Compile with XFontSet support for internationalized menubar. Incompatible with `--with-xim=motif'. `--with-menubars=lucid' (the default) is desirable. Debugging options: --debug Compile with support for debugging XEmacs. (Causes code-size increase and little loss of speed.) --error-checking=TYPE[,TYPE]... Compile with internal error-checking added. Causes noticeable loss of speed. Valid types are extents, bufpos, malloc, gc, typecheck. --error-checking=none Disable all internal error-checking (the default). --error-checking=all Enable all internal error-checking. --memory-usage-stats Compile with additional code to allow you to determine what XEmacs's memory is being used for. Causes a small code increase but no loss of speed. Normally enabled when --debug is given. --quick-build Speed up the build cycle by leaving out steps where XEmacs will still work (more or less) without them. Potentially dangerous if you don't know what you're doing. This (1) doesn't garbage-collect after loading each file during dumping, and (2) doesn't automatically rebuild the DOC file. (Remove it by hand to get it rebuilt.) --use-union-type Enable or disable use of a union, instead of an int, for the fundamental Lisp_Object type; this provides stricter type-checking. Only works with some systems and compilers. --with-quantify Add support for performance debugging using Quantify. --with-purify Add support for memory debugging using Purify. Other options: --rel-alloc Use the relocating allocator (default for this option is system-dependent). --with-dlmalloc Control usage of Doug Lea malloc on systems that have it in the standard C library (default is to use it if it is available). --with-system-malloc Force use of the system malloc, rather than GNU malloc. --with-debug-malloc Use the debugging malloc package. --with-clash-detection Use lock files to detect multiple edits of the same file. The default is to do clash detection. You may also specify any of the `path' variables found in Makefile.in.in, including --bindir, --libdir, --docdir, --lispdir, --sitelispdir, --datadir, --infodir, --mandir and so on. Note that we recommend against explicitly setting any of these variables. See the INSTALL file for a complete list plus the reasons we advise not changing them. If successful, configure leaves its status in config.status. If unsuccessful after disturbing the status quo, it removes config.status. The configure script also recognizes some environment variables, each of which is equivalent to a corresponding configure flag. Configure flags take precedence over environment variables, if both are specified. environment corresponding variable configure flag ----------- -------------- CC --compiler XEMACS_CC --xemacs-compiler CPP --cpp CFLAGS --cflags CPPFLAGS --cppflags LDFLAGS --ldflags LIBS --libs LD_RUN_PATH --site-runtime-libraries For more details on the install process, consult the INSTALL file.