[libvirt] [PATCH 06/89] m4/virt-lib: introduce LIBVIRT_ARG_WITH(_ALT) macro

Pavel Hrdina phrdina at redhat.com
Fri Dec 16 09:10:34 UTC 2016


Those macros helps to create unified output of "configure --help".

Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 m4/virt-lib.m4 | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)

diff --git a/m4/virt-lib.m4 b/m4/virt-lib.m4
index a9efb74138..f498af0fc7 100644
--- a/m4/virt-lib.m4
+++ b/m4/virt-lib.m4
@@ -395,3 +395,89 @@ AC_DEFUN([LIBVIRT_RESULT_LIB],[
 
   m4_popdef([check_name])
 ])
+
+dnl
+dnl To be used instead of AC_ARG_WITH
+dnl
+dnl LIBVIRT_ARG_WITH([CHECK_NAME], [HELP_NAME], [DEFAULT_ACTION], [MIN_VERSION])
+dnl
+dnl      CHECK_NAME: Suffix/prefix used for variables/flags, in uppercase.
+dnl       HELP_NAME: Name that will be appear in configure --help
+dnl  DEFAULT_ACTION: Default configure action
+dnl     MIN_VERSION: Specify minimal version that will be added to
+dnl                  configure --help (optional)
+dnl
+dnl LIBVIRT_ARG_WITH([SELINUX], [SeLinux], [check])
+dnl LIBVIRT_ARG_WITH([GLUSTERFS], [glusterfs], [check], [3.4.1])
+dnl
+AC_DEFUN([LIBVIRT_ARG_WITH], [
+  m4_pushdef([check_name], [$1])
+  m4_pushdef([help_name], [[$2]])
+  m4_pushdef([default_action], [$3])
+  m4_pushdef([min_version], [$4])
+
+  m4_pushdef([check_name_lc], m4_tolower(check_name))
+  m4_pushdef([check_name_dash], m4_translit(check_name_lc, [_], [-]))
+
+  m4_pushdef([arg_var], [with-]check_name_dash)
+  m4_pushdef([with_var], [with_]check_name_lc)
+
+  m4_pushdef([version_text], m4_ifnblank(min_version, [[ (>= ]]min_version[[)]]))
+
+  m4_divert_text([DEFAULTS], [with_var][[=]][default_action])
+  AC_ARG_WITH([check_name_dash],
+    [AS_HELP_STRING([[--]arg_var],
+                   [with ]]m4_dquote(help_name)m4_dquote(version_text)[[ support @<:@default=]]m4_dquote(default_action)[[@:>@])])
+
+  m4_popdef([version_text])
+
+  m4_popdef([with_var])
+  m4_popdef([arg_var])
+
+  m4_popdef([check_name_dash])
+  m4_popdef([check_name_lc])
+
+  m4_popdef([min_version])
+  m4_popdef([default_action])
+  m4_popdef([help_name])
+  m4_popdef([check_name])
+])
+
+dnl
+dnl To be used instead of AC_ARG_WITH
+dnl
+dnl LIBVIRT_ARG_WITH_ALT([CHECK_NAME], [HELP_DESC], [DEFAULT_ACTION])
+dnl
+dnl      CHECK_NAME: Suffix/prefix used for variables/flags, in uppercase.
+dnl       HELP_DESC: Description that will be appear in configure --help
+dnl  DEFAULT_ACTION: Default configure action
+dnl
+dnl LIBVIRT_ARG_WITH([PACKAGER], [Extra packager name], [no])
+dnl LIBVIRT_ARG_WITH([HTML_DIR], [path to base html directory], [$(datadir)/doc])
+dnl
+AC_DEFUN([LIBVIRT_ARG_WITH_ALT], [
+  m4_pushdef([check_name], [$1])
+  m4_pushdef([help_desc], [[$2]])
+  m4_pushdef([default_action], [$3])
+
+  m4_pushdef([check_name_lc], m4_tolower(check_name))
+  m4_pushdef([check_name_dash], m4_translit(check_name_lc, [_], [-]))
+
+  m4_pushdef([arg_var], [with-]check_name_dash)
+  m4_pushdef([with_var], [with_]check_name_lc)
+
+  m4_divert_text([DEFAULTS], [with_var][[=]][default_action])
+  AC_ARG_WITH([check_name_dash],
+    [AS_HELP_STRING([[--]arg_var],
+                    ]m4_dquote(help_desc)[[ @<:@default=]]m4_dquote(default_action)[[@:>@])])
+
+  m4_popdef([with_var])
+  m4_popdef([arg_var])
+
+  m4_popdef([check_name_dash])
+  m4_popdef([check_name_lc])
+
+  m4_popdef([default_action])
+  m4_popdef([help_desc])
+  m4_popdef([check_name])
+])
-- 
2.11.0




More information about the libvir-list mailing list