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. ...@@ -18,6 +18,7 @@ GNU Mailutils provides a set of programs for handling the email.
18 * sieve:: Mail filtering utility. 18 * sieve:: Mail filtering utility.
19 * guimb:: Mailbox scanning and processing language. 19 * guimb:: Mailbox scanning and processing language.
20 * comsatd:: Comsat daemon. 20 * comsatd:: Comsat daemon.
21 * mailutils-config:: Get the information about the mailutils build.
21 @end menu 22 @end menu
22 23
23 @page 24 @page
...@@ -3040,3 +3041,205 @@ $B(,5)\ ...@@ -3040,3 +3041,205 @@ $B(,5)\
3040 ---\n" 3041 ---\n"
3041 @end group 3042 @end group
3042 @end example 3043 @end example
3044
3045 @page
3046 @node mailutils-config
3047 @section mailutils-config --- Get the information about the mailutils build.
3048 @pindex mailutils-config
3049
3050 This program is designed for developers wishing to link their programs
3051 against libmailbox. It allows to examine the particulars of the
3052 current build of mailutils and to get the command line parameters
3053 necessary for compiling and linking an application with mailutils
3054 libraries.
3055
3056 @menu
3057 * Compiler Flags:: Getting Compiler Flags.
3058 * Loader Flags:: Getting Loader Flags.
3059 * General Information:: Obtaining General Build Information.
3060 @end menu
3061
3062 @node Compiler Flags
3063 @subsection Getting Compiler Flags.
3064
3065 When invoked with the option @option{--compile}, or its short form
3066 @option{-c}, @command{mailutils-config} prints the flags
3067 that must be given to the compiler for compiling the program using
3068 mailutils functions. An example usage:
3069
3070 @example
3071 cc -omyprog.o `mailutils-config --compile` myprog.c
3072 @end example
3073
3074 @node Loader Flags
3075 @subsection Getting Loader Flags
3076
3077 The @option{--link}, or its short form @option{-l} prints to the
3078 standard output the loader flags necessary to link a program against
3079 mailutils libraries.
3080
3081 When invoked without arguments, it produces the flags necessary to
3082 link against the basic library of mailutils: @file{libmailbox}.
3083 Up to two arguments may be given that alter this behavior. These
3084 are:
3085
3086 @table @samp
3087 @item auth
3088 Print flags to link against @file{libmuauth}, the library adding new
3089 authentication methods to @file{libmailbox}.
3090
3091 @item guile
3092 Print flags to link against @file{libmu_scm}, the Guile interface
3093 library.
3094 @end table
3095
3096 Both arguments may be given simultaneously, e.g.:
3097
3098 @example
3099 cc -omyprog myprog.o `mailutils-config --link auth guile`
3100 @end example
3101
3102 @node General Information
3103 @subsection Obtaining General Build Information
3104
3105 The @option{--info}, or @option{-i} retrieves the options (flags) used
3106 when building mailutils. It may be used with or without
3107 arguments.
3108
3109 When used without arguments, it prints the list of all
3110 build flags, e.g.:
3111
3112 @example
3113 $ mailutils-config --info
3114 VERSION=0.1.3
3115 USE_LIBPAM
3116 HAVE_LIBLTDL
3117 WITH_GUILE
3118 WITH_READLINE
3119 HAVE_MYSQL
3120 ENABLE_VIRTUAL_DOMAINS
3121 ENABLE_IMAP
3122 ENABLE_POP
3123 ENABLE_MH
3124 ENABLE_SMTP
3125 ENABLE_SENDMAIL
3126 @end example
3127
3128 This option also accepts any number of arguments. When these are
3129 given, each argument is treated as a name of a build flag.
3130 @command{Mailutils-config} checks if such a flag was defined and
3131 prints its full name if so. It exits with zero code if all the
3132 flags given on the command line are defined. Otherwise, it
3133 exits with code of 1.
3134
3135 The comparison of the flag names is case-insensitive. The arguments
3136 given need not include the leading prefix (i.e. the characters up
3137 to and including the first underscore character).
3138
3139 Given the previous example, the invocation
3140
3141 @example
3142 $ mailutils --info readline use_libpam pop
3143 @end example
3144
3145 @noindent
3146 will produce the following output:
3147
3148 @example
3149 WITH_READLINE
3150 USE_LIBPAM
3151 ENABLE_POP
3152 @end example
3153
3154 @noindent
3155 and will exit with a zero status.
3156
3157 The following command:
3158
3159 @example
3160 $ mailutils --info readline gssapi pop
3161 @end example
3162
3163 @noindent
3164 will exit with status 1, and will print:
3165
3166 @example
3167 WITH_READLINE
3168 ENABLE_POP
3169 @end example
3170
3171 @noindent
3172 since @code{WITH_GSSAPI} flag is not defined.
3173
3174 The flags and their meanings are:
3175
3176 @table @asis
3177 @c @item VERSION=" VERSION,
3178 @item USE_LIBPAM
3179 The mailutils uses @sc{pam} libraries.
3180
3181 @item HAVE_LIBLTDL
3182 The @sc{gnu} wrapper library @file{libltdl} is present and is used
3183 by mailutils. @xref{Using libltdl,,,libtool,Using libltdl}, for
3184 more information on @file{libltdl} library.
3185
3186
3187 @item WITH_BDB2
3188 Support for Berkeley DB is compiled in (the package was configured with
3189 @option{--with-db2} option).
3190
3191 @item WITH_NDBM
3192 Support for NDBM is compiled in (the package was configured with
3193 @option{--with-ndbm} option).
3194
3195 @item WITH_OLD_DBM
3196 Support for old style DBM is compiled in (the package was configured with
3197 @option{--with-dbm} option).
3198
3199 @item WITH_GDBM
3200 Support for GDBM is compiled in (the package was configured with
3201 @option{--with-gdbm} option). @xref{Top,,Introduction,gdbm,GNU DBM Manual}, for
3202 information about this library.
3203
3204 @item WITH_GSSAPI
3205 Support for @sc{gssapi} is compiled in (the package was configured with
3206 @option{--with-gssapi} option).
3207
3208 @item WITH_GUILE
3209 Support for Guile extension language is built (the package was
3210 configured with @option{--with-guile} option).
3211 @xref{Top,,Overview,guile,The Guile Reference Manual}, for information
3212 about Guile.
3213
3214 @item WITH_PTHREAD
3215 The @sc{posix} thread support is compiled in.
3216
3217 @item WITH_READLINE
3218 The readline support is enabled (the package was
3219 configured with @option{--with-readline} option).
3220 @xref{Top,,,readline,GNU Readline Library}, for more information.
3221
3222 @item HAVE_MYSQL
3223 Authentication via MySQL is supported (the package was
3224 configured with @option{--enable-mysql} option).
3225
3226 @item ENABLE_VIRTUAL_DOMAINS
3227 Support for mail virtual domains is enabled (the package was
3228 configured with @option{--enable-virtual-domains} option).
3229
3230 @item ENABLE_IMAP
3231 Support for @sc{imap4} protocol is enabled.
3232
3233 @item ENABLE_POP
3234 Support for @sc{pop3} protocol is enabled.
3235
3236 @item ENABLE_MH
3237 Support for mailboxes in @sc{mh} format is enabled.
3238
3239 @item ENABLE_SMTP
3240 Support for @sc{smtp} mailer is enabled.
3241
3242 @item ENABLE_SENDMAIL
3243 Support for Sendmail mailer is enabled.
3244
3245 @end table
......