[libvirt] [PATCH 3/3] tools: Disable virt-login-shell on mingw

Michal Privoznik mprivozn at redhat.com
Mon Dec 21 08:31:49 UTC 2015


So, after bec787ee9da we are building virt-login-shell
independent of LXC driver. This is nice, but the binary is
enabled by default which makes no sense on mingw. In fact, it
triggers some compilation errors there:

  CC       virt_login_shell-virt-login-shell.o
../../tools/virt-login-shell.c: In function 'main':
../../tools/virt-login-shell.c:289:15: error: implicit declaration of function 'sysconf' [-Werror=implicit-function-declaration]
     openmax = sysconf(_SC_OPEN_MAX);
               ^
../../tools/virt-login-shell.c:289:5: error: nested extern declaration of 'sysconf' [-Werror=nested-externs]
     openmax = sysconf(_SC_OPEN_MAX);
     ^
../../tools/virt-login-shell.c:289:23: error: '_SC_OPEN_MAX' undeclared (first use in this function)
     openmax = sysconf(_SC_OPEN_MAX);
                       ^
../../tools/virt-login-shell.c:289:23: note: each undeclared identifier is reported only once for each function it appears in
cc1: all warnings being treated as errors

While we could workaround sysconf(_SC_OPEN_MAX) issue, the binary
itself makes no sense on systems where no LXC can be spawned.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 m4/virt-login-shell.m4 | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/m4/virt-login-shell.m4 b/m4/virt-login-shell.m4
index 0701054..c77ffb5 100644
--- a/m4/virt-login-shell.m4
+++ b/m4/virt-login-shell.m4
@@ -17,10 +17,22 @@ dnl <http://www.gnu.org/licenses/>.
 AC_DEFUN([LIBVIRT_CHECK_LOGIN_SHELL], [
   AC_ARG_WITH([login_shell],
     [AS_HELP_STRING([--with-login-shell],
-      [build virt-login-shell @<:@default=yes@:>@])])
-  m4_divert_text([DEFAULTS], [with_login_shell=yes])
+      [build virt-login-shell @<:@default=check@:>@])])
+  m4_divert_text([DEFAULTS], [with_login_shell=check])
 
-  if test "$with_login_shell" ; then
+  if test "x$with_login_shell" != "xno"; then
+    if test "x$with_win" = "xyes"; then
+      if "x$with_login_shell" = "yes"; then
+        AC_MSG_ERROR([virt-login-shell is not supported on Windows])
+      else
+        with_login_shell=no;
+      fi
+    else
+      with_login_shell=yes;
+    fi
+  fi
+
+  if test "x$with_login_shell" = "xyes" ; then
       AC_DEFINE_UNQUOTED([WITH_LOGIN_SHELL], 1, [whether virt-login-shell is built])
   fi
   AM_CONDITIONAL([WITH_LOGIN_SHELL], [test "$with_login_shell" = "yes"])
-- 
2.4.10




More information about the libvir-list mailing list