From 456598031329ddf0a5f0c795d24461a32e2999f6 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Sat, 12 Nov 2016 00:13:30 +0100 Subject: [PATCH] m4/virt-lib: add new parameter to override default fail action This allows to use two or more LIBVIRT_CHECK_(LIB|LIB_ALT|PKG) macros for one library. For example, when we check for existence of pgk-config file of some library and we know that not all versions of that library that libvirt requires provides this file, we can fallback to use library check. Signed-off-by: Pavel Hrdina --- m4/virt-lib.m4 | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/m4/virt-lib.m4 b/m4/virt-lib.m4 index b28f78249b..5c3fde258e 100644 --- a/m4/virt-lib.m4 +++ b/m4/virt-lib.m4 @@ -24,7 +24,8 @@ dnl config header var, WITH_XXXX make conditional and dnl with_XXX configure shell var. dnl dnl LIBVIRT_CHECK_LIB([CHECK_NAME], [LIBRARY_NAME], -dnl [FUNCTION_NAME], [HEADER_NAME]) +dnl [FUNCTION_NAME], [HEADER_NAME], +dnl [FAIL_ACTION]) dnl dnl CHECK_NAME: Suffix/prefix used for variables / flags, in uppercase. dnl Used to set @@ -37,6 +38,8 @@ dnl dnl LIBRARY_NAME: base name of library to check for eg libXXX.so dnl FUNCTION_NAME: function to check for in libXXX.so dnl HEADER_NAME: header file to check for +dnl FAIL_ACTION: overrides the default fail action +dnl dnl dnl e.g. dnl @@ -52,6 +55,7 @@ AC_DEFUN([LIBVIRT_CHECK_LIB],[ m4_pushdef([library_name], [$2]) m4_pushdef([function_name], [$3]) m4_pushdef([header_name], [$4]) + m4_pushdef([fail_action], [$5]) m4_pushdef([check_name_lc], m4_tolower(check_name)) @@ -96,7 +100,8 @@ AC_DEFUN([LIBVIRT_CHECK_LIB],[ CFLAGS=$old_CFLAGS if test $fail = 1; then - AC_MSG_ERROR([You must install the lib]library_name[ library & headers to compile libvirt]) + m4_default(fail_action, + [AC_MSG_ERROR([You must install the lib]library_name[ library & headers to compile libvirt])]) else if test "x$with_var" = "xyes" ; then if test "x$libs_var" = 'x' ; then @@ -121,6 +126,7 @@ AC_DEFUN([LIBVIRT_CHECK_LIB],[ m4_popdef([check_name_lc]) + m4_popdef([fail_action]) m4_popdef([header_name]) m4_popdef([function_name]) m4_popdef([library_name]) @@ -134,7 +140,8 @@ dnl dnl LIBVIRT_CHECK_LIB_ALT([CHECK_NAME], [LIBRARY_NAME], dnl [FUNCTION_NAME], [HEADER_NAME], dnl [CHECK_NAME_ALT, [LIBRARY_NAME_ALT], -dnl [FUNCTION_NAME_ALT], [HEADER_NAME_ALT]) +dnl [FUNCTION_NAME_ALT], [HEADER_NAME_ALT], +dnl [FAIL_ACTION]) dnl dnl CHECK_NAME: Suffix/prefix used for variables / flags, in uppercase. dnl Used to set @@ -156,6 +163,7 @@ dnl NB all vars for CHECK_NAME are also set dnl LIBRARY_NAME_ALT: alternative library name to check for dnl FUNCTION_NAME_ALT: alternative function name to check for dnl HEADER_NAME_ALT: alternative header file to check for +dnl FAIL_ACTION: overrides the default fail action dnl dnl e.g. dnl @@ -173,6 +181,7 @@ AC_DEFUN([LIBVIRT_CHECK_LIB_ALT],[ m4_pushdef([library_name_alt], [$6]) m4_pushdef([function_name_alt], [$7]) m4_pushdef([header_name_alt], [$8]) + m4_pushdef([fail_action], [$9]) m4_pushdef([check_name_lc], m4_tolower(check_name)) @@ -228,7 +237,8 @@ AC_DEFUN([LIBVIRT_CHECK_LIB_ALT],[ CFLAGS=$old_CFLAGS if test $fail = 1; then - AC_MSG_ERROR([You must install the lib]library_name[ library & headers to compile libvirt]) + m4_default(fail_action, + [AC_MSG_ERROR([You must install the lib]library_name[ library & headers to compile libvirt])]) else if test "x$with_var" = "xyes" ; then if test "x$libs_var" = 'x' ; then @@ -260,6 +270,7 @@ AC_DEFUN([LIBVIRT_CHECK_LIB_ALT],[ m4_popdef([check_name_lc]) + m4_popdef([fail_action]) m4_popdef([header_name_alt]) m4_popdef([function_name_alt]) m4_popdef([library_name_alt]) @@ -274,7 +285,8 @@ dnl Probe for existence of libXXXX and set WITH_XXX dnl config header var, WITH_XXXX make conditional and dnl with_XXX configure shell var. dnl -dnl LIBVIRT_CHECK_PKG([CHECK_NAME], [PC_NAME], [PC_VERSION]) +dnl LIBVIRT_CHECK_PKG([CHECK_NAME], [PC_NAME], [PC_VERSION], +dnl [FAIL_ACTION]) dnl dnl CHECK_NAME: Suffix/prefix used for variables / flags, in uppercase. dnl Used to set @@ -285,6 +297,7 @@ dnl configure: --with-xxx argument dnl configure: with_xxx variable dnl PC_NAME: Name of the pkg-config module dnl PC_VERSION: Version of the pkg-config module +dnl FAIL_ACTION: overrides the default fail action dnl dnl eg dnl @@ -294,6 +307,7 @@ AC_DEFUN([LIBVIRT_CHECK_PKG],[ m4_pushdef([check_name], [$1]) m4_pushdef([pc_name], [$2]) m4_pushdef([pc_version], [$3]) + m4_pushdef([fail_action], [$4]) m4_pushdef([check_name_lc], m4_tolower(check_name)) @@ -316,7 +330,8 @@ AC_DEFUN([LIBVIRT_CHECK_PKG],[ fi if test $fail = 1; then - AC_MSG_ERROR([You must install the ]pc_name[ >= ]pc_version[ pkg-config module to compile libvirt]) + m4_default(fail_action, + [AC_MSG_ERROR([You must install the ]pc_name[ >= ]pc_version[ pkg-config module to compile libvirt])]) fi if test "x$with_var" = "xyes" ; then @@ -333,6 +348,7 @@ AC_DEFUN([LIBVIRT_CHECK_PKG],[ m4_popdef([check_name_lc]) + m4_popdef([fail_action]) m4_popdef([pc_version]) m4_popdef([pc_name]) m4_popdef([check_name])