[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] doc: mention how to set early defaults
From: |
Eric Blake |
Subject: |
[PATCH] doc: mention how to set early defaults |
Date: |
Thu, 5 Sep 2013 14:20:57 -0600 |
Jonathon Lebon reported an issue to me off-list about a regression
in libvirt's configure script, which I traced to a patch that
rearranged code that was checking $with_library compared to the
AC_ARG_WITH that actually set $with_library [1]. As the whole point
of the libvirt patch was to refactor code to make maintenance
easier by hiding the AC_ARG_WITH in a helper macro for a net
reduction in lines, it makes sense to actually document how to
check what value a variable has prior to the AC_ARG_WITH usage.
Alas, although the functionality for this has been present in
autoconf for ages, the documentation has been lacking.
[1] libvirt.org/git/?p=libvirt.git;a=commitdiff;h=654c709
* doc/autoconf.texi (Diversion support) <m4_divert_text>: Add
anchor.
(External Software) <AC_ARG_WITH>: Demonstrate how to use DEFAULTS
diversion, for earlier defaults.
(Package Options) <AC_ARG_ENABLE>: Likewise.
* THANKS: Add Jonathon Lebon.
Signed-off-by: Eric Blake <address@hidden>
---
THANKS | 1 +
doc/autoconf.texi | 15 ++++++++++++++-
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/THANKS b/THANKS
index 1e3e5ef..f41f16c 100644
--- a/THANKS
+++ b/THANKS
(redacted to avoid feeding spammers...)
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 3c559a5..d611758 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -11997,6 +11997,7 @@ Diversion support
push.
@end defmac
address@hidden
@defmac m4_divert_text (@var{diversion}, @ovar{content})
@msindex{divert_text}
Output @var{content} and a newline into @var{diversion}, without
@@ -22085,6 +22086,12 @@ External Software
@var{package} changed into @samp{_}. You may use that variable instead,
if you wish.
+Note that @var{action-if-not-given} is not expanded until the point that
address@hidden was expanded. If you need the value of
address@hidden@var{package}} set to a default value by the time argument
+parsing is completed, use @code{m4_divert_text} to the @code{DEFAULTS}
+diversion (@pxref{m4_divert_text}).
+
The argument @var{help-string} is a description of the option that
looks like this:
@example
@@ -22111,7 +22118,7 @@ External Software
[AS_HELP_STRING([--with-readline],
[support fancy command line editing @@<:@@default=check@@:>@@])],
[],
- [with_readline=check])
+ [m4_divert_text([DEFAULTS], [with_readline=check])])
LIBREADLINE=
AS_IF([test "x$with_readline" != xno],
@@ -22238,6 +22245,12 @@ Package Options
if you wish. The @var{help-string} argument is like that of
@code{AC_ARG_WITH} (@pxref{External Software}).
+Note that @var{action-if-not-given} is not expanded until the point that
address@hidden was expanded. If you need the value of
address@hidden@var{feature}} set to a default value by the time argument
+parsing is completed, use @code{m4_divert_text} to the @code{DEFAULTS}
+diversion (@pxref{m4_divert_text}).
+
You should format your @var{help-string} with the macro
@code{AS_HELP_STRING} (@pxref{Pretty Help Strings}).
--
1.8.3.1
- [PATCH] doc: mention how to set early defaults,
Eric Blake <=