view configure.usage @ 826:6728e641994e

[xemacs-hg @ 2002-05-05 11:30:15 by ben] syntax cache, 8-bit-format, lots of code cleanup README.packages: Update info about --package-path. i.c: Create an inheritable event and pass it on to XEmacs, so that ^C can be handled properly. Intercept ^C and signal the event. "Stop Build" in VC++ now works. bytecomp-runtime.el: Doc string changes. compat.el: Some attempts to redo this to make it truly useful and fix the "multiple versions interacting with each other" problem. Not yet done. Currently doesn't work. files.el: Use with-obsolete-variable to avoid warnings in new revert-buffer code. xemacs.mak: Split up CFLAGS into a version without flags specifying the C library. The problem seems to be that minitar depends on zlib, which depends specifically on libc.lib, not on any of the other C libraries. Unless you compile with libc.lib, you get errors -- specifically, no _errno in the other libraries, which must make it something other than an int. (#### But this doesn't seem to obtain in XEmacs, which also uses zlib, and can be linked with any of the C libraries. Maybe zlib is used differently and doesn't need errno, or maybe XEmacs provides an int errno; ... I don't understand. Makefile.in.in: Fix so that packages are around when testing. abbrev.c, alloc.c, buffer.c, buffer.h, bytecode.c, callint.c, casefiddle.c, casetab.c, casetab.h, charset.h, chartab.c, chartab.h, cmds.c, console-msw.h, console-stream.c, console-x.c, console.c, console.h, data.c, device-msw.c, device.c, device.h, dialog-msw.c, dialog-x.c, dired-msw.c, dired.c, doc.c, doprnt.c, dumper.c, editfns.c, elhash.c, emacs.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, events.c, events.h, extents.c, extents.h, faces.c, file-coding.c, file-coding.h, fileio.c, fns.c, font-lock.c, frame-gtk.c, frame-msw.c, frame-x.c, frame.c, frame.h, glade.c, glyphs-gtk.c, glyphs-msw.c, glyphs-msw.h, glyphs-x.c, glyphs.c, glyphs.h, gui-msw.c, gui-x.c, gui.h, gutter.h, hash.h, indent.c, insdel.c, intl-win32.c, intl.c, keymap.c, lisp-disunion.h, lisp-union.h, lisp.h, lread.c, lrecord.h, lstream.c, lstream.h, marker.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, menubar.c, minibuf.c, mule-ccl.c, mule-charset.c, mule-coding.c, mule-wnnfns.c, nas.c, objects-msw.c, objects-x.c, opaque.c, postgresql.c, print.c, process-nt.c, process-unix.c, process.c, process.h, profile.c, rangetab.c, redisplay-gtk.c, redisplay-msw.c, redisplay-output.c, redisplay-x.c, redisplay.c, redisplay.h, regex.c, regex.h, scrollbar-msw.c, search.c, select-x.c, specifier.c, specifier.h, symbols.c, symsinit.h, syntax.c, syntax.h, syswindows.h, tests.c, text.c, text.h, tooltalk.c, ui-byhand.c, ui-gtk.c, unicode.c, win32.c, window.c: Another big Ben patch. -- FUNCTIONALITY CHANGES: add partial support for 8-bit-fixed, 16-bit-fixed, and 32-bit-fixed formats. not quite done yet. (in particular, needs functions to actually convert the buffer.) NOTE: lots of changes to regex.c here. also, many new *_fmt() inline funs that take an Internal_Format argument. redo syntax cache code. make the cache per-buffer; keep the cache valid across calls to functions that use it. also keep it valid across insertions/deletions and extent changes, as much as is possible. eliminate the junky regex-reentrancy code by passing in the relevant lisp info to the regex routines as local vars. add general mechanism in extents code for signalling extent changes. fix numerous problems with the case-table implementation; yoshiki never properly transferred many algorithms from old-style to new-style case tables. redo char tables to support a default argument, so that mapping only occurs over changed args. change many chartab functions to accept Lisp_Object instead of Lisp_Char_Table *. comment out the code in font-lock.c by default, because font-lock.el no longer uses it. we should consider eliminating it entirely. Don't output bell as ^G in console-stream when not a TTY. add -mswindows-termination-handle to interface with i.c, so we can properly kill a build. add more error-checking to buffer/string macros. add some additional buffer_or_string_() funs. -- INTERFACE CHANGES AFFECTING MORE CODE: switch the arguments of write_c_string and friends to be consistent with write_fmt_string, which must have printcharfun first. change BI_* macros to BYTE_* for increased clarity; similarly for bi_* local vars. change VOID_TO_LISP to be a one-argument function. eliminate no-longer-needed CVOID_TO_LISP. -- char/string macro changes: rename MAKE_CHAR() to make_emchar() for slightly less confusion with make_char(). (The former generates an Emchar, the latter a Lisp object. Conceivably we should rename make_char() -> wrap_char() and similarly for make_int(), make_float().) Similar changes for other *CHAR* macros -- we now consistently use names with `emchar' whenever we are working with Emchars. Any remaining name with just `char' always refers to a Lisp object. rename macros with XSTRING_* to string_* except for those that reference actual fields in the Lisp_String object, following conventions used elsewhere. rename set_string_{data,length} macros (the only ones to work with a Lisp_String_* instead of a Lisp_Object) to set_lispstringp_* to make the difference clear. try to be consistent about caps vs. lowercase in macro/inline-fun names for chars and such, which wasn't the case before. we now reserve caps either for XFOO_ macros that reference object fields (e.g. XSTRING_DATA) or for things that have non-function semantics, e.g. directly modifying an arg (BREAKUP_EMCHAR) or evaluating an arg (any arg) more than once. otherwise, use lowercase. here is a summary of most of the macros/inline funs changed by all of the above changes: BYTE_*_P -> byte_*_p XSTRING_BYTE -> string_byte set_string_data/length -> set_lispstringp_data/length XSTRING_CHAR_LENGTH -> string_char_length XSTRING_CHAR -> string_emchar INTBYTE_FIRST_BYTE_P -> intbyte_first_byte_p INTBYTE_LEADING_BYTE_P -> intbyte_leading_byte_p charptr_copy_char -> charptr_copy_emchar LEADING_BYTE_* -> leading_byte_* CHAR_* -> EMCHAR_* *_CHAR_* -> *_EMCHAR_* *_CHAR -> *_EMCHAR CHARSET_BY_ -> charset_by_* BYTE_SHIFT_JIS* -> byte_shift_jis* BYTE_BIG5* -> byte_big5* REP_BYTES_BY_FIRST_BYTE -> rep_bytes_by_first_byte char_to_unicode -> emchar_to_unicode valid_char_p -> valid_emchar_p Change intbyte_strcmp -> qxestrcmp_c (duplicated functionality). -- INTERFACE CHANGES AFFECTING LESS CODE: use DECLARE_INLINE_HEADER in various places. remove '#ifdef emacs' from XEmacs-only files. eliminate CHAR_TABLE_VALUE(), which duplicated the functionality of get_char_table(). add BUFFER_TEXT_LOOP to simplify iterations over buffer text. define typedefs for signed and unsigned types of fixed sizes (INT_32_BIT, UINT_32_BIT, etc.). create ALIGN_FOR_TYPE as a higher-level interface onto ALIGN_SIZE; fix code to use it. add charptr_emchar_len to return the text length of the character pointed to by a ptr; use it in place of charcount_to_bytecount(..., 1). add emchar_len to return the text length of a given character. add types Bytexpos and Charxpos to generalize Bytebpos/Bytecount and Charbpos/Charcount, in code (particularly, the extents code and redisplay code) that works with either kind of index. rename redisplay struct params with names such as `charbpos' to e.g. `charpos' when they are e.g. a Charxpos, not a Charbpos. eliminate xxDEFUN in place of DEFUN; no longer necessary with changes awhile back to doc.c. split up big ugly combined list of EXFUNs in lisp.h on a file-by-file basis, since other prototypes are similarly split. rewrite some "*_UNSAFE" macros as inline funs and eliminate the _UNSAFE suffix. move most string code from lisp.h to text.h; the string code and text.h code is now intertwined in such a fashion that they need to be in the same place and partially interleaved. (you can't create forward references for inline funs) automated/lisp-tests.el, automated/symbol-tests.el, automated/test-harness.el: Fix test harness to output FAIL messages to stderr when in batch mode. Fix up some problems in lisp-tests/symbol-tests that were causing spurious failures.
author ben
date Sun, 05 May 2002 11:33:57 +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.