Hello,
I've just commited the patch to AC_ARG_WITH documentation, in the
exact form as submitted by Gregorio Guidi in
http://lists.gnu.org/archive/html/autoconf/2005-03/msg00116.html
The patch is also attached to this message.
Stepan Kasal
2005-04-14 Gregorio Guidi <[EMAIL PROTECTED]>
* doc/autoconf.texi (External Software, Package Options): Add
examples showing how to implement --with-* and --enable-* options.
--- doc/autoconf.texi 10 Apr 2005 22:19:26 -0000 1.886
+++ doc/autoconf.texi 14 Apr 2005 14:56:21 -0000
@@ -13311,6 +13311,81 @@
You should format your @var{help-string} with the macro
@code{AS_HELP_STRING} (@pxref{Pretty Help Strings}).
+
+The following example shows how to use the @code{AC_ARG_WITH} macro in
+a common situation. You want to let the user decide whether to enable
+support for an external library (e.g., the readline library); if the user
+specified neither @option{--with-readline} nor @option{--without-readline},
+you want to enable support for readline only if the library is available
+on the system.
+
[EMAIL PROTECTED] FIXME: Remove AS_IF when the problem of AC_REQUIRE within
`if' is solved.
[EMAIL PROTECTED]
+AC_ARG_WITH(readline,
+ [AS_HELP_STRING(--with-readline,
+ [support fancy command line editing @@<:@@default=check@@:>@@])],
+ [],
+ with_readline=check)
+
+LIBREADLINE=
+AS_IF([test "x$with_readline" != xno],
+ [AC_CHECK_LIB(readline, main,
+ [AC_SUBST(LIBREADLINE, "-lreadline -lncurses")
+ AC_DEFINE_UNQUOTED(HAVE_LIBREADLINE, 1, [Define if you have libreadline])
+ ],
+ [if test "x$with_readline" != xcheck; then
+ AC_MSG_FAILURE([--with-readline was given, but test for readline
failed])
+ fi
+ ], -lncurses)])
[EMAIL PROTECTED] example
+
+The next example shows how to use @code{AC_ARG_WITH} to give the user the
+possibility to enable support for the readline library, in case it is still
+experimental and not well tested, and is therefore disabled by default.
+
[EMAIL PROTECTED] FIXME: Remove AS_IF when the problem of AC_REQUIRE within
`if' is solved.
[EMAIL PROTECTED]
+AC_ARG_WITH(readline,
+ [AS_HELP_STRING(--with-readline,
+ [enable experimental support for readline @@<:@@default=disabled@@:>@@])],
+ [],
+ with_readline=no)
+
+LIBREADLINE=
+AS_IF([test "x$with_readline" != xno],
+ [AC_CHECK_LIB(readline, main,
+ [AC_SUBST(LIBREADLINE, "-lreadline -lncurses")
+ AC_DEFINE(HAVE_LIBREADLINE, 1, [Define if you have libreadline])
+ ],
+ [AC_MSG_FAILURE([--with-readline was given, but test for readline
failed])],
+ -lncurses)])
[EMAIL PROTECTED] example
+
+The last example shows how to use @code{AC_ARG_WITH} to give the user the
+possibility to disable support for the readline library, given that it is
+an important feature and that it should be enabled by default.
+
[EMAIL PROTECTED] FIXME: Remove AS_IF when the problem of AC_REQUIRE within
`if' is solved.
[EMAIL PROTECTED]
+AC_ARG_WITH(readline,
+ [AS_HELP_STRING(--without-readline,
+ [disable support for readline @@<:@@default=enabled@@:>@@])],
+ [],
+ with_readline=yes)
+
+LIBREADLINE=
+AS_IF([test "x$with_readline" != xno],
+ [AC_CHECK_LIB(readline, main,
+ [AC_SUBST(LIBREADLINE, "-lreadline -lncurses")
+ AC_DEFINE(HAVE_LIBREADLINE, 1, [Define if you have libreadline])
+ ],
+ [AC_MSG_FAILURE([test for readline failed, use --without-readline if you
want to force readline support off])],
+ -lncurses)])
[EMAIL PROTECTED] example
+
+These three examples can be easily adapted to the case where
[EMAIL PROTECTED] should be preferred to @code{AC_ARG_WITH} (see
[EMAIL PROTECTED] Options}).
@end defmac
@defmac AC_WITH (@var{package}, @var{action-if-given},
@ovar{action-if-not-given})
@@ -13381,6 +13456,10 @@
You should format your @var{help-string} with the macro
@code{AS_HELP_STRING} (@pxref{Pretty Help Strings}).
+
+See the examples suggested with the definition of @code{AC_ARG_WITH}
+(@pxref{External Software}) to get an idea of possible utilizations of
[EMAIL PROTECTED]
@end defmac
@defmac AC_ENABLE (@var{feature}, @var{action-if-given},
@ovar{action-if-not-given})