[libvirt PATCH 17/32] src: remove all traces of Cygwin support

Daniel P. Berrangé berrange at redhat.com
Thu Jan 23 11:43:10 UTC 2020


Cygwin is not a supported build platform for libvirt and
has no testing coverage in our CI systems. Stop pretending
the code is usable and remove it so there is less to port
to Meson.

Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
---
 configure.ac                | 11 ++---------
 m4/virt-compile-pie.m4      |  2 +-
 m4/virt-win-common.m4       |  8 +++-----
 m4/virt-win-cygwin.m4       | 32 --------------------------------
 m4/virt-win-symbols.m4      |  4 ++--
 m4/virt-win-windres.m4      |  4 ++--
 m4/virt-xdr.m4              |  9 +++------
 src/Makefile.am             |  8 +++-----
 src/admin/Makefile.inc.am   |  1 -
 src/locking/Makefile.inc.am |  1 -
 src/logging/Makefile.inc.am |  1 -
 src/rpc/Makefile.inc.am     |  3 ---
 src/rpc/genprotocol.pl      |  2 +-
 src/util/virsocketaddr.h    | 10 ----------
 src/util/virxdrdefs.h       | 12 +-----------
 15 files changed, 18 insertions(+), 90 deletions(-)
 delete mode 100644 m4/virt-win-cygwin.m4

diff --git a/configure.ac b/configure.ac
index f0d79b95d4..855654c75d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -181,8 +181,6 @@ case "$host" in
     # mingw's ld has the --version-script parameter, but it requires a .def file
     # instead to work properly, therefore clear --version-script here and use
     # -Wl, to pass the .def file to the linker
-    # cygwin's ld has the --version-script parameter too, but for some reason
-    # it's working there as expected
     VERSION_SCRIPT_FLAGS="-Wl,"
     ;;
   * )
@@ -204,13 +202,12 @@ dnl are also linux specific.  The "network" and storage_fs drivers are known
 dnl to not work on macOS presently, so we also make a note if compiling
 dnl for that
 
-with_linux=no with_macos=no with_freebsd=no with_win=no with_cygwin=no
+with_linux=no with_macos=no with_freebsd=no with_win=no
 case $host in
   *-*-linux*) with_linux=yes ;;
   *-*-darwin*) with_macos=yes ;;
   *-*-freebsd*) with_freebsd=yes ;;
   *-*-mingw* | *-*-msvc* ) with_win=yes ;;
-  *-*-cygwin*) with_cygwin=yes ;;
 esac
 
 if test $with_linux = no; then
@@ -227,9 +224,6 @@ if test $with_freebsd = yes; then
     with_firewalld=no
 fi
 
-if test $with_cygwin = yes; then
-    with_vbox=no
-fi
 
 AM_CONDITIONAL([WITH_LINUX], [test "$with_linux" = "yes"])
 AM_CONDITIONAL([WITH_FREEBSD], [test "$with_freebsd" = "yes"])
@@ -778,9 +772,8 @@ if test "$enable_test_coverage" = yes; then
   WARN_CFLAGS=$save_WARN_CFLAGS
 fi
 
-dnl Cygwin, MinGW and MSVC checks
+dnl MinGW checks
 LIBVIRT_WIN_CHECK_COMMON
-LIBVIRT_WIN_CHECK_CYGWIN
 LIBVIRT_WIN_CHECK_MINGW
 LIBVIRT_WIN_CHECK_SYMBOLS
 LIBVIRT_WIN_CHECK_WINDRES
diff --git a/m4/virt-compile-pie.m4 b/m4/virt-compile-pie.m4
index a2df38ea72..da5cdf57b7 100644
--- a/m4/virt-compile-pie.m4
+++ b/m4/virt-compile-pie.m4
@@ -22,7 +22,7 @@ AC_DEFUN([LIBVIRT_COMPILE_PIE],[
     PIE_CFLAGS=
     PIE_LDFLAGS=
     case "$host" in
-      *-*-mingw* | *-*-msvc* | *-*-cygwin* )
+      *-*-mingw* )
          ;; dnl All code is position independent on Win32 target
       *)
       gl_COMPILER_OPTION_IF([-fPIE -DPIE -pie], [
diff --git a/m4/virt-win-common.m4 b/m4/virt-win-common.m4
index b639866e64..ebc9d0836e 100644
--- a/m4/virt-win-common.m4
+++ b/m4/virt-win-common.m4
@@ -1,4 +1,4 @@
-dnl The Cygwin, MinGW and MSVC common checks
+dnl The MinGW common checks
 dnl
 dnl Copyright (C) 2016 Red Hat, Inc.
 dnl
@@ -22,7 +22,7 @@ AC_DEFUN([LIBVIRT_WIN_CHECK_COMMON], [
   WIN32_EXTRA_LIBS=
 
   case "$host" in
-    *-*-mingw* | *-*-cygwin* | *-*-msvc* )
+    *-*-mingw* )
       WIN32_EXTRA_LIBS="-lole32 -loleaut32"
       # If the host is Windows, and shared libraries are disabled, we
       # need to add -DLIBVIRT_STATIC to the CFLAGS for proper linking
@@ -38,7 +38,5 @@ AC_DEFUN([LIBVIRT_WIN_CHECK_COMMON], [
 
 AC_DEFUN([LIBVIRT_WIN_RESULT_COMMON], [
   details="CFLAGS='$WIN32_EXTRA_CFLAGS' LIBS='$WIN32_EXTRA_LIBS'"
-  LIBVIRT_RESULT([Cygwin], [$with_cygwin], [$details])
-  LIBVIRT_RESULT([MinGW], [$with_cygwin], [$details])
-  LIBVIRT_RESULT([MSVC], [$with_cygwin], [$details])
+  LIBVIRT_RESULT([MinGW], [$with_win], [$details])
 ])
diff --git a/m4/virt-win-cygwin.m4 b/m4/virt-win-cygwin.m4
deleted file mode 100644
index 211b3c2b7b..0000000000
--- a/m4/virt-win-cygwin.m4
+++ /dev/null
@@ -1,32 +0,0 @@
-dnl The Cygwin check
-dnl
-dnl Copyright (C) 2016 Red Hat, Inc.
-dnl
-dnl This library is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU Lesser General Public
-dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License, or (at your option) any later version.
-dnl
-dnl This library is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-dnl Lesser General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU Lesser General Public
-dnl License along with this library.  If not, see
-dnl <http://www.gnu.org/licenses/>.
-dnl
-
-AC_DEFUN([LIBVIRT_WIN_CHECK_CYGWIN], [
-  CYGWIN_EXTRA_LDFLAGS=
-  CYGWIN_EXTRA_LIBADD=
-  case "$host" in
-    *-*-cygwin*)
-      CYGWIN_EXTRA_LDFLAGS="-no-undefined"
-      CYGWIN_EXTRA_LIBADD="${INTLLIBS}"
-      ;;
-  esac
-
-  AC_SUBST([CYGWIN_EXTRA_LDFLAGS])
-  AC_SUBST([CYGWIN_EXTRA_LIBADD])
-])
diff --git a/m4/virt-win-symbols.m4 b/m4/virt-win-symbols.m4
index 66dd3b7b1c..eba5596e4b 100644
--- a/m4/virt-win-symbols.m4
+++ b/m4/virt-win-symbols.m4
@@ -1,4 +1,4 @@
-dnl The Cygwin, MinGW and MSVC symbols checks
+dnl The MinGW symbols checks
 dnl
 dnl Copyright (C) 2016 Red Hat, Inc.
 dnl
@@ -23,7 +23,7 @@ AC_DEFUN([LIBVIRT_WIN_CHECK_SYMBOLS], [
   LIBVIRT_LXC_SYMBOL_FILE='$(srcdir)/libvirt_lxc.syms'
   LIBVIRT_QEMU_SYMBOL_FILE='$(srcdir)/libvirt_qemu.syms'
   case "$host" in
-    *-*-mingw* | *-*-msvc* )
+    *-*-mingw* )
       # Also set the symbol file to .def, so src/Makefile generates libvirt.def
       # from libvirt.syms and passes libvirt.def instead of libvirt.syms to the
       # linker
diff --git a/m4/virt-win-windres.m4 b/m4/virt-win-windres.m4
index af27f231b4..e913eb48b8 100644
--- a/m4/virt-win-windres.m4
+++ b/m4/virt-win-windres.m4
@@ -1,4 +1,4 @@
-dnl The Cygwin, MinGW and MSVC windres checks
+dnl The MinGW windres checks
 dnl
 dnl Copyright (C) 2016 Red Hat, Inc.
 dnl
@@ -21,7 +21,7 @@ AC_DEFUN([LIBVIRT_WIN_CHECK_WINDRES], [
   dnl Look for windres to build a Windows icon resource.
   with_windres=no
   case "$host" in
-    *-*-mingw* | *-*-cygwin* | *-*-msvc* )
+    *-*-mingw* )
       AC_CHECK_TOOL([WINDRES], [windres], [])
       if test "x$WINDRES" != "x"; then
         with_windres=yes
diff --git a/m4/virt-xdr.m4 b/m4/virt-xdr.m4
index a65407d955..83754157d9 100644
--- a/m4/virt-xdr.m4
+++ b/m4/virt-xdr.m4
@@ -22,18 +22,15 @@ AC_DEFUN([LIBVIRT_CHECK_XDR], [
   if test x"$with_remote" = x"yes" || test x"$with_libvirtd" = x"yes"; then
     dnl Where are the XDR functions?
     dnl If portablexdr is installed, prefer that.
-    dnl Otherwise try -lrpc (Cygwin) -lxdr (some MinGW), -lnsl (Solaris)
+    dnl Otherwise try -lxdr (some MinGW)
     dnl -ltirpc (glibc 2.13.90 or newer) or none (most Unix)
     AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[
-      AC_SEARCH_LIBS([xdrmem_create],[rpc xdr nsl tirpc],[],
+      AC_SEARCH_LIBS([xdrmem_create],[xdr tirpc],[],
         [AC_MSG_ERROR([Cannot find a XDR library])])
     ])
     with_xdr="yes"
 
-    dnl check for cygwin's variation in xdr function names
-    AC_CHECK_FUNCS([xdr_u_int64_t],[],[],[#include <rpc/xdr.h>])
-
-    dnl Cygwin/recent glibc requires -I/usr/include/tirpc for <rpc/rpc.h>
+    dnl Recent glibc requires -I/usr/include/tirpc for <rpc/rpc.h>
     old_CFLAGS=$CFLAGS
     AC_CACHE_CHECK([where to find <rpc/rpc.h>], [lv_cv_xdr_cflags], [
       for add_CFLAGS in '' '-I/usr/include/tirpc' 'missing'; do
diff --git a/src/Makefile.am b/src/Makefile.am
index c9b5eeba47..a9b71131ce 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -42,7 +42,6 @@ AM_LDFLAGS =	$(DRIVER_MODULES_LDFLAGS) \
 		$(COVERAGE_LDFLAGS) \
 		$(RELRO_LDFLAGS) \
 		$(NO_INDIRECT_LDFLAGS) \
-		$(CYGWIN_EXTRA_LDFLAGS) \
 		$(MINGW_EXTRA_LDFLAGS) \
 		$(NULL)
 AM_LDFLAGS_MOD = \
@@ -449,8 +448,7 @@ endif WITH_MACOS
 libvirt_la_LDFLAGS += $(NULL)
 libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
 libvirt_la_LIBADD += \
-		    $(DRIVER_MODULES_LIBS) \
-		    $(CYGWIN_EXTRA_LIBADD)
+		    $(DRIVER_MODULES_LIBS)
 libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
 # Because we specify libvirt_la_DEPENDENCIES for $(LIBVIRT_SYMBOL_FILE), we
 # lose automake's automatic dependencies on an appropriate subset of
@@ -517,7 +515,7 @@ libvirt_qemu_la_LDFLAGS = \
 		$(AM_LDFLAGS) \
 		$(NULL)
 libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
-libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
+libvirt_qemu_la_LIBADD = libvirt.la
 
 libvirt_lxc_la_SOURCES = libvirt-lxc.c
 libvirt_lxc_la_LDFLAGS = \
@@ -527,7 +525,7 @@ libvirt_lxc_la_LDFLAGS = \
 		$(AM_LDFLAGS) \
 		$(NULL)
 libvirt_lxc_la_CFLAGS = $(AM_CFLAGS)
-libvirt_lxc_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
+libvirt_lxc_la_LIBADD = libvirt.la
 
 EXTRA_DIST += \
 	$(SYSCONF_FILES) \
diff --git a/src/admin/Makefile.inc.am b/src/admin/Makefile.inc.am
index 7ceccafa8e..b4e2f1f2d3 100644
--- a/src/admin/Makefile.inc.am
+++ b/src/admin/Makefile.inc.am
@@ -73,7 +73,6 @@ libvirt_admin_la_LDFLAGS = \
 
 libvirt_admin_la_LIBADD = \
 	libvirt.la \
-	$(CYGWIN_EXTRA_LIBADD) \
 	$(CAPNG_LIBS) \
 	$(YAJL_LIBS) \
 	$(DEVMAPPER_LIBS) \
diff --git a/src/locking/Makefile.inc.am b/src/locking/Makefile.inc.am
index 65b46ad5f3..d49383d9d7 100644
--- a/src/locking/Makefile.inc.am
+++ b/src/locking/Makefile.inc.am
@@ -162,7 +162,6 @@ virtlockd_LDADD = \
 	libvirt_driver_admin.la \
 	$(GLIB_LIBS) \
 	../gnulib/lib/libgnu.la \
-	$(CYGWIN_EXTRA_LIBADD) \
 	$(NULL)
 if WITH_DTRACE_PROBES
 virtlockd_LDADD += libvirt_probes.lo
diff --git a/src/logging/Makefile.inc.am b/src/logging/Makefile.inc.am
index 0f7ffa73b3..e8240fa5c4 100644
--- a/src/logging/Makefile.inc.am
+++ b/src/logging/Makefile.inc.am
@@ -99,7 +99,6 @@ virtlogd_LDADD = \
 		libvirt.la \
 		$(GLIB_LIBS) \
 		../gnulib/lib/libgnu.la \
-		$(CYGWIN_EXTRA_LIBADD) \
 		$(NULL)
 if WITH_DTRACE_PROBES
 virtlogd_LDADD += libvirt_probes.lo
diff --git a/src/rpc/Makefile.inc.am b/src/rpc/Makefile.inc.am
index 11920b3270..0e154d9c69 100644
--- a/src/rpc/Makefile.inc.am
+++ b/src/rpc/Makefile.inc.am
@@ -97,7 +97,6 @@ libvirt_net_rpc_la_LDFLAGS = \
 	$(SECDRIVER_LIBS) \
 	$(AM_LDFLAGS) \
 	$(NULL)
-libvirt_net_rpc_la_LIBADD = $(CYGWIN_EXTRA_LIBADD)
 
 libvirt_net_rpc_server_la_SOURCES = \
 	rpc/virnetserverprogram.h \
@@ -122,7 +121,6 @@ libvirt_net_rpc_server_la_LDFLAGS = \
 	$(AM_LDFLAGS) \
 	$(DBUS_LIBS) \
 	$(NULL)
-libvirt_net_rpc_server_la_LIBADD = $(CYGWIN_EXTRA_LIBADD)
 
 libvirt_net_rpc_client_la_SOURCES = \
 	rpc/virnetclientprogram.h \
@@ -138,7 +136,6 @@ libvirt_net_rpc_client_la_CFLAGS = \
 	$(XDR_CFLAGS) \
 	$(NULL)
 libvirt_net_rpc_client_la_LDFLAGS = $(AM_LDFLAGS)
-libvirt_net_rpc_client_la_LIBADD = $(CYGWIN_EXTRA_LIBADD)
 
 if WITH_SASL
 libvirt_net_rpc_client_la_CFLAGS += \
diff --git a/src/rpc/genprotocol.pl b/src/rpc/genprotocol.pl
index 6baa4f22d5..f567260588 100755
--- a/src/rpc/genprotocol.pl
+++ b/src/rpc/genprotocol.pl
@@ -47,7 +47,7 @@ open RPCGEN, "-|", "$rpcgen $mode $xdrdef"
 open TARGET, ">$target"
     or die "cannot create $target: $!";
 
-my $fixup = $^O eq "linux" || $^O eq "cygwin" || $^O eq "gnukfreebsd" || $^O eq "freebsd" || $^O eq "darwin";
+my $fixup = $^O eq "linux" || $^O eq "gnukfreebsd" || $^O eq "freebsd" || $^O eq "darwin";
 
 if ($mode eq "-c") {
     print TARGET "#include <config.h>\n";
diff --git a/src/util/virsocketaddr.h b/src/util/virsocketaddr.h
index 1180864f06..66aee2abcd 100644
--- a/src/util/virsocketaddr.h
+++ b/src/util/virsocketaddr.h
@@ -26,16 +26,6 @@
 
 #include "internal.h"
 
-/* On architectures which lack these limits, define them (ie. Cygwin).
- * Note that the libvirt code should be robust enough to handle the
- * case where actual value is longer than these limits (eg. by setting
- * length correctly in second argument to gethostname and by always
- * using strncpy instead of strcpy).
- */
-#ifndef INET_ADDRSTRLEN
-# define INET_ADDRSTRLEN 16
-#endif
-
 #define VIR_LOOPBACK_IPV4_ADDR "127.0.0.1"
 
 typedef struct {
diff --git a/src/util/virxdrdefs.h b/src/util/virxdrdefs.h
index 264d02e7cd..b6f6ad5a4d 100644
--- a/src/util/virxdrdefs.h
+++ b/src/util/virxdrdefs.h
@@ -20,18 +20,8 @@
 
 #pragma once
 
-/* cygwin's xdr implementation defines xdr_u_int64_t instead of xdr_uint64_t
- * and lacks IXDR_PUT_INT32 and IXDR_GET_INT32
+/* The portablexdr implementation lacks IXDR_PUT_U_INT32 and IXDR_GET_U_INT32
  */
-#ifdef HAVE_XDR_U_INT64_T
-# define xdr_uint64_t xdr_u_int64_t
-#endif
-#ifndef IXDR_PUT_INT32
-# define IXDR_PUT_INT32 IXDR_PUT_LONG
-#endif
-#ifndef IXDR_GET_INT32
-# define IXDR_GET_INT32 IXDR_GET_LONG
-#endif
 #ifndef IXDR_PUT_U_INT32
 # define IXDR_PUT_U_INT32 IXDR_PUT_U_LONG
 #endif
-- 
2.24.1




More information about the libvir-list mailing list