Windows build was broken since the split from OVS. OVS also recently fully dropped support for building and running on Windows. Let's remove the bits of the Windows build system to avoid any confusion.
Some notes: * debian/copyright.in is very outdated. Only removing bits directly related to the Windows build. * Comment in ovn-controller-vtep.at is removed without touching any code because it's just an outdated comment that should've been removed while moving to Python 3. * m4/absolute-header.m4 still has one Windows reference, but it is coming from the original sources and it should remain. * HOST_NAME_MAX is needed for BSD/OSX, not only for Windows. Signed-off-by: Ilya Maximets <[email protected]> --- Documentation/automake.mk | 1 - Documentation/index.rst | 3 +- Documentation/intro/install/index.rst | 1 - Documentation/intro/install/windows.rst | 31 --- Makefile.am | 50 +---- NEWS | 2 + README.rst | 2 - build-aux/automake.mk | 1 - build-aux/cccl | 221 ---------------------- configure.ac | 3 - controller-vtep/ovn-controller-vtep.8.xml | 7 +- controller/chassis.c | 1 - debian/copyright.in | 18 -- lib/ovn-util.c | 19 -- m4/ax_check_openssl.m4 | 9 +- m4/ovn.m4 | 133 ------------- northd/lflow-mgr.c | 12 -- tests/atlocal.in | 15 -- tests/automake.mk | 13 +- tests/ovn-controller-vtep.at | 1 - tests/ovs-macros.at | 37 ---- tests/test-ovn.c | 12 +- tests/testsuite.patch | 76 -------- utilities/checkpatch.py | 5 +- utilities/ovn-appctl.8.xml | 7 - utilities/ovn-appctl.c | 7 - 26 files changed, 15 insertions(+), 672 deletions(-) delete mode 100644 Documentation/intro/install/windows.rst delete mode 100644 build-aux/cccl delete mode 100644 tests/testsuite.patch diff --git a/Documentation/automake.mk b/Documentation/automake.mk index aa286ebd9..aa6a81224 100644 --- a/Documentation/automake.mk +++ b/Documentation/automake.mk @@ -11,7 +11,6 @@ DOC_SOURCE = \ Documentation/intro/install/fedora.rst \ Documentation/intro/install/general.rst \ Documentation/intro/install/ovn-upgrades.rst \ - Documentation/intro/install/windows.rst \ Documentation/tutorials/index.rst \ Documentation/tutorials/ovn-openstack.rst \ Documentation/tutorials/ovn-sandbox.rst \ diff --git a/Documentation/index.rst b/Documentation/index.rst index 36fabb2cc..0b7cbc8f2 100644 --- a/Documentation/index.rst +++ b/Documentation/index.rst @@ -49,8 +49,7 @@ First Steps Getting started with Open Virtual Network (OVN) for Open vSwitch? Start here. -- **Install:** :doc:`intro/install/general` | - :doc:`intro/install/windows` +- **Install:** :doc:`intro/install/general` - **Tutorials:** :doc:`tutorials/ovn-sandbox` | :doc:`tutorials/ovn-openstack` | diff --git a/Documentation/intro/install/index.rst b/Documentation/intro/install/index.rst index 2093cbbfa..1db6254b9 100644 --- a/Documentation/intro/install/index.rst +++ b/Documentation/intro/install/index.rst @@ -40,7 +40,6 @@ Installation from Source :maxdepth: 2 general - windows Installation from Packages -------------------------- diff --git a/Documentation/intro/install/windows.rst b/Documentation/intro/install/windows.rst deleted file mode 100644 index e5e08e69d..000000000 --- a/Documentation/intro/install/windows.rst +++ /dev/null @@ -1,31 +0,0 @@ -.. - Licensed under the Apache License, Version 2.0 (the "License"); you may - not use this file except in compliance with the License. You may obtain - a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - License for the specific language governing permissions and limitations - under the License. - - Convention for heading levels in OVN documentation: - - ======= Heading 0 (reserved for the title in a document) - ------- Heading 1 - ~~~~~~~ Heading 2 - +++++++ Heading 3 - ''''''' Heading 4 - - Avoid deeper levels because they do not render well. - -======================= -OVN on Windows -======================= - -OVN on Windows is not currently tested or built. While the build -system contains some Windows-related scaffolding inherited from -Open vSwitch, there are no maintained build instructions or CI -coverage for this platform. diff --git a/Makefile.am b/Makefile.am index 4d62da3c2..212aeb314 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,14 +21,6 @@ AM_LDFLAGS += $(OVS_LDFLAGS) AM_CPPFLAGS += -I $(top_srcdir)/include -if WIN32 -AM_CPPFLAGS += $(PTHREAD_INCLUDES) -AM_CPPFLAGS += $(MSVC_CFLAGS) -AM_LDFLAGS += $(PTHREAD_LDFLAGS) -AM_LDFLAGS += $(MSVC64_LDFLAGS) -PLATFORM = $(MSVC_PLATFORM) -endif - AM_CPPFLAGS += -I $(top_srcdir)/include AM_CPPFLAGS += -I $(top_srcdir)/ovn AM_CPPFLAGS += -I $(top_builddir)/include @@ -57,18 +49,13 @@ endif AM_CTAGSFLAGS = $(OVS_CTAGS_IDENTIFIERS_LIST) -if WIN32 -psep=";" -else -psep=":" -endif # PYTHONDONTWRITEBYTECODE=yes keeps Python from creating .pyc and .pyo # files. Creating .py[co] works OK for any given version of Open # vSwitch, but it causes trouble if you switch from a version with # foo/__init__.py into an (older) version with plain foo.py, since # foo/__init__.pyc will cause Python to ignore foo.py. run_python = \ - PYTHONPATH=$(OVS_SRCDIR)/python$(psep)$$PYTHONPATH \ + PYTHONPATH=$(OVS_SRCDIR)/python:$$PYTHONPATH \ PYTHONDONTWRITEBYTECODE=yes $(PYTHON3) ALL_LOCAL = @@ -176,7 +163,7 @@ submodules = $(shell grep 'path =' $(srcdir)/.gitmodules | sed -E 's/[\t ]*path SUFFIXES += .in .in: - $(AM_V_GEN)PYTHONPATH=$(OVS_SRCDIR)/python$(psep)$$PYTHONPATH$(psep)$(srcdir)/python $(PYTHON3) $(srcdir)/build-aux/soexpand.py -I$(srcdir) -I$(OVS_SRCDIR) < $< | \ + $(AM_V_GEN)PYTHONPATH=$(OVS_SRCDIR)/python:$$PYTHONPATH:$(srcdir)/python $(PYTHON3) $(srcdir)/build-aux/soexpand.py -I$(srcdir) -I$(OVS_SRCDIR) < $< | \ $(PYTHON3) $(srcdir)/build-aux/dpdkstrip.py $(DPDKSTRIP_FLAGS) | \ sed \ -e 's,[@]PKIDIR[@],$(PKIDIR),g' \ @@ -275,7 +262,7 @@ config-h-check: fi .PHONY: config-h-check -# Check for printf() type modifiers that MSVC doesn't support. +# Check for non-portable printf() type modifiers. ALL_LOCAL += printf-check printf-check: @cd $(srcdir); \ @@ -444,7 +431,7 @@ CLEANFILES += flake8-check include $(srcdir)/manpages.mk $(srcdir)/manpages.mk: $(MAN_ROOTS) build-aux/sodepends.py $(OVS_SRCDIR)/python/ovs_build_helpers/soutil.py - @PYTHONPATH=$(OVS_SRCDIR)/python$(psep)$$PYTHONPATH$(psep)$(srcdir)/python $(PYTHON3) $(srcdir)/build-aux/sodepends.py -I. -Isrcdir,$(srcdir) -IOVS_MANDIR,$(OVS_MANDIR) $(MAN_ROOTS) >$(@F).tmp + @PYTHONPATH=$(OVS_SRCDIR)/python:$$PYTHONPATH:$(srcdir)/python $(PYTHON3) $(srcdir)/build-aux/sodepends.py -I. -Isrcdir,$(srcdir) -IOVS_MANDIR,$(OVS_MANDIR) $(MAN_ROOTS) >$(@F).tmp @if cmp -s $(@F).tmp $@; then \ touch $@; \ rm -f $(@F).tmp; \ @@ -453,35 +440,6 @@ $(srcdir)/manpages.mk: $(MAN_ROOTS) build-aux/sodepends.py $(OVS_SRCDIR)/python/ fi CLEANFILES += manpage-dep-check -if VSTUDIO_DDK -ALL_LOCAL += ovsext -ARCH = x64 -ovsext: datapath-windows/ovsext.sln $(srcdir)/datapath-windows/include/OvsDpInterface.h -if VSTUDIO_WIN8 - MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win8$(VSTUDIO_CONFIG)" /property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH) -endif -if VSTUDIO_WIN8_1 - MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win8.1$(VSTUDIO_CONFIG)" /property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH) -endif -if VSTUDIO_WIN10 - MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win10$(VSTUDIO_CONFIG)" /property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH) -endif - - -CLEAN_LOCAL += ovsext_clean -ovsext_clean: datapath-windows/ovsext.sln -if VSTUDIO_WIN8 - MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Clean /property:Configuration="Win8$(VSTUDIO_CONFIG)" /property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH) -endif -if VSTUDIO_WIN8_1 - MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Clean /property:Configuration="Win8.1$(VSTUDIO_CONFIG)" /property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH) -endif -if VSTUDIO_WIN10 - MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Clean /property:Configuration="Win10$(VSTUDIO_CONFIG)" /property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH) -endif -endif -.PHONY: ovsext - clang-analyze: clean @which clang scan-build >/dev/null 2>&1 || \ (echo "Unable to find clang/scan-build, Install clang,clang-analyzer packages"; exit 1) diff --git a/NEWS b/NEWS index c7cec2c33..8328b7bc8 100644 --- a/NEWS +++ b/NEWS @@ -18,6 +18,8 @@ Post v26.03.0 static routes as higher-priority than connected routes, which in turn led to changes in administrative distance for specific route types. Please see the "Route Administrative Distance" section of the ovn-northd manpage. + - Windows support was broken since the split from OVS repository. + Remaining bits of the build system and the documentation are now removed. OVN v26.03.0 - xxx xx xxxx -------------------------- diff --git a/README.rst b/README.rst index 0dac01986..9b09e22ff 100644 --- a/README.rst +++ b/README.rst @@ -91,8 +91,6 @@ As mentioned, OVN is licensed under the open source Apache 2 license. Some files may be marked specifically with a different license, in which case that license applies to the file in question. -File build-aux/cccl is licensed under the GNU General Public License, version 2. - Contact ------- diff --git a/build-aux/automake.mk b/build-aux/automake.mk index 046d7d84f..cd9c9dfea 100644 --- a/build-aux/automake.mk +++ b/build-aux/automake.mk @@ -1,7 +1,6 @@ EXTRA_DIST += \ build-aux/calculate-pipeline-cksum \ build-aux/calculate-schema-cksum \ - build-aux/cccl \ build-aux/cksum-pipeline-check \ build-aux/cksum-schema-check \ build-aux/dist-docs \ diff --git a/build-aux/cccl b/build-aux/cccl deleted file mode 100644 index e2426fb3e..000000000 --- a/build-aux/cccl +++ /dev/null @@ -1,221 +0,0 @@ -#!/bin/sh - -# cccl -# Wrapper around MS's cl.exe and link.exe to make them act more like -# Unix cc and ld -# -# Copyright (C) 2000-2003 Geoffrey Wossum ([email protected]) -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# - -usage() -{ - cat <<EOF -Usage: cccl [OPTIONS] - -cccl is a wrapper around Microsoft's cl.exe and link.exe. It translates -parameters that Unix cc's and ld's understand to parameters that cl and link -understand. -EOF - exit $1 -} - -case $MACHTYPE in - *-msys) - slash="-" - ;; - *) - slash="/" - ;; -esac -# prog specifies the program that should be run (cl.exe or link.exe) -# We'll assume cl to start out -prog=cl -# opts specifies the command line to pass to the MSVC program -clopt="${slash}nologo ${slash}FS" -linkopt="${slash}nologo" -# gotparam is 0 if we didn't ever see a param, in which case we show usage() -gotparam= - -# We want exceptions -clopt="$clopt ${slash}EHsc" - -### Run through every option and convert it to the proper MS one -while test $# -gt 0; do - case "$1" in - -D*) optarg= ;; - -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - gotparam=1 - - case "$1" in - --version) - cat <<EOF -cccl 0.03 - -Copyright 2000-2003 Geoffrey Wossum -This is free software; see the source for copying conditions. There is NO -waranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -EOF - exit 1; - ;; - - -ansi) - clopt="$clopt ${slash}Za" - ;; - - -c) - # -c (compile only) is actually the same, but for clarity... - clopt="$clopt ${slash}c" - ;; - - -g[0-9] | -g) - # cl only supports one debugging level - clopt="$clopt ${slash}Zi" - linkopt="$linkopt ${slash}DEBUG" - ;; - - -O0) - clopt="$clopt ${slash}Od ${slash}D_DEBUG ${slash}MTd" - ;; - - -O2) - clopt="$clopt ${slash}O2 ${slash}MT" - ;; - - -L*) - path=`echo "$1" | sed 's/-L//'` - linkopt="$linkopt ${slash}LIBPATH:$path" - cl_linkopt="${slash}link ${slash}LIBPATH:\"$path\"" - ;; - - -l*) - lib=`echo "$1" | sed 's/-l//'` - lib="$lib.lib" - - clopt="$clopt $lib" - linkopt="$linkopt $lib" - ;; - - -m386) - clopt="$clopt ${slash}G3" - ;; - - -m486) - clopt="$clopt ${slash}G4" - ;; - - -mpentium) - clopt="$clopt ${slash}G5" - ;; - - -mpentiumpro) - clopt="$clopt ${slash}G6" - ;; - - -o) - # specifying output file, is it an object or an executable - shift - case "$1" in - *.o | *.obj) - clopt="$clopt ${slash}Fo$1" - ;; - *) - clopt="$clopt ${slash}Fe$1"; - linkopt="$linkopt ${slash}out:$1" - ;; - esac;; - - -pedantic) - #ignore pedantic - ;; - - -Wall) - # not all warnings are implemented - # the following is equivalent to - # Wimplicit-function-declaration but we will issue a compiler - # error - clopt="$clopt ${slash}we4013" - ;; - - -W*) - #ignore warnings - ;; - - -Q*) - #ignore link warnings - ;; - - -fno-strict-aliasing*) - #ignore aliasing - ;; - - -isystem) - shift - clopt="$clopt -I$1" - ;; - - -MT) - exit 0 - ;; - - -mno-cygwin) - ;; - - *.cc | *.cxx | *.C) - # C++ source file with non .cpp extension, make sure cl understand - # that it is C++ - clopt="$clopt ${slash}Tp$1" - ;; - - *.o | *.obj | *.a | *.lib) - # Object files/libraries seen, this command will require link - # Switch the prog to link - linkopt="$linkopt $1" - prog="link" - ;; - - *) - clopt="$clopt $1" - linkopt="$linkopt $1" - if test x$optarg != x ; then - clopt="$clopt=$optarg" - linkopt="$linkopt=$optarg" - fi - ;; - - esac - shift -done - -if test x$gotparam = x ; then - usage - exit 1 -fi - -# choose which opts we built up based on which program will actually run -if test x$prog = xcl ; then - opts="$clopt $cl_linkopt" -else - opts=$linkopt -fi - -if test x$V = x1 ; then - echo "$prog $opts" -fi -exec $prog $opts -exit 0 diff --git a/configure.ac b/configure.ac index 025dccc63..cfa4cc386 100644 --- a/configure.ac +++ b/configure.ac @@ -82,9 +82,6 @@ AC_SEARCH_LIBS([pthread_rwlock_tryrdlock], [pthread]) AC_SEARCH_LIBS([pthread_rwlockattr_destroy], [pthread]) AC_FUNC_STRERROR_R -OVS_CHECK_WIN64 -OVS_CHECK_WIN32 -OVS_CHECK_VISUAL_STUDIO_DDK OVN_CHECK_COVERAGE OVS_CHECK_NDEBUG OVS_CHECK_NETLINK diff --git a/controller-vtep/ovn-controller-vtep.8.xml b/controller-vtep/ovn-controller-vtep.8.xml index 9d470cd63..ea3ac155e 100644 --- a/controller-vtep/ovn-controller-vtep.8.xml +++ b/controller-vtep/ovn-controller-vtep.8.xml @@ -74,12 +74,7 @@ <code>unix:<var>file</var></code> </p> <p> - On POSIX, connect to the Unix domain server socket named - <var>file</var>. - </p> - <p> - On Windows, connect to a localhost TCP port whose value is written - in <var>file</var>. + Connect to the Unix domain server socket named <var>file</var>. </p> </li> </ul> diff --git a/controller/chassis.c b/controller/chassis.c index 4afb6da93..ea64c9f81 100644 --- a/controller/chassis.c +++ b/controller/chassis.c @@ -33,7 +33,6 @@ VLOG_DEFINE_THIS_MODULE(chassis); #ifndef HOST_NAME_MAX -/* For windows. */ #define HOST_NAME_MAX 255 #endif /* HOST_NAME_MAX */ diff --git a/debian/copyright.in b/debian/copyright.in index 335fd6af8..bc5cb37a1 100644 --- a/debian/copyright.in +++ b/debian/copyright.in @@ -49,24 +49,6 @@ License: On Debian systems, the complete text of the GNU General Public License version 2 can be found in `/usr/share/common-licenses/GPL-2' -* The following file is licensed under the GNU General Public License - version 2. - - build-aux/cccl - -* The following files are licensed under the 2-clause BSD license. - - lib/getopt_long.c - include/windows/getopt.h - datapath-windows/ovsext/Conntrack-tcp.c - lib/conntrack-tcp.c - -* The following files are licensed under the 3-clause BSD-license - - include/windows/netinet/icmp6.h - include/windows/netinet/ip6.h - lib/strsep.c - * The following components are dual-licensed under the GNU General Public License version 2 and the Apache License Version 2.0. diff --git a/lib/ovn-util.c b/lib/ovn-util.c index fb02825ac..e6143d7a9 100644 --- a/lib/ovn-util.c +++ b/lib/ovn-util.c @@ -670,16 +670,9 @@ default_br_db(void) char * get_abs_unix_ctl_path(const char *path) { -#ifdef _WIN32 - enum { WINDOWS = 1 }; -#else - enum { WINDOWS = 0 }; -#endif - long int pid = getpid(); char *abs_path = (path ? abs_file_name(ovn_rundir(), path) - : WINDOWS ? xasprintf("%s/%s.ctl", ovn_rundir(), program_name) : xasprintf("%s/%s.%ld.ctl", ovn_rundir(), program_name, pid)); return abs_path; } @@ -689,20 +682,8 @@ ovn_set_pidfile(const char *name) { char *pidfile_name = NULL; -#ifndef _WIN32 pidfile_name = name ? abs_file_name(ovn_rundir(), name) : xasprintf("%s/%s.pid", ovn_rundir(), program_name); -#else - if (name) { - if (strchr(name, ':')) { - pidfile_name = xstrdup(name); - } else { - pidfile_name = xasprintf("%s/%s", ovn_rundir(), name); - } - } else { - pidfile_name = xasprintf("%s/%s.pid", ovn_rundir(), program_name); - } -#endif /* Call openvswitch lib function. */ set_pidfile(pidfile_name); diff --git a/m4/ax_check_openssl.m4 b/m4/ax_check_openssl.m4 index 281d4dc65..9fbdf9eb1 100644 --- a/m4/ax_check_openssl.m4 +++ b/m4/ax_check_openssl.m4 @@ -80,13 +80,8 @@ AC_DEFUN([AX_CHECK_OPENSSL], [ if test -f "$ssldir/include/openssl/ssl.h"; then SSL_INCLUDES="-I$ssldir/include" SSL_LDFLAGS="-L$ssldir/lib" - if test "$WIN32" = "yes"; then - SSL_LIBS="-lssleay32 -llibeay32" - SSL_DIR=/$(echo ${ssldir} | ${SED} -e 's/://') - else - SSL_LIBS="-lssl -lcrypto" - SSL_DIR="$ssldir" - fi + SSL_LIBS="-lssl -lcrypto" + SSL_DIR="$ssldir" found=true AC_MSG_RESULT([yes]) break diff --git a/m4/ovn.m4 b/m4/ovn.m4 index 93a959224..22ad1a27f 100644 --- a/m4/ovn.m4 +++ b/m4/ovn.m4 @@ -60,139 +60,6 @@ AC_DEFUN([OVS_CHECK_NDEBUG], [ndebug=false]) AM_CONDITIONAL([NDEBUG], [test x$ndebug = xtrue])]) -dnl Checks for MSVC x64 compiler. -AC_DEFUN([OVS_CHECK_WIN64], - [AC_CACHE_CHECK( - [for MSVC x64 compiler], - [cl_cv_x64], - [dnl "cl" writes x64 output to stdin: - if (cl) 2>&1 | grep 'x64' >/dev/null 2>&1; then - cl_cv_x64=yes - MSVC64_LDFLAGS=" /MACHINE:X64 " - MSVC_PLATFORM="x64" - else - cl_cv_x64=no - MSVC64_LDFLAGS="" - MSVC_PLATFORM="x86" - fi]) - AC_SUBST([MSVC64_LDFLAGS]) - AC_SUBST([MSVC_PLATFORM]) -]) - -dnl Checks for WINDOWS. -AC_DEFUN([OVS_CHECK_WIN32], - [AC_CHECK_HEADER([windows.h], - [WIN32=yes], - [WIN32=no]) - AM_CONDITIONAL([WIN32], [test "$WIN32" = yes]) - if test "$WIN32" = yes; then - AC_ARG_WITH([pthread], - [AS_HELP_STRING([--with-pthread=DIR], - [root of the pthread-win32 directory])], - [ - case "$withval" in - "" | y | ye | yes | n | no) - AC_MSG_ERROR([Invalid --with-pthread value]) - ;; - *) - if (cl) 2>&1 | grep 'x64' >/dev/null 2>&1; then - cl_cv_x64=yes - else - cl_cv_x64=no - fi - if test "$cl_cv_x64" = yes; then - PTHREAD_WIN32_DIR=$withval/lib/x64 - PTHREAD_WIN32_DIR_DLL=/$(echo ${withval} | ${SED} -e 's/://')/dll/x64 - PTHREAD_WIN32_DIR_DLL_WIN_FORM=$withval/dll/x64 - else - PTHREAD_WIN32_DIR=$withval/lib/x86 - PTHREAD_WIN32_DIR_DLL=/$(echo ${withval} | ${SED} -e 's/://')/dll/x86 - PTHREAD_WIN32_DIR_DLL_WIN_FORM=$withval/dll/x86 - fi - PTHREAD_INCLUDES=-I$withval/include - PTHREAD_LDFLAGS=-L$PTHREAD_WIN32_DIR - PTHREAD_LIBS="-lpthreadVC2" - AC_SUBST([PTHREAD_WIN32_DIR_DLL_WIN_FORM]) - AC_SUBST([PTHREAD_WIN32_DIR_DLL]) - AC_SUBST([PTHREAD_INCLUDES]) - AC_SUBST([PTHREAD_LDFLAGS]) - AC_SUBST([PTHREAD_LIBS]) - ;; - esac - ], [ - AC_MSG_ERROR([pthread directory not specified]) - ] - ) - AC_ARG_WITH([debug], - [AS_HELP_STRING([--with-debug], - [Build without compiler optimizations])], - [ - MSVC_CFLAGS="-O0" - AC_SUBST([MSVC_CFLAGS]) - ], [ - MSVC_CFLAGS="-O2" - AC_SUBST([MSVC_CFLAGS]) - ] - ) - - AC_DEFINE([WIN32], [1], [Define to 1 if building on WIN32.]) - AC_CHECK_TYPES([struct timespec], [], [], [[#include <time.h>]]) - AH_BOTTOM([#ifdef WIN32 -#include "include/windows/windefs.h" -#endif]) - fi]) - -dnl OVS_CHECK_WINDOWS -dnl -dnl Configure Visual Studio solution build -AC_DEFUN([OVS_CHECK_VISUAL_STUDIO_DDK], [ -AC_ARG_WITH([vstudiotarget], - [AS_HELP_STRING([--with-vstudiotarget=target_type], - [Target type: Debug/Release])], - [ - case "$withval" in - "Release") ;; - "Debug") ;; - *) AC_MSG_ERROR([No valid Visual Studio configuration found]) ;; - esac - - VSTUDIO_CONFIG=$withval - ], [ - VSTUDIO_CONFIG= - ] - ) - - AC_SUBST([VSTUDIO_CONFIG]) - -AC_ARG_WITH([vstudiotargetver], - [AS_HELP_STRING([--with-vstudiotargetver=target_ver1,target_ver2], - [Target versions: Win8,Win8.1,Win10])], - [ - targetver=`echo "$withval" | tr -s , ' ' ` - for ver in $targetver; do - case "$ver" in - "Win8") VSTUDIO_WIN8=true ;; - "Win8.1") VSTUDIO_WIN8_1=true ;; - "Win10") VSTUDIO_WIN10=true ;; - *) AC_MSG_ERROR([No valid Visual Studio target version found]) ;; - esac - done - - ], [ - VSTUDIO_WIN8=true - VSTUDIO_WIN8_1=true - VSTUDIO_WIN10=true - ] - ) - - AM_CONDITIONAL([VSTUDIO_WIN8], [test -n "$VSTUDIO_WIN8"]) - AM_CONDITIONAL([VSTUDIO_WIN8_1], [test -n "$VSTUDIO_WIN8_1"]) - AM_CONDITIONAL([VSTUDIO_WIN10], [test -n "$VSTUDIO_WIN10"]) - - AC_DEFINE([VSTUDIO_DDK], [1], [System uses the Visual Studio build target.]) - AM_CONDITIONAL([VSTUDIO_DDK], [test -n "$VSTUDIO_CONFIG"]) -]) - dnl Checks for OpenSSL. AC_DEFUN([OVS_CHECK_OPENSSL], [AC_ARG_ENABLE( diff --git a/northd/lflow-mgr.c b/northd/lflow-mgr.c index 3b8cbe472..ce9c4f854 100644 --- a/northd/lflow-mgr.c +++ b/northd/lflow-mgr.c @@ -1168,12 +1168,6 @@ sync_lflow_to_sb(struct ovn_lflow *lflow, * "ovn/northd/northd.c:1234", down to just the part following the * last slash, e.g. "northd.c:1234". */ const char *slash = strrchr(lflow->where, '/'); -#if _WIN32 - const char *backslash = strrchr(lflow->where, '\\'); - if (!slash || backslash > slash) { - slash = backslash; - } -#endif const char *where = slash ? slash + 1 : lflow->where; struct smap ids = SMAP_INITIALIZER(&ids); @@ -1213,12 +1207,6 @@ sync_lflow_to_sb(struct ovn_lflow *lflow, * like "ovn/northd/northd.c:1234", down to just the part * following the last slash, e.g. "northd.c:1234". */ const char *slash = strrchr(lflow->where, '/'); -#if _WIN32 - const char *backslash = strrchr(lflow->where, '\\'); - if (!slash || backslash > slash) { - slash = backslash; - } -#endif const char *where = slash ? slash + 1 : lflow->where; if (strcmp(source, where)) { diff --git a/tests/atlocal.in b/tests/atlocal.in index 477d56a0f..2683e9a2f 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -74,29 +74,14 @@ esac # Check for platform. case `uname` in -MINGW*|MSYS*) - IS_WIN32="yes" - IS_BSD="no" - ;; FreeBSD|NetBSD) - IS_WIN32="no" IS_BSD="yes" ;; *) - IS_WIN32="no" IS_BSD="no" ;; esac -if test x"$PYTHON3" != x && test "$IS_WIN32" = yes; then - # enables legacy windows unicode printing needed for Python3 compatibility - # with the Python2 tests - PYTHONLEGACYWINDOWSFSENCODING=true - export PYTHONLEGACYWINDOWSFSENCODING - PYTHONLEGACYWINDOWSSTDIO=true - export PYTHONLEGACYWINDOWSSTDIO -fi - # Check whether to run IPv6 tests. $PYTHON -c ' import errno diff --git a/tests/automake.mk b/tests/automake.mk index 46be217ae..76ef4fda0 100644 --- a/tests/automake.mk +++ b/tests/automake.mk @@ -15,8 +15,7 @@ EXTRA_DIST += \ $(MULTINODE_TESTSUITE) \ tests/atlocal.in \ $(srcdir)/package.m4 \ - $(srcdir)/tests/testsuite \ - $(srcdir)/tests/testsuite.patch + $(srcdir)/tests/testsuite COMMON_MACROS_AT = \ tests/ovsdb-macros.at \ @@ -81,7 +80,6 @@ MULTINODE_TESTSUITE_AT = \ check_SCRIPTS += tests/atlocal TESTSUITE = $(srcdir)/tests/testsuite -TESTSUITE_PATCH = $(srcdir)/tests/testsuite.patch TESTSUITE_DIR = $(abs_top_builddir)/tests/testsuite.dir SYSTEM_DPDK_TESTSUITE = $(srcdir)/tests/system-dpdk-testsuite SYSTEM_KMOD_TESTSUITE = $(srcdir)/tests/system-kmod-testsuite @@ -93,7 +91,7 @@ DISTCLEANFILES += tests/atconfig tests/atlocal MULTINODE_TESTSUITE = $(srcdir)/tests/multinode-testsuite MULTINODE_TESTSUITE_DIR = $(abs_top_builddir)/tests/multinode-testsuite.dir MULTINODE_TESTSUITE_RESULTS = $(MULTINODE_TESTSUITE_DIR)/results -AUTOTEST_PATH = $(ovs_builddir)/utilities:$(ovs_builddir)/vswitchd:$(ovs_builddir)/ovsdb:$(ovs_builddir)/vtep:tests:$(PTHREAD_WIN32_DIR_DLL):$(SSL_DIR):controller-vtep:northd:utilities:controller:ic:br-controller +AUTOTEST_PATH = $(ovs_builddir)/utilities:$(ovs_builddir)/vswitchd:$(ovs_builddir)/ovsdb:$(ovs_builddir)/vtep:tests:$(SSL_DIR):controller-vtep:northd:utilities:controller:ic:br-controller export ovs_srcdir export ovs_builddir @@ -237,16 +235,9 @@ check-multinode: all AUTOTEST = $(AUTOM4TE) --language=autotest -if WIN32 -$(TESTSUITE): package.m4 $(TESTSUITE_AT) $(COMMON_MACROS_AT) $(TESTSUITE_PATCH) - $(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -o testsuite.tmp [email protected] - patch -p0 testsuite.tmp $(TESTSUITE_PATCH) - $(AM_V_at)mv testsuite.tmp $@ -else $(TESTSUITE): package.m4 $(TESTSUITE_AT) $(COMMON_MACROS_AT) $(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -o [email protected] [email protected] $(AM_V_at)mv [email protected] $@ -endif $(SYSTEM_DPDK_TESTSUITE): package.m4 $(SYSTEM_TESTSUITE_AT) $(SYSTEM_DPDK_TESTSUITE_AT) $(COMMON_MACROS_AT) $(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -o [email protected] [email protected] diff --git a/tests/ovn-controller-vtep.at b/tests/ovn-controller-vtep.at index caf53e291..213e222ed 100644 --- a/tests/ovn-controller-vtep.at +++ b/tests/ovn-controller-vtep.at @@ -13,7 +13,6 @@ AT_BANNER([ovn_controller_vtep]) # m4_define([OVN_CONTROLLER_VTEP_START], [ AT_KEYWORDS([ovn]) - # this will cause skip when 'make check' using Windows setup. sim="$1" tunnel_ip="$2" vtep_chassis=${sim:-br-vtep} diff --git a/tests/ovs-macros.at b/tests/ovs-macros.at index 6e6e52080..95d522b70 100644 --- a/tests/ovs-macros.at +++ b/tests/ovs-macros.at @@ -105,43 +105,6 @@ seq () { done } -if test "$IS_WIN32" = "yes"; then - pwd () { - command pwd -W "$@" - } - - diff () { - command diff --strip-trailing-cr "$@" - } - - # tskill is more effective than taskkill but it isn't always installed. - if (tskill //?) >/dev/null 2>&1; then :; else - tskill () { taskkill //F //PID $1 >/dev/null; } - fi - - kill () { - signal= - retval=0 - for arg; do - case $arg in - -*) signal=$arg ;; - [1-9][0-9]*) - # tasklist always returns 0. - # If pid does exist, there will be a line with the pid. - if tasklist //fi "PID eq $arg" | grep $arg >/dev/null; then - if test "X$signal" != "X-0"; then - tskill $arg - fi - else - retval=1 - fi - ;; - esac - done - return $retval - } -fi - # parent_pid PID # # Prints the PID of the parent of process PID. diff --git a/tests/test-ovn.c b/tests/test-ovn.c index 3c89eeba0..114e60d65 100644 --- a/tests/test-ovn.c +++ b/tests/test-ovn.c @@ -1058,7 +1058,6 @@ test_tree_shape_exhaustively(struct expr *expr, struct shash *symtab, } } -#ifndef _WIN32 static void wait_pid(pid_t *pids, int *n) { @@ -1087,7 +1086,6 @@ wait_pid(pid_t *pids, int *n) } ovs_fatal(0, "waitpid returned unknown child"); } -#endif static void test_exhaustive(struct ovs_cmdl_context *ctx OVS_UNUSED) @@ -1118,10 +1116,8 @@ test_exhaustive(struct ovs_cmdl_context *ctx OVS_UNUSED) free(name); } -#ifndef _WIN32 pid_t *children = xmalloc(test_parallel * sizeof *children); int n_children = 0; -#endif int n_tested = 0; for (int i = 0; i < 2; i++) { @@ -1144,7 +1140,6 @@ test_exhaustive(struct ovs_cmdl_context *ctx OVS_UNUSED) ds_destroy(&s); } -#ifndef _WIN32 if (test_parallel > 1) { pid_t pid = xfork(); if (!pid) { @@ -1160,9 +1155,7 @@ test_exhaustive(struct ovs_cmdl_context *ctx OVS_UNUSED) } children[n_children++] = pid; } - } else -#endif - { + } else { n_tested += test_tree_shape_exhaustively( expr, &symtab, terminals, n_terminals, nvars, test_nvars, test_bits, @@ -1171,12 +1164,11 @@ test_exhaustive(struct ovs_cmdl_context *ctx OVS_UNUSED) expr_destroy(expr); } } -#ifndef _WIN32 + while (n_children > 0) { wait_pid(children, &n_children); } free(children); -#endif printf("Tested "); switch (operation) { diff --git a/tests/testsuite.patch b/tests/testsuite.patch deleted file mode 100644 index e0c6bb35a..000000000 --- a/tests/testsuite.patch +++ /dev/null @@ -1,76 +0,0 @@ ---- testsuite 2015-02-11 17:19:21.654646439 -0800 -+++ testsuite 2015-02-11 17:15:03.810653032 -0800 -@@ -4669,6 +4669,73 @@ - fi - exec 6<&- - wait -+elif test $at_jobs -ne 1 && -+ test "$IS_WIN32" = "yes"; then -+ # FIFO job dispatcher. -+ trap 'at_pids= -+ for at_pid in `jobs -p`; do -+ at_pids="$at_pids $at_job_group$at_pid" -+ done -+ if test -n "$at_pids"; then -+ at_sig=TSTP -+ test "${TMOUT+set}" = set && at_sig=STOP -+ kill -$at_sig $at_pids 2>/dev/null -+ fi -+ kill -STOP $$ -+ test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP -+ -+ echo -+ # Turn jobs into a list of numbers, starting from 1. -+ running_jobs="`pwd`/tests/jobdispatcher" -+ mkdir -p $running_jobs -+ at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p` -+ -+ set X $at_joblist -+ shift -+ for at_group in $at_groups; do -+ $at_job_control_on 2>/dev/null -+ ( -+ # Start one test group. -+ $at_job_control_off -+ touch $running_jobs/$at_group -+ trap 'set +x; set +e -+ trap "" PIPE -+ echo stop > "$at_stop_file" -+ rm -f $running_jobs/$at_group -+ as_fn_exit 141' PIPE -+ at_fn_group_prepare -+ if cd "$at_group_dir" && -+ at_fn_test $at_group && -+ . "$at_test_source" -+ then :; else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 -+$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} -+ at_failed=: -+ fi -+ rm -f $running_jobs/$at_group -+ at_fn_group_postprocess -+ ) & -+ $at_job_control_off -+ shift # Consume one token. -+ if test $# -gt 0; then :; else -+ while [ "`ls -l $running_jobs 2>/dev/null | wc -l`" -gt "$at_jobs" ]; do -+ sleep 0.1 -+ done -+ set x $* -+ fi -+ test -f "$at_stop_file" && break -+ done -+ # Read back the remaining ($at_jobs - 1) tokens. -+ set X $at_joblist -+ shift -+ if test $# -gt 0; then -+ shift -+ while [ "`ls -l $running_jobs | wc -l`" -gt 1 ]; do -+ sleep 0.1 -+ done -+ fi -+ rmdir $running_jobs -+ wait - else - # Run serially, avoid forks and other potential surprises. - for at_group in $at_groups; do diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py index c19e34442..ad1199f0c 100755 --- a/utilities/checkpatch.py +++ b/utilities/checkpatch.py @@ -1073,10 +1073,7 @@ def ovs_checkpatch_parse(text, filename, author=None, committer=None): interim_line_check(current_file, cmp_line, lineno) continue - # Skip files which have /datapath in them, since they are - # linux or windows coding standards - if current_file.startswith('datapath'): - continue + # Linux headers use Linux kernel coding style for the most part. if current_file.startswith('include/linux'): continue # "sparse" includes could be copy-pasted from different sources diff --git a/utilities/ovn-appctl.8.xml b/utilities/ovn-appctl.8.xml index e3d024da1..b6d7e3dbd 100644 --- a/utilities/ovn-appctl.8.xml +++ b/utilities/ovn-appctl.8.xml @@ -142,13 +142,6 @@ to limit the log level change to only to the system log, to the console, or to a file, respectively. </p> - - <p> - On Windows platform, <code>syslog</code> is accepted as a word - and is only useful if the target was started with the - <code>--syslog-target</code> option (the word has no effect - otherwise). - </p> </li> <li> diff --git a/utilities/ovn-appctl.c b/utilities/ovn-appctl.c index dff7d1295..1e872a401 100644 --- a/utilities/ovn-appctl.c +++ b/utilities/ovn-appctl.c @@ -214,7 +214,6 @@ connect_to_target(const char *target) char *socket_name; int error; -#ifndef _WIN32 if (target[0] != '/') { char *pidfile_name; pid_t pid; @@ -227,12 +226,6 @@ connect_to_target(const char *target) free(pidfile_name); socket_name = xasprintf("%s/%s.%ld.ctl", ovn_rundir(), target, (long int) pid); -#else - /* On windows, if the 'target' contains ':', we make an assumption that - * it is an absolute path. */ - if (!strchr(target, ':')) { - socket_name = xasprintf("%s/%s.ctl", ovn_rundir(), target); -#endif } else { socket_name = xstrdup(target); } -- 2.54.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
