[PATCH 07/89] m4/virt-lib: introduce LIBVIRT_ARG_ENABLE macro

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This macro helps to create unified output of "configure --help".

Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
---
 m4/virt-lib.m4 | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/m4/virt-lib.m4 b/m4/virt-lib.m4
index f498af0fc7..87c23d4552 100644
--- a/m4/virt-lib.m4
+++ b/m4/virt-lib.m4
@@ -481,3 +481,41 @@ AC_DEFUN([LIBVIRT_ARG_WITH_ALT], [
   m4_popdef([help_desc])
   m4_popdef([check_name])
 ])
+
+dnl
+dnl To be used instead of AC_ARG_ENABLE
+dnl
+dnl LIBVIRT_ARG_ENABLE([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_ENABLE([DEBUG], [enable debugging output], [yes])
+dnl
+AC_DEFUN([LIBVIRT_ARG_ENABLE], [
+  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], [enable-]check_name_dash)
+  m4_pushdef([enable_var], [enable_]check_name_lc)
+
+  m4_divert_text([DEFAULTS], [enable_var][[=]][default_action])
+  AC_ARG_ENABLE([check_name_dash],
+    [AS_HELP_STRING([[--]arg_var],
+                   ]m4_dquote(help_desc)[[ @<:@default=]]m4_dquote(default_action)[[@:>@])])
+
+  m4_popdef([enable_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

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]
  Powered by Linux