This patch reorganises the option list in configure to make the help output
look like the existing configure.usage. The new format is listed after the
ChangeLogs. The copyright notice has also been brought up to date.
Note that as part of this patch I intend to remove configure.usage. If that
causes any immediate problems, please let me know.
Malcolm
ChangeLog addition:
2005-11-08 Malcolm Purvis <malcolmp(a)xemacs.org>
* configure.ac : Reorganised the option list so that the help
output looks like configure.usage from 21.4
* configure.usage : Remove
man/ChangeLog addition:
2005-11-08 Malcolm Purvis <malcolmp(a)xemacs.org>
* internals/internals.texi (The configure Script): Added the
definition of the new macro XE_HELP_SUBSECTION.
===========================================================================
`configure' configures XEmacs 21.5 to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print `checking...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or `..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc. You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data [PREFIX/share]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--infodir=DIR info documentation [PREFIX/info]
--mandir=DIR man documentation [PREFIX/man]
X features:
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR
System types:
--build=BUILD configure for building on BUILD [guessed]
Optional Features:
--with-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-FEATURE[=ARG] alias for --with-FEATURE
--without-FEATURE do not use FEATURE (same as --with-FEATURE=no)
--disable-FEATURE alias for --without-FEATURE
Compilation options
-------------------
--with-compiler C compiler to use
--with-xemacs-compiler compiler to use to compile just the xemacs
executable and C modules. If you want to compile
XEmacs as C++, use e.g.
`--with-xemacs-compiler=g++'. This turns on a lot of
additional error-checking.
--with-gcc Use GCC to compile XEmacs.
--with-cflags=FLAGS Compiler flags. These flags will be placed after any
flags inserted for warnings, debugging or
optimization; setting this does not disable the
insertion of those flags. Use configure settings
such as `--with-optimization=no' or
`enable-debug=no' to turn them off, or override them
with `--with-cflags-optimization',
`--with-cflags-debugging', or `with-cflags-warning'.
--with-cflags-warning=FLAGS
Override compiler flags used to control warnings.
Normally, don't set this, as XEmacs already turns on
the maximum safe warning level.
--with-optimization Control whether compilation is optimized. By
default, optimization is on in release versions and
off in beta versions, since it can interfere with
proper stack backtraces.
--with-cflags-optimization=FLAGS
Override compiler flags used to control
optimization. If blank, forces no optimization; if
non-blank, forces optimization. Normally, don't set
this; XEmacs automatically sets the maximum safe
optimization flags appropriate for the compiler
being invoked. If you just want to turn optimization
on or off, use `with-optimization' instead.
--with-cflags-debugging=FLAGS
Override compiler flags used to add debugging
information to the executable. Normally, debugging
information is added whenever possible (i.e. unless
optimization is turned on and the compiler does not
permit debugging and optimization simultaneously).
--with-cpp C preprocessor to use (e.g. /usr/ccs/lib/cpp or cc
-E)
--with-cppflags C preprocessor flags (e.g. -I/foo or -Dfoo=bar)
--with-libs Additional libraries (e.g. -lfoo)
--with-ldflags Additional linker flags (e.g. -L/foo)
--with-site-includes=PATHS
Prepend to include search path.
--with-site-libraries=PATHS
Prepend to library search path.
--with-site-prefixes=PATHS
Prepend to include and library search paths, with
/include and /lib added. Comes after site-includes
and site-libraries, if any.
--with-site-runtime-libraries=PATHS
Prepend to the runtime library search path
--with-dynamic Link dynamically if supported by system. 'No' forces
static linking.
Installation options
--------------------
--with-prefix=no Don't compile the value for `prefix' into the
executable.
--with-netinstall Support for installation over the internet. Only
functional on the MS Windows platforms.
--with-statedir=DIR
--with-lispdir=DIR
--with-archlibdir=DIR
--with-moduledir=DIR
--with-etcdir=DIR
--with-docdir=DIR
Run-time path-searching options
-------------------------------
--with-site-lisp=no 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.
--with-package-prefix=DIR
Specify packages root.
--with-package-path=PATH
Search path for package hierarchies.
--with-infopath=PATH Location of info directories
Window-system options
---------------------
--with-gtk Support GTK on the X Window System. (EXPERIMENTAL)
--with-gnome Support GNOME on the X Window System. (EXPERIMENTAL)
--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 Enable toolbar support. Default: yes.
--with-wmcommand 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 ('yes', '`no', `lucid', `motif',
`athena', `gtk', or `msw'). The Lucid widgets
emulate Motif (mostly) but are faster. *WARNING* The
Motif menubar is currently broken. Lucid menubars
are the default.
--with-scrollbars=TYPE
Use TYPE scrollbars 'yes', '`no', `lucid', `motif',
`athena', `gtk', or `msw'). Lucid scrollbars are the
default.
--with-dialogs=TYPE Use TYPE dialog boxes 'yes', '`no', `lucid',
`motif', `athena', `gtk', or `msw'). There are no
true Lucid dialogs; Motif dialogs will be used if
Motif can be found, else Athena is used.
--with-widgets=TYPE Use TYPE native widgets ('yes', '`no', `lucid',
`motif', `athena', `gtk', or `msw'). Other widget
types are currently unsupported. There are no true
Lucid widgets; Motif widgets will be used if Motif
can be found, else Athena is used.
--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 Use Xmu utilities. Default: yes.
--with-external-widget
Support XEmacs server for text widgets in other
applications.
TTY (character terminal) options
--------------------------------
--with-tty Enable TTY support. Default: yes.
--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.
--with-gif Compile without the (builtin) support for GIF
images.
Sound options
-------------
--with-sound=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 except for ESD which defaults to
off.
--with-native-sound-lib Path to sound library (for systems with name
conflicts).
Internationalization options
----------------------------
--with-mule Compile with Mule (Multi-Lingual Emacs) support,
needed to support non-Latin-1 (including Asian)
languages.
--with-xim==TYPE Enable XIM support. TYPE is `yes', `no', `xlib', or
`motif'
--with-canna Support the Canna Japanese input method. Requires
Mule.
--with-wnn Support the Wnn Asian language input method.
Requires Mule.
--with-wnn6 Support the Wnn6 Asian language input method
(proprietary). Requires Mule.
--with-xfs Enable XFontSet support for internationalized
menubar. Incompatible with `--with-xim=motif'.
`--with-menubars=lucid' (the default) is
desirable.
File-related options
--------------------
--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.
--with-clash-detection
Disable use of lock files to detect multiple edits
of the same file.
--with-zlib Support inflate (de)compression internally.
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 Support the LDAP protocol.
--with-postgresql Support the PostgreSQL RDBMS.
Mail options
------------
--with-mail-locking=TYPE
Specify the locking to be used by movemail to
prevent concurrent updates of mail spool files.
Valid types are `lockf', `flock', `file', `locking',
`mmdf' or `pop'.
--with-pop Support POP for mail retrieval.
--with-kerberos Support Kerberos-authenticated POP.
--with-hesiod Support Hesiod to get the POP server host.
Networking options
------------------
--with-tooltalk Support the ToolTalk IPC protocol.
--with-socks Compile with support for SOCKS (an Internet proxy).
--with-dnet Compile with support for DECnet.
--with-ipv6-cname Try IPv6 information first when canonicalizing host
names. This option has no effect unless system
supports getaddrinfo(3) and getnameinfo(3).
Memory allocation options
-------------------------
--with-rel-alloc Enable the relocating allocator.
--with-dlmalloc Use Doug Lea's malloc implementation.
--with-system-malloc Use the system malloc, not the one distributed with
XEmacs.
--with-debug-malloc Use a debugging malloc.
--with-pdump Enable portable LISP preloader.
--with-dump-in-exec Enable dumping into executable (enabled by default
for `pdump', not enabled by default in combination
with `mc-alloc').
--with-kkcc Enable experimental new GC algorithms.
--with-mc-alloc Enable experimental new allocator.
Emacs Lisp options
------------------
--with-modules Compile in experimental support for dynamically
loaded libraries (Dynamic Shared Objects).
--with-bignum=TYPE Compile in support for bignums, ratios, or bigfloats
using library support. TYPE must be one of "gmp"
(for GNU MP), "mp" (for BSD MP), or "no" (disabled).
Platform Specific options
-------------------------
--with-workshop Support the Sun WorkShop (formerly Sparcworks)
development environment.
--with-sparcworks Alias for --with-workshop
--with-infodock Support the Infodock version of XEmacs. Infodock is
a SourceForge project).
Debugging options
-----------------
--with-debug Enable additional debugging information. No time
cost.
--with-error-checking=TESTS
Compile with internal error-checking added. Causes
noticeable loss of speed. Valid TESTS are `extents',
`bufpos', `malloc', `gc', `types', `text',
`byte_code', `glyphs', `display', `structures'.
--with-assertions Compile in runtime assertions.
--with-memory-usage-stats
Enable LISP memory usage API.
--with-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, (2) doesn't
automatically rebuild the DOC file (remove it by
hand to get it rebuilt), (3) Removes config.h,
lisp.h and associated files from the dependency
lists, so changes to these files don't automatically
cause all .c files to be rebuilt.
--with-union-type Use union definition of Lisp_Object type. Known to
trigger bugs in some compilers.
--with-quantify Support performance debugging using Quantify.
--with-purify Support memory debugging using Purify.
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-x use the X Window System
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
headers in a nonstandard directory <include dir>
CPP C preprocessor
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to <xemacs-beta(a)xemacs.org>.
===========================================================================
xemacs-autoconf-2.5 source patch:
Diff command: cvs -q diff -u
Files affected: man/internals/internals.texi configure.ac
Index: configure.ac
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/configure.ac,v
retrieving revision 1.18
diff -u -r1.18 configure.ac
--- configure.ac 2005/11/07 08:49:16 1.18
+++ configure.ac 2005/11/08 11:04:54
@@ -31,51 +31,52 @@
dnl Local copyright notices.
AC_COPYRIGHT(
-[#### Configuration script for XEmacs. Largely divergent from FSF.
-#### Guess values for system-dependent variables and create Makefiles.
-#### Copyright (C) 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
-#### Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
-#### Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
-#### Copyright (C) 1993, 1994, 1995 Board of Trustees, University of Illinois.
-#### Copyright (C) 1996, 1997 Sun Microsystems, Inc.
-#### Copyright (C) 1995, 1996, 2002, 2003, 2004 Ben Wing.
-#### Copyright (C) 2000, 2001 Martin Buchholz.
-#### Copyright (C) 1998, 1999 J. Kean Johnston.
-#### Copyright (C) 2005 Malcolm Purvis
-
-### Don't edit this script!
-### This script was automatically generated by the `autoconf' program
-### from the file `./configure.in'.
-### To rebuild it, execute the command
-### autoconf
-### in the this directory. You must have autoconf version 2.50 or later.
-### Note: this script has been tested only with autoconf version 2.5x.
-
-### This file is part of XEmacs.
-
-### XEmacs is free software; you can redistribute it and/or modify it
-### under the terms of the GNU General Public License as published by
-### the Free Software Foundation; either version 2, or (at your
-### option) any later version.
-
-### XEmacs is distributed in the hope that it will be useful, but
-### WITHOUT ANY WARRANTY; without even the implied warranty of
-### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-### General Public License for more details.
-
-### You should have received a copy of the GNU General Public License
-### along with XEmacs; see the file COPYING. If not, write to the Free
-### Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-### 02111-1307, USA.
-
-### For usage, run `./configure --help'
-### For more detailed information on building and installing XEmacs,
-### read the file `INSTALL'.
-###
-### If configure succeeds, it leaves its status in config.status.
-### A log of configuration tests can be found in config.log.
-### If configure fails after disturbing the status quo,
-### config.status is removed.
+[Configuration script for XEmacs. Largely divergent from FSF.
+Guess values for system-dependent variables and create Makefiles.
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
+Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+Copyright (C) 1993, 1994, 1995 Board of Trustees, University of Illinois.
+Copyright (C) 1996, 1997 Sun Microsystems, Inc.
+Copyright (C) 1995, 1996, 2002, 2003, 2004 Ben Wing.
+Copyright (C) 2000, 2001 Martin Buchholz.
+Copyright (C) 1998, 1999 J. Kean Johnston.
+Copyright (C) 2005 Malcolm Purvis
+
+Don't edit this script!
+This script was automatically generated by the `autoconf' program
+from the file `./configure.ac'. To rebuild it, execute the command:
+
+ autoconf
+
+in the this directory. You must have autoconf version 2.59.
+
+This file is part of XEmacs.
+
+XEmacs is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your
+option) any later version.
+
+XEmacs is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with XEmacs; see the file COPYING. If not, write to the Free
+Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
+
+For usage, run `./configure --help'
+For more detailed information on building and installing XEmacs,
+read the file `INSTALL'.
+
+If configure succeeds, it leaves its status in config.status.
+A log of configuration tests can be found in config.log.
+If configure fails after disturbing the status quo,
+ config.status is removed.
])
dnl -------------------------------------------------------------------------
@@ -268,6 +269,26 @@
fi; dnl
])dnl XE_MERGED_ARG
dnl
+dnl XE_HELP_SUBSECTION(HEADING)
+dnl --------------------------
+dnl
+dnl Add subsection headings to the help text for XE_MERGED_ARG options.
+dnl
+AC_DEFUN([XE_HELP_SUBSECTION],
+[m4_divert_once([HELP_ENABLE], [[
+Optional Features:
+ --with-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-FEATURE[=ARG] alias for --with-FEATURE
+ --without-FEATURE do not use FEATURE (same as --with-FEATURE=no)
+ --disable-FEATURE alias for --without-FEATURE]])dnl
+dnl NOTE: The next eol adds a blank line before the heading.
+m4_divert_once([HELP_ENABLE], [[
+$1]])dnl
+dnl Add an underscpne
+dnl NOTE: The next eol adds a blank line after the underscore.
+m4_divert_text([HELP_ENABLE], patsubst([$1], [.], [-])
+)])dnl
+dnl
dnl XEmacs keyword option support
dnl =============================
dnl
@@ -390,10 +411,17 @@
dnl ---------------------------------------------
dnl
dnl Internal macro to parse the option values. If an undeclared option is
-dnl found then an error is generated.
+dnl found then an error is generated. Because something has been supplied on
+dnl the command line initialise all the complex options to 'no' rather than
+dnl the default. In thius way --enable-complex=foo will give the expected
+dnl value (no) for bar.
dnl
define([XE_PARSE_COMPLEX_OPTION],
-[for x in `echo "$with_[$1]" | sed -e 's/,/ /g'` ; do
+[for y in $_[$1]_types; do
+ eval "with_[$1]_$y=no"
+ eval "enable_[$1]_$y=no"
+done
+for x in `echo "$with_[$1]" | sed -e 's/,/ /g'` ; do
_[$1]_all_default=""
_[$1]_found=""
case "$x" in
@@ -495,15 +523,113 @@
dnl --use-kkcc --enable-kkcc
dnl
dnl parse flags
+XE_HELP_SUBSECTION([Compilation options])
+XE_MERGED_ARG([compiler],
+ AC_HELP_STRING([--with-compiler],[C compiler to use]),
+ [], [])
+XE_MERGED_ARG([xemacs-compiler],
+ AC_HELP_STRING([--with-xemacs-compiler],
+ [compiler to use to compile just the xemacs executable and C modules.
+ If you want to compile XEmacs as C++, use e.g.
+ `--with-xemacs-compiler=g++'. This turns on a lot of
+ additional error-checking.]),
+ [], [])
+XE_MERGED_ARG([gcc],
+ AC_HELP_STRING([--with-gcc],[Use GCC to compile XEmacs.]),
+ [], [])
+XE_MERGED_ARG([cflags],
+ AC_HELP_STRING([--with-cflags=FLAGS],
+ [Compiler flags. These flags will be placed after any flags inserted for warnings, debugging or optimization; setting this does not disable the insertion of those flags. Use configure settings such as `--with-optimization=no' or `enable-debug=no' to turn them off, or override them with `--with-cflags-optimization', `--with-cflags-debugging', or `with-cflags-warning'.]),
+ [], [])
+XE_MERGED_ARG([cflags-warning],
+ AC_HELP_STRING([--with-cflags-warning=FLAGS],[Override compiler flags used to control warnings.
+ Normally, don't set this, as XEmacs already turns on
+ the maximum safe warning level.]),
+ [], [])
+XE_MERGED_ARG([optimization],
+ AC_HELP_STRING([--with-optimization],[Control whether compilation is optimized. By default, optimization is on in release versions and off in beta versions, since it can interfere with proper stack backtraces.]),
+ [], [])
+XE_MERGED_ARG([cflags-optimization],
+ AC_HELP_STRING([--with-cflags-optimization=FLAGS],
+ [Override compiler flags used to control optimization. If blank, forces no optimization; if non-blank, forces optimization. Normally, don't set this; XEmacs automatically sets the maximum safe optimization flags appropriate for the compiler being invoked. If you just want to turn optimization on or off, use `with-optimization' instead.]),
+ [], [])
+XE_MERGED_ARG([cflags-debugging],
+ AC_HELP_STRING([--with-cflags-debugging=FLAGS],
+ [Override compiler flags used to add debugging information to the executable. Normally, debugging information is added whenever possible (i.e. unless optimization is turned on and the compiler does not permit debugging and optimization simultaneously).]),
+ [], [])
+XE_MERGED_ARG([cpp],
+ AC_HELP_STRING([--with-cpp],[C preprocessor to use (e.g. /usr/ccs/lib/cpp or cc -E)]),
+ [CPP="$with_cpp"], [])
+XE_MERGED_ARG([cppflags],
+ AC_HELP_STRING([--with-cppflags],[C preprocessor flags (e.g. -I/foo or -Dfoo=bar)]),
+ [CPPFLAGS="$with_cppflags"], [])
+XE_MERGED_ARG([libs=LIBS],
+ AC_HELP_STRING([--with-libs],[Additional libraries (e.g. -lfoo)]),
+ [LIBS="$with_libs"], [])
+XE_MERGED_ARG([ldflags=FLAGS],
+ AC_HELP_STRING([--with-ldflags],[Additional linker flags (e.g. -L/foo)]),
+ [LDFLAGS="$with_ldflags"], [])
+XE_MERGED_ARG([site-includes],
+ AC_HELP_STRING([--with-site-includes=PATHS],[Prepend to include search path.]),
+ [], [])
+XE_MERGED_ARG([site-libraries],
+ AC_HELP_STRING([--with-site-libraries=PATHS],[Prepend to library search path.]),
+ [], [])
+XE_MERGED_ARG([site-prefixes],
+ AC_HELP_STRING([--with-site-prefixes=PATHS],[Prepend to include and library search paths, with /include and /lib added. Comes after site-includes and site-libraries, if any.]),
+ [], [])
+XE_MERGED_ARG([site-runtime-libraries],
+ AC_HELP_STRING([--with-site-runtime-libraries=PATHS],[Prepend to the runtime library search path]),
+ [], [])
+XE_MERGED_ARG([dynamic],
+ AC_HELP_STRING([--with-dynamic],[Link dynamically if supported by system. 'No' forces static linking.]),
+ [], [])
+dnl
+XE_HELP_SUBSECTION([Installation options])
XE_MERGED_ARG([prefix],
AC_HELP_STRING([--with-prefix=no],[Don't compile the value for `prefix' into the executable.]),
[true], [with_prefix=yes])
+XE_MERGED_ARG([netinstall],
+ AC_HELP_STRING([--with-netinstall],[Support for installation over the internet.
+ Only functional on the MS Windows platforms.]),
+ [], [with_netinstall="no"])
+XE_MERGED_ARG([statedir],
+ AC_HELP_STRING([--with-statedir=DIR],[]),
+ [], [with_statedir='${prefix}/lib'])
+XE_MERGED_ARG([lispdir],
+ AC_HELP_STRING([--with-lispdir=DIR],[]),
+ [AC_DEFINE(LISPDIR_USER_DEFINED)], [with_lispdir='${datadir}/${instvardir}/lisp'])
+XE_MERGED_ARG([archlibdir],
+ AC_HELP_STRING([--with-archlibdir=DIR],[]),
+ [AC_DEFINE(ARCHLIBDIR_USER_DEFINED)], [with_archlibdir='${libdir}/${instvardir}/${configuration}'])
+XE_MERGED_ARG([moduledir],
+ AC_HELP_STRING([--with-moduledir=DIR],[]),
+ [AC_DEFINE(MODULEDIR_USER_DEFINED)], [with_moduledir='${libdir}/${instvardir}/${configuration}/modules'])
+XE_MERGED_ARG([etcdir],
+ AC_HELP_STRING([--with-etcdir=DIR],[]),
+ [AC_DEFINE(ETCDIR_USER_DEFINED)], [with_etcdir='${datadir}/${instvardir}/etc'])
+XE_MERGED_ARG([docdir],
+ AC_HELP_STRING([--with-docdir=DIR],[]),
+ [AC_DEFINE(DOCDIR_USER_DEFINED)], [with_docdir='${archlibdir}'])
+dnl
+XE_HELP_SUBSECTION([Run-time path-searching options])
XE_MERGED_ARG([site-lisp],
AC_HELP_STRING([--with-site-lisp=no],[Allow for a site-lisp directory in the XEmacs hierarchy searched before the installation packages.]),
[true], [with_site_lisp=no])
XE_MERGED_ARG([site-modules],
- AC_HELP_STRING([--with-site-modules],[Disable site-modules directory in the XEmacs hierarchy, which is searched before the installation modules.]),
+ AC_HELP_STRING([--with-site-modules=no],[Disable site-modules directory in the XEmacs hierarchy, which is searched before the installation modules.]),
[], [])
+XE_MERGED_ARG([package-prefix],
+ AC_HELP_STRING([--with-package-prefix=DIR],[Specify packages root.]),
+ [AC_DEFINE(PACKAGE_PATH_USER_DEFINED)], [])
+XE_MERGED_ARG([package-path],
+ AC_HELP_STRING([--with-package-path=PATH],[Search path for package hierarchies.]),
+ [AC_DEFINE(PACKAGE_PATH_USER_DEFINED)], [])
+XE_MERGED_ARG([infopath],
+ AC_HELP_STRING([--with-infopath=PATH],[Location of info directories]),
+ [AC_DEFINE(INFOPATH_USER_DEFINED)], [])
+dnl
+XE_HELP_SUBSECTION([Window-system options])
XE_MERGED_ARG([gtk],
AC_HELP_STRING([--with-gtk],[Support GTK on the X Window System. (EXPERIMENTAL)]),
[true], [with_gtk=no])
@@ -512,22 +638,38 @@
[true], [with_gnome=no])
XE_MERGED_ARG([msw],
AC_HELP_STRING([--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.]),
- [], [])
-XE_MERGED_ARG([gcc],
- AC_HELP_STRING([--with-gcc],[Use GCC to compile XEmacs.]),
- [], [])
-XE_MERGED_ARG([dynamic],
- AC_HELP_STRING([--with-dynamic],[Link dynamically if supported by system. 'No' forces static linking.]),
- [], [])
-XE_MERGED_ARG([ncurses],
- AC_HELP_STRING([--with-ncurses],[Use the ncurses library for tty support.]),
[], [])
-XE_MERGED_ARG([dnet],
- AC_HELP_STRING([--with-dnet],[Compile with support for DECnet.]),
+XE_MERGED_ARG([toolbars],
+ AC_HELP_STRING([--enable-toolbars],[Enable toolbar support. Default: yes.]),
[], [])
-XE_MERGED_ARG([socks],
- AC_HELP_STRING([--with-socks],[Compile with support for SOCKS (an Internet proxy).]),
+XE_MERGED_ARG([wmcommand],
+ AC_HELP_STRING([--with-wmcommand],[Compile without realized leader window which will
+ keep the WM_COMMAND property.]),
[], [])
+XE_KEYWORD_ARG([athena],
+ AC_HELP_STRING([--with-athena=TYPE],[Use TYPE Athena widgets (`xaw', `3d', `next', `95', or `xpm').]),
+[],[],[xaw,3d,next,95,xpm])dnl
+XE_KEYWORD_ARG([menubars],
+ AC_HELP_STRING([--enable-menubars=TYPE],[Use TYPE menubars ('yes', '`no', `lucid', `motif', `athena', `gtk', or `msw'). The Lucid
+ widgets emulate Motif (mostly) but are faster.
+ *WARNING* The Motif menubar is currently broken.
+ Lucid menubars are the default.]),
+ [], [],[yes,no,lucid,motif,athena,gtk,msw])
+XE_KEYWORD_ARG([scrollbars],
+ AC_HELP_STRING([--enable-scrollbars=TYPE],[Use TYPE scrollbars 'yes', '`no', `lucid', `motif', `athena', `gtk', or `msw').
+ Lucid scrollbars are the default.]),
+ [], [],[yes,no,lucid,motif,athena,gtk,msw])
+XE_KEYWORD_ARG([dialogs],
+ AC_HELP_STRING([--enable-dialogs=TYPE],[Use TYPE dialog boxes 'yes', '`no', `lucid', `motif', `athena', `gtk', or `msw').
+ There are no true Lucid dialogs; Motif dialogs will be
+ used if Motif can be found, else Athena is used.]),
+ [], [],[yes,no,lucid,motif,athena,gtk,msw])
+XE_KEYWORD_ARG([widgets],
+ AC_HELP_STRING([--enable-widgets=TYPE],[Use TYPE native widgets ('yes', '`no', `lucid', `motif', `athena', `gtk', or `msw').
+ Other widget types are currently unsupported.
+ There are no true Lucid widgets; Motif widgets will be
+ used if Motif can be found, else Athena is used.]),
+ [], [],[yes,no,lucid,motif,athena,gtk,msw])
XE_MERGED_ARG([dragndrop],
AC_HELP_STRING([--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,
@@ -546,9 +688,25 @@
different vendors, the results may be
unpredictable.]),
[], [])
+XE_MERGED_ARG([xmu],
+ AC_HELP_STRING([--with-xmu],[Use Xmu utilities. Default: yes.]),
+ [], [])
+XE_MERGED_ARG([external-widget],
+ AC_HELP_STRING([--enable-external-widget],[Support XEmacs server for text widgets in other applications.]),
+ [], [])
+dnl
+XE_HELP_SUBSECTION([TTY (character terminal) options])
+XE_MERGED_ARG([tty],
+ AC_HELP_STRING([--with-tty],[Enable TTY support. Default: yes.]),
+ [], [])
+XE_MERGED_ARG([ncurses],
+ AC_HELP_STRING([--with-ncurses],[Use the ncurses library for tty support.]),
+ [], [])
XE_MERGED_ARG([gpm],
AC_HELP_STRING([--with-gpm],[Compile in GPM mouse support for ttys.]),
[], [])
+dnl
+XE_HELP_SUBSECTION([Image options])
XE_MERGED_ARG([xpm],
AC_HELP_STRING([--with-xpm],[Compile with support for XPM images. PRACTICALLY
REQUIRED. Although this library is nonstandard and
@@ -556,65 +714,56 @@
toolbars) depend on it, and you will run into
many problems without it.]),
[], [])
-XE_MERGED_ARG([xface],
- AC_HELP_STRING([--with-xface],[Compile with support for X-Face mail headers.
- Requires the compface package.]),
- [], [])
-XE_MERGED_ARG([gif],
- AC_HELP_STRING([--with-gif],[Compile without the (builtin) support for GIF images.]),
+XE_MERGED_ARG([png],
+ AC_HELP_STRING([--with-png],[Compile with support for PNG images. Recommended
+ because the images on the About page are not viewable
+ without it.]),
[], [])
XE_MERGED_ARG([jpeg],
AC_HELP_STRING([--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.]),
[], [])
-XE_MERGED_ARG([png],
- AC_HELP_STRING([--with-png],[Compile with support for PNG images. Recommended
- because the images on the About page are not viewable
- without it.]),
- [], [])
XE_MERGED_ARG([tiff],
AC_HELP_STRING([--with-tiff],[Compile with support for TIFF images. Possibly
useful, for the same reason as JPEG images.]),
- [], [])
-XE_MERGED_ARG([zlib],
- AC_HELP_STRING([--with-zlib],[Support inflate (de)compression internally.]),
- [], [])
-XE_MERGED_ARG([wmcommand],
- AC_HELP_STRING([--with-wmcommand],[Compile without realized leader window which will
- keep the WM_COMMAND property.]),
- [], [])
-XE_MERGED_ARG([xmu],
- AC_HELP_STRING([--with-xmu],[Use Xmu utilities. Default: yes.]),
- [], [])
-XE_MERGED_ARG([purify],
- AC_HELP_STRING([--with-purify],[Support memory debugging using Purify.]),
[], [])
-XE_MERGED_ARG([quantify],
- AC_HELP_STRING([--with-quantify],[Support performance debugging using Quantify.]),
- [], [])
-XE_MERGED_ARG([toolbars],
- AC_HELP_STRING([--enable-toolbars],[Enable toolbar support. Default: yes.]),
+XE_MERGED_ARG([xface],
+ AC_HELP_STRING([--with-xface],[Compile with support for X-Face mail headers.
+ Requires the compface package.]),
[], [])
-XE_MERGED_ARG([tty],
- AC_HELP_STRING([--with-tty],[Enable TTY support. Default: yes.]),
+XE_MERGED_ARG([gif],
+ AC_HELP_STRING([--with-gif],[Compile without the (builtin) support for GIF images.]),
[], [])
-XE_MERGED_ARG([xfs],
- AC_HELP_STRING([--with-xfs],[Enable XFontSet support for internationalized
- menubar. Incompatible with `--with-xim=motif'.
- `--enable-menubars=lucid' (the default) is desirable.]),
+dnl
+XE_HELP_SUBSECTION([Sound options])
+XE_COMPLEX_ARG([sound],
+ AC_HELP_STRING([--enable-sound=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 except
+ for ESD which defaults to off.]),
+ [],
+ [enable_sound_nas=""],
+ [XE_COMPLEX_OPTION([native],[""]),
+ XE_COMPLEX_OPTION([nas],[""]),
+ XE_COMPLEX_OPTION([esd],[no])])
+XE_MERGED_ARG([native-sound-lib],
+ AC_HELP_STRING([--with-native-sound-lib],[Path to sound library (for systems with name conflicts).]),
[], [])
+dnl
+XE_HELP_SUBSECTION([Internationalization options])
XE_MERGED_ARG([mule],
AC_HELP_STRING([--enable-mule],[Compile with Mule (Multi-Lingual Emacs) support,
needed to support non-Latin-1 (including Asian)
languages.]),
[], [])
-XE_MERGED_ARG([default-eol-detection],
- AC_HELP_STRING([--enable-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.]),
- [], [])
+XE_KEYWORD_ARG([xim],
+ AC_HELP_STRING([--with-xim==TYPE],[Enable XIM support. TYPE is `yes', `no', `xlib', or `motif']),
+ [],[],[yes,no,xlib,motif])dnl
XE_MERGED_ARG([canna],
AC_HELP_STRING([--with-canna],[Support the Canna Japanese input method. Requires Mule.]),
[], [])
@@ -626,22 +775,55 @@
AC_HELP_STRING([--with-wnn6],[Support the Wnn6 Asian language input
method (proprietary). Requires Mule.]),
[], [])
-XE_MERGED_ARG([workshop],
- AC_HELP_STRING([--with-workshop],[Support the Sun WorkShop (formerly Sparcworks)
- development environment.]),
+XE_MERGED_ARG([xfs],
+ AC_HELP_STRING([--with-xfs],[Enable XFontSet support for internationalized
+ menubar. Incompatible with `--with-xim=motif'.
+ `--enable-menubars=lucid' (the default) is desirable.]),
[], [])
-XE_MERGED_ARG([sparcworks],
- AC_HELP_STRING([--with-sparcworks],[Alias for --with-workshop]),
+dnl
+XE_HELP_SUBSECTION([File-related options])
+XE_MERGED_ARG([default-eol-detection],
+ AC_HELP_STRING([--enable-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.]),
[], [])
-XE_MERGED_ARG([tooltalk],
- AC_HELP_STRING([--with-tooltalk],[Support the ToolTalk IPC protocol.]),
+XE_MERGED_ARG([clash-detection],
+ AC_HELP_STRING([--enable-clash-detection],[Disable use of lock files to detect multiple edits
+ of the same file.]),
+ [], [])
+XE_MERGED_ARG([zlib],
+ AC_HELP_STRING([--with-zlib],[Support inflate (de)compression internally.]),
[], [])
+dnl
+XE_HELP_SUBSECTION([Database options])
+XE_COMPLEX_ARG([database],
+ AC_HELP_STRING([--enable-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'.]),
+ [
+if test "$enable_database_dbm" = "yes" -a "$enable_database_gdbm" = "yes"; then
+ USAGE_ERROR("Only one of \`dbm' and \`gnudbm' may be specified
+with the \`--with-database' option.")
+fi
+],
+[],
+[XE_COMPLEX_OPTION([berkdb],[""]),
+ XE_COMPLEX_OPTION([dbm],[""]),
+ XE_COMPLEX_OPTION([gdbm],[""])])
XE_MERGED_ARG([ldap],
AC_HELP_STRING([--with-ldap],[Support the LDAP protocol.]),
[], [])
XE_MERGED_ARG([postgresql],
AC_HELP_STRING([--with-postgresql],[Support the PostgreSQL RDBMS.]),
[], [])
+dnl
+XE_HELP_SUBSECTION([Mail options])
+XE_KEYWORD_ARG([mail-locking],
+ AC_HELP_STRING([--with-mail-locking=TYPE],[Specify the locking to be used by movemail to prevent
+ concurrent updates of mail spool files. Valid types
+ are `lockf', `flock', `file', `locking', `mmdf' or `pop'.]),
+[],[],[lockf,flock,file,locking,mmdf,pop])dnl
XE_MERGED_ARG([pop],
AC_HELP_STRING([--with-pop],[Support POP for mail retrieval.]),
[], [])
@@ -651,98 +833,96 @@
XE_MERGED_ARG([hesiod],
AC_HELP_STRING([--with-hesiod],[Support Hesiod to get the POP server host.]),
[], [])
-XE_MERGED_ARG([infodock],
- AC_HELP_STRING([--with-infodock],[Support the Infodock version of XEmacs. Infodock is a SourceForge project).]),
+dnl
+XE_HELP_SUBSECTION([Networking options])
+XE_MERGED_ARG([tooltalk],
+ AC_HELP_STRING([--with-tooltalk],[Support the ToolTalk IPC protocol.]),
[], [])
-XE_MERGED_ARG([native-sound-lib],
- AC_HELP_STRING([--with-native-sound-lib],[Path to sound library (for systems with name conflicts).]),
+XE_MERGED_ARG([socks],
+ AC_HELP_STRING([--with-socks],[Compile with support for SOCKS (an Internet proxy).]),
[], [])
-XE_MERGED_ARG([netinstall],
- AC_HELP_STRING([--with-netinstall],[Support for installation over the internet.
- Only functional on the MS Windows platforms.]),
- [], [with_netinstall="no"])
-XE_MERGED_ARG([optimization],
- AC_HELP_STRING([--with-optimization],[Control whether compilation is optimized. By default, optimization is on in release versions and off in beta versions, since it can interfere with proper stack backtraces.]),
+XE_MERGED_ARG([dnet],
+ AC_HELP_STRING([--with-dnet],[Compile with support for DECnet.]),
[], [])
XE_MERGED_ARG([ipv6-cname],
AC_HELP_STRING([--with-ipv6-cname],[Try IPv6 information first when canonicalizing host names. This option has no effect unless system supports getaddrinfo(3) and getnameinfo(3).]),
[], [with_ipv6_cname="no"])
-XE_MERGED_ARG([site-includes],
- AC_HELP_STRING([--with-site-includes],[Prepend to include search path.]),
- [], [])
-XE_MERGED_ARG([site-libraries],
- AC_HELP_STRING([--with-site-libraries],[Prepend to library search path.]),
- [], [])
-XE_MERGED_ARG([site-prefixes],
- AC_HELP_STRING([--with-site-prefixes],[Prepend to include and library search paths, with /include and /lib added. Comes after site-includes and site-libraries, if any.]),
+dnl
+XE_HELP_SUBSECTION([Memory allocation options])
+XE_MERGED_ARG([rel-alloc],
+ AC_HELP_STRING([--with-rel-alloc],[Enable the relocating allocator.]),
+ [], [with_rel_alloc='default'])
+XE_MERGED_ARG([dlmalloc],
+ AC_HELP_STRING([--with-dlmalloc],[Use Doug Lea's malloc implementation.]),
+ [], [with_dlmalloc='default'])
+XE_MERGED_ARG([system-malloc],
+ AC_HELP_STRING([--with-system-malloc],[Use the system malloc, not the one distributed with XEmacs.]),
+ [], [with_system_malloc='default'])
+XE_MERGED_ARG([debug-malloc],
+ AC_HELP_STRING([--with-debug-malloc],[Use a debugging malloc.]),
[], [])
-XE_MERGED_ARG([statedir],
- AC_HELP_STRING([--with-statedir],[]),
- [], [with_statedir='${prefix}/lib'])
-XE_MERGED_ARG([lispdir],
- AC_HELP_STRING([--with-lispdir],[]),
- [AC_DEFINE(LISPDIR_USER_DEFINED)], [with_lispdir='${datadir}/${instvardir}/lisp'])
-XE_MERGED_ARG([archlibdir],
- AC_HELP_STRING([--with-archlibdir],[]),
- [AC_DEFINE(ARCHLIBDIR_USER_DEFINED)], [with_archlibdir='${libdir}/${instvardir}/${configuration}'])
-XE_MERGED_ARG([moduledir],
- AC_HELP_STRING([--with-moduledir],[]),
- [AC_DEFINE(MODULEDIR_USER_DEFINED)], [with_moduledir='${libdir}/${instvardir}/${configuration}/modules'])
-XE_MERGED_ARG([etcdir],
- AC_HELP_STRING([--with-etcdir],[]),
- [AC_DEFINE(ETCDIR_USER_DEFINED)], [with_etcdir='${datadir}/${instvardir}/etc'])
-XE_MERGED_ARG([infopath],
- AC_HELP_STRING([--with-infopath],[]),
- [AC_DEFINE(INFOPATH_USER_DEFINED)], [])
-XE_MERGED_ARG([docdir],
- AC_HELP_STRING([--with-docdir],[]),
- [AC_DEFINE(DOCDIR_USER_DEFINED)], [with_docdir='${archlibdir}'])
-XE_MERGED_ARG([site-runtime-libraries],
- AC_HELP_STRING([--with-site-runtime-libraries],[]),
+XE_MERGED_ARG([pdump],
+ AC_HELP_STRING([--enable-pdump],[Enable portable LISP preloader.]),
[], [])
-XE_MERGED_ARG([package-prefix],
- AC_HELP_STRING([--with-package-prefix],[Specify packages root.]),
- [AC_DEFINE(PACKAGE_PATH_USER_DEFINED)], [])
-XE_MERGED_ARG([package-path],
- AC_HELP_STRING([--with-package-path],[Search path for package hierarchies.]),
- [AC_DEFINE(PACKAGE_PATH_USER_DEFINED)], [])
-XE_MERGED_ARG([external-widget],
- AC_HELP_STRING([--enable-external-widget],[Support XEmacs server for text widgets in other applications.]),
+XE_MERGED_ARG([dump-in-exec],
+ AC_HELP_STRING([--enable-dump-in-exec],[Enable dumping into executable (enabled by default
+ for `pdump', not enabled by default in combination
+ with `mc-alloc').]),
[], [])
XE_MERGED_ARG([kkcc],
- AC_HELP_STRING([--enable-kkcc],[Enable new GC algorithms.]),
+ AC_HELP_STRING([--enable-kkcc],[Enable experimental new GC algorithms.]),
[], [enable_kkcc=yes])
XE_MERGED_ARG([mc-alloc],
- AC_HELP_STRING([--enable-mc-alloc],[Enable new allocator.]),
+ AC_HELP_STRING([--enable-mc-alloc],[Enable experimental new allocator.]),
[], [enable_mc_alloc=yes])
-XE_MERGED_ARG([union-type],
- AC_HELP_STRING([--enable-union-type],[Use union definition of Lisp_Object type. Known to trigger bugs in some compilers.]),
+dnl
+XE_HELP_SUBSECTION([Emacs Lisp options])
+XE_MERGED_ARG([modules],
+ AC_HELP_STRING([--enable-modules],[Compile in experimental support for dynamically
+ loaded libraries (Dynamic Shared Objects).]),
[], [])
-XE_MERGED_ARG([pdump],
- AC_HELP_STRING([--enable-pdump],[Enable portable LISP preloader.]),
+XE_KEYWORD_ARG([bignum],
+ AC_HELP_STRING([--enable-bignum=TYPE],[Compile in support for bignums, ratios, or bigfloats
+ using library support. TYPE must be one of "gmp"
+ (for GNU MP), "mp" (for BSD MP), or "no" (disabled).]),
+ [], [enable_bignum="no"],[no,gmp,mp])
+dnl
+XE_HELP_SUBSECTION([Platform Specific options])
+XE_MERGED_ARG([workshop],
+ AC_HELP_STRING([--with-workshop],[Support the Sun WorkShop (formerly Sparcworks)
+ development environment.]),
[], [])
-XE_MERGED_ARG([dump-in-exec],
- AC_HELP_STRING([--enable-dump-in-exec],[Enable dumping into executable (enabled by default
- for `pdump', not enabled by default in combination
- with `mc-alloc').]),
+XE_MERGED_ARG([sparcworks],
+ AC_HELP_STRING([--with-sparcworks],[Alias for --with-workshop]),
+ [], [])
+XE_MERGED_ARG([infodock],
+ AC_HELP_STRING([--with-infodock],[Support the Infodock version of XEmacs. Infodock is a SourceForge project).]),
[], [])
+dnl
+XE_HELP_SUBSECTION([Debugging options])
XE_MERGED_ARG([debug],
AC_HELP_STRING([--enable-debug],[Enable additional debugging information. No time cost.]),
[], [])
+XE_COMPLEX_ARG([error-checking],
+ AC_HELP_STRING([--enable-error-checking=TESTS],[Compile with internal error-checking added.
+ Causes noticeable loss of speed. Valid TESTS
+ are `extents', `bufpos', `malloc', `gc', `types', `text', `byte_code', `glyphs', `display', `structures'.]),
+ [], [],
+[XE_COMPLEX_OPTION([extents],[""]),
+ XE_COMPLEX_OPTION([types],[""]),
+ XE_COMPLEX_OPTION([text],[""]),
+ XE_COMPLEX_OPTION([gc],[""]),
+ XE_COMPLEX_OPTION([malloc],[""]),
+ XE_COMPLEX_OPTION([byte_code],[""]),
+ XE_COMPLEX_OPTION([glyphs],[""]),
+ XE_COMPLEX_OPTION([display],[""]),
+ XE_COMPLEX_OPTION([structures],[""])])
XE_MERGED_ARG([assertions],
- AC_HELP_STRING([--enable-assertions],[]),
+ AC_HELP_STRING([--enable-assertions],[Compile in runtime assertions.]),
[], [])
XE_MERGED_ARG([memory-usage-stats],
AC_HELP_STRING([--enable-memory-usage-stats],[Enable LISP memory usage API.]),
[], [])
-XE_MERGED_ARG([clash-detection],
- AC_HELP_STRING([--enable-clash-detection],[Disable use of lock files to detect multiple edits
- of the same file.]),
- [], [])
-XE_MERGED_ARG([modules],
- AC_HELP_STRING([--enable-modules],[Compile in experimental support for dynamically
- loaded libraries (Dynamic Shared Objects).]),
- [], [])
XE_MERGED_ARG([quick-build],
AC_HELP_STRING([--enable-quick-build],[Speed up the build cycle by leaving out steps where
XEmacs will still work (more or less) without them.
@@ -754,164 +934,16 @@
associated files from the dependency lists, so changes
to these files don't automatically cause all .c files
to be rebuilt.]),
- [], [])
-
-XE_MERGED_ARG([compiler],
- AC_HELP_STRING([--with-compiler],[C compiler to use]),
- [], [])
-
-XE_MERGED_ARG([xemacs-compiler],
- AC_HELP_STRING([--with-xemacs-compiler],
- [compiler to use to compile just the xemacs executable and C modules.
- If you want to compile XEmacs as C++, use e.g.
- `--with-xemacs-compiler=g++'. This turns on a lot of
- additional error-checking.]),
- [], [])
-
-XE_MERGED_ARG([cflags],
- AC_HELP_STRING([--with-cflags],
- [Compiler flags. These flags will be placed after any flags inserted for warnings, debugging or optimization; setting this does not disable the insertion of those flags. Use configure settings such as `--with-optimization=no' or `enable-debug=no' to turn them off, or override them with `--with-cflags-optimization', `--with-cflags-debugging', or `with-cflags-warning'.]),
- [], [])
-
-XE_MERGED_ARG([cflags-warning],
- AC_HELP_STRING([--with-cflags-warning],[Override compiler flags used to control warnings.
- Normally, don't set this, as XEmacs already turns on
- the maximum safe warning level.]),
[], [])
-
-XE_MERGED_ARG([cflags-optimization],
- AC_HELP_STRING([--with-cflags-optimization=FLAGS],
- [Override compiler flags used to control optimization. If blank, forces no optimization; if non-blank, forces optimization. Normally, don't set this; XEmacs automatically sets the maximum safe optimization flags appropriate for the compiler being invoked. If you just want to turn optimization on or off, use `with-optimization' instead.]),
+XE_MERGED_ARG([union-type],
+ AC_HELP_STRING([--enable-union-type],[Use union definition of Lisp_Object type. Known to trigger bugs in some compilers.]),
[], [])
-
-XE_MERGED_ARG([cflags-debugging],
- AC_HELP_STRING([--with-cflags-debugging=FLAGS],
- [Override compiler flags used to add debugging information to the executable. Normally, debugging information is added whenever possible (i.e. unless optimization is turned on and the compiler does not permit debugging and optimization simultaneously).]),
+XE_MERGED_ARG([quantify],
+ AC_HELP_STRING([--with-quantify],[Support performance debugging using Quantify.]),
[], [])
-
-XE_MERGED_ARG([cpp],
- AC_HELP_STRING([--with-cpp],[C preprocessor to use (e.g. /usr/ccs/lib/cpp or cc -E)]),
- [CPP="$with_cpp"], [])
-
-XE_MERGED_ARG([cppflags],
- AC_HELP_STRING([--with-cppflags],[C preprocessor flags (e.g. -I/foo or -Dfoo=bar)]),
- [CPPFLAGS="$with_cppflags"], [])
-
-XE_MERGED_ARG([libs],
- AC_HELP_STRING([--with-libs],[Additional libraries (e.g. -lfoo)]),
- [LIBS="$with_libs"], [])
-
-XE_MERGED_ARG([ldflags],
- AC_HELP_STRING([--with-ldflags],[Additional linker flags (e.g. -L/foo)]),
- [LDFLAGS="$with_ldflags"], [])
-
-XE_MERGED_ARG([rel-alloc],
- AC_HELP_STRING([--with-rel-alloc],[Enable the relocating allocator.]),
- [], [with_rel_alloc='default'])
-
-XE_MERGED_ARG([dlmalloc],
- AC_HELP_STRING([--with-dlmalloc],[Use Doug Lea's malloc implementation.]),
- [], [with_dlmalloc='default'])
-
-XE_MERGED_ARG([debug-malloc],
- AC_HELP_STRING([--with-debug-malloc],[Use a debugging malloc.]),
+XE_MERGED_ARG([purify],
+ AC_HELP_STRING([--with-purify],[Support memory debugging using Purify.]),
[], [])
-
-XE_MERGED_ARG([system-malloc],
- AC_HELP_STRING([--with-system-malloc],[Use the system malloc, not the one distributed with XEmacs.]),
- [], [with_system_malloc='default'])
-
-#Enable code.
-
-XE_COMPLEX_ARG([database],
- AC_HELP_STRING([--enable-database],[Compile with database support. Valid types are
- `no' or a comma-separated list of one or more
- of `berkdb' and either `dbm' or `gnudbm'.]),
- [
-if test "$enable_database_dbm" = "yes" -a "$enable_database_gdbm" = "yes"; then
- USAGE_ERROR("Only one of \`dbm' and \`gnudbm' may be specified
-with the \`--with-database' option.")
-fi
-],
-[],
-[XE_COMPLEX_OPTION([berkdb],[""]),
- XE_COMPLEX_OPTION([dbm],[""]),
- XE_COMPLEX_OPTION([gdbm],[""])])
-
-XE_COMPLEX_ARG([sound],
- AC_HELP_STRING([--enable-sound],[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 except
- for ESD which defaults to off.]),
- [],
- [enable_sound_nas=""],
- [XE_COMPLEX_OPTION([native],[""]),
- XE_COMPLEX_OPTION([nas],[""]),
- XE_COMPLEX_OPTION([esd],[no])])
-
-XE_KEYWORD_ARG([athena],
- AC_HELP_STRING([--with-athena],[Use TYPE Athena widgets (xaw, 3d, next, 95, or xpm).]),
-[],[],[xaw,3d,next,95,xpm])dnl
-
-XE_KEYWORD_ARG([xim],[],[],[],[yes,no,xlib,motif])dnl
-
-XE_KEYWORD_ARG([mail-locking],
- AC_HELP_STRING([--with-mail-locking],[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'.]),
-[],[],[lockf,flock,file,locking,mmdf,pop])dnl
-
-
-XE_KEYWORD_ARG([bignum],
- AC_HELP_STRING([--enable-bignum=TYPE],[Compile in support for bignums, ratios, or bigfloats
- using library support. TYPE must be one of "gmp"
- (for GNU MP), "mp" (for BSD MP), or "no" (disabled).]),
- [], [enable_bignum="no"],[no,gmp,mp])
-
-XE_COMPLEX_ARG([error-checking],
- AC_HELP_STRING([--enable-error-checking],[Compile with internal error-checking added.
- Causes noticeable loss of speed. Valid types
- are extents, bufpos, malloc, gc, types, text, byte_code, glyphs, display, structures.]),
- [], [],
-[XE_COMPLEX_OPTION([extents],[""]),
- XE_COMPLEX_OPTION([types],[""]),
- XE_COMPLEX_OPTION([text],[""]),
- XE_COMPLEX_OPTION([gc],[""]),
- XE_COMPLEX_OPTION([malloc],[""]),
- XE_COMPLEX_OPTION([byte_code],[""]),
- XE_COMPLEX_OPTION([glyphs],[""]),
- XE_COMPLEX_OPTION([display],[""]),
- XE_COMPLEX_OPTION([structures],[""])])
-
-XE_KEYWORD_ARG([menubars],
- AC_HELP_STRING([--enable-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.
- Lucid menubars are the default.]),
- [], [],[yes,no,lucid,motif,athena,gtk,msw])
-
-XE_KEYWORD_ARG([scrollbars],
- AC_HELP_STRING([--enable-scrollbars=TYPE],[Use TYPE scrollbars (lucid, motif, athena, or no).
- Lucid scrollbars are the default.]),
- [], [],[yes,no,lucid,motif,athena,gtk,msw])
-
-XE_KEYWORD_ARG([dialogs],
- AC_HELP_STRING([--enable-dialogs=TYPE],[Use TYPE dialog boxes (lucid, motif, athena, or no).
- There are no true Lucid dialogs; Motif dialogs will be
- used if Motif can be found, else Athena is used.]),
- [], [],[yes,no,lucid,motif,athena,gtk,msw])
-
-XE_KEYWORD_ARG([widgets],
- AC_HELP_STRING([--enable-widgets],[Use TYPE native widgets (lucid, motif, athena, or no).
- Other widget types are currently unsupported.
- There are no true Lucid widgets; Motif widgets will be
- used if Motif can be found, else Athena is used.]),
- [], [],[yes,no,lucid,motif,athena,gtk,msw])
-
dnl -------------------------------------------------------------------------
dnl Final command line argument checks.
Index: man/internals/internals.texi
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/man/internals/internals.texi,v
retrieving revision 1.69
diff -u -r1.69 internals.texi
--- man/internals/internals.texi 2005/10/20 12:38:04 1.69
+++ man/internals/internals.texi 2005/11/08 11:06:24
@@ -4594,7 +4594,11 @@
Declare an option that can be selected by either @samp{--enable} or
@samp{--with}. The value of the option is stored in both
@code{with_FEATURE} and @code{enable_FEATURE}.
+@end table
+@table @code
+@item XE_HELP_SUBSECTION(heading)
+Add a subsection heading to the help output of merged arguments.
@end table
@heading XEmacs keyword option support
--
Malcolm Purvis <malcolmp(a)xemacs.org>