Commit 8ffcc140 8ffcc1404a3b3e9d494ffc8017d27275c3da1640 by Sergey Poznyakoff

Documented mailutils-config.

1 parent 59d04065
......@@ -18,6 +18,7 @@ GNU Mailutils provides a set of programs for handling the email.
* sieve:: Mail filtering utility.
* guimb:: Mailbox scanning and processing language.
* comsatd:: Comsat daemon.
* mailutils-config:: Get the information about the mailutils build.
@end menu
@page
......@@ -3040,3 +3041,205 @@ $B(,5)\
---\n"
@end group
@end example
@page
@node mailutils-config
@section mailutils-config --- Get the information about the mailutils build.
@pindex mailutils-config
This program is designed for developers wishing to link their programs
against libmailbox. It allows to examine the particulars of the
current build of mailutils and to get the command line parameters
necessary for compiling and linking an application with mailutils
libraries.
@menu
* Compiler Flags:: Getting Compiler Flags.
* Loader Flags:: Getting Loader Flags.
* General Information:: Obtaining General Build Information.
@end menu
@node Compiler Flags
@subsection Getting Compiler Flags.
When invoked with the option @option{--compile}, or its short form
@option{-c}, @command{mailutils-config} prints the flags
that must be given to the compiler for compiling the program using
mailutils functions. An example usage:
@example
cc -omyprog.o `mailutils-config --compile` myprog.c
@end example
@node Loader Flags
@subsection Getting Loader Flags
The @option{--link}, or its short form @option{-l} prints to the
standard output the loader flags necessary to link a program against
mailutils libraries.
When invoked without arguments, it produces the flags necessary to
link against the basic library of mailutils: @file{libmailbox}.
Up to two arguments may be given that alter this behavior. These
are:
@table @samp
@item auth
Print flags to link against @file{libmuauth}, the library adding new
authentication methods to @file{libmailbox}.
@item guile
Print flags to link against @file{libmu_scm}, the Guile interface
library.
@end table
Both arguments may be given simultaneously, e.g.:
@example
cc -omyprog myprog.o `mailutils-config --link auth guile`
@end example
@node General Information
@subsection Obtaining General Build Information
The @option{--info}, or @option{-i} retrieves the options (flags) used
when building mailutils. It may be used with or without
arguments.
When used without arguments, it prints the list of all
build flags, e.g.:
@example
$ mailutils-config --info
VERSION=0.1.3
USE_LIBPAM
HAVE_LIBLTDL
WITH_GUILE
WITH_READLINE
HAVE_MYSQL
ENABLE_VIRTUAL_DOMAINS
ENABLE_IMAP
ENABLE_POP
ENABLE_MH
ENABLE_SMTP
ENABLE_SENDMAIL
@end example
This option also accepts any number of arguments. When these are
given, each argument is treated as a name of a build flag.
@command{Mailutils-config} checks if such a flag was defined and
prints its full name if so. It exits with zero code if all the
flags given on the command line are defined. Otherwise, it
exits with code of 1.
The comparison of the flag names is case-insensitive. The arguments
given need not include the leading prefix (i.e. the characters up
to and including the first underscore character).
Given the previous example, the invocation
@example
$ mailutils --info readline use_libpam pop
@end example
@noindent
will produce the following output:
@example
WITH_READLINE
USE_LIBPAM
ENABLE_POP
@end example
@noindent
and will exit with a zero status.
The following command:
@example
$ mailutils --info readline gssapi pop
@end example
@noindent
will exit with status 1, and will print:
@example
WITH_READLINE
ENABLE_POP
@end example
@noindent
since @code{WITH_GSSAPI} flag is not defined.
The flags and their meanings are:
@table @asis
@c @item VERSION=" VERSION,
@item USE_LIBPAM
The mailutils uses @sc{pam} libraries.
@item HAVE_LIBLTDL
The @sc{gnu} wrapper library @file{libltdl} is present and is used
by mailutils. @xref{Using libltdl,,,libtool,Using libltdl}, for
more information on @file{libltdl} library.
@item WITH_BDB2
Support for Berkeley DB is compiled in (the package was configured with
@option{--with-db2} option).
@item WITH_NDBM
Support for NDBM is compiled in (the package was configured with
@option{--with-ndbm} option).
@item WITH_OLD_DBM
Support for old style DBM is compiled in (the package was configured with
@option{--with-dbm} option).
@item WITH_GDBM
Support for GDBM is compiled in (the package was configured with
@option{--with-gdbm} option). @xref{Top,,Introduction,gdbm,GNU DBM Manual}, for
information about this library.
@item WITH_GSSAPI
Support for @sc{gssapi} is compiled in (the package was configured with
@option{--with-gssapi} option).
@item WITH_GUILE
Support for Guile extension language is built (the package was
configured with @option{--with-guile} option).
@xref{Top,,Overview,guile,The Guile Reference Manual}, for information
about Guile.
@item WITH_PTHREAD
The @sc{posix} thread support is compiled in.
@item WITH_READLINE
The readline support is enabled (the package was
configured with @option{--with-readline} option).
@xref{Top,,,readline,GNU Readline Library}, for more information.
@item HAVE_MYSQL
Authentication via MySQL is supported (the package was
configured with @option{--enable-mysql} option).
@item ENABLE_VIRTUAL_DOMAINS
Support for mail virtual domains is enabled (the package was
configured with @option{--enable-virtual-domains} option).
@item ENABLE_IMAP
Support for @sc{imap4} protocol is enabled.
@item ENABLE_POP
Support for @sc{pop3} protocol is enabled.
@item ENABLE_MH
Support for mailboxes in @sc{mh} format is enabled.
@item ENABLE_SMTP
Support for @sc{smtp} mailer is enabled.
@item ENABLE_SENDMAIL
Support for Sendmail mailer is enabled.
@end table
......