[ovs-dev] [PATCH] datapath-windows: Support to selectively compile targets

Anand Kumar kumaranand at vmware.com
Fri Feb 16 19:04:08 UTC 2018


        Acked-by: Anand Kumar <kumaranand at vmware.com>
       
        Thanks,
        Anand Kumar
        
        ________________________________________
        From: Shashank Ram <rams at vmware.com>
        Sent: Tuesday, February 6, 2018 1:29 PM
        To: dev at openvswitch.org
        Cc: Shashank Ram
        Subject: [PATCH] datapath-windows: Support to selectively compile targets
        
        Adds support to selectively compile kernel driver for
        target versions. This is useful when environments to
        compile for all targets might not be available on the
        user's machine, or if the user wants to only compile
        some targets selectively.
        
        Also once appveyor has support to build Win10 targets,
        we will not pass the "--with-vstudiotargetver" to the
        configure script.
        
        Signed-off-by: Shashank Ram <rams at vmware.com>
        ---
         Makefile.am       | 15 +++++++++++++++
         appveyor.yml      |  4 ++--
         m4/openvswitch.m4 | 28 +++++++++++++++++++++++++++-
         3 files changed, 44 insertions(+), 3 deletions(-)
        
        diff --git a/Makefile.am b/Makefile.am
        index d397f65..e035a98 100644
        --- a/Makefile.am
        +++ b/Makefile.am
        @@ -411,14 +411,29 @@ 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
        diff --git a/appveyor.yml b/appveyor.yml
        index 0881e05..da31764 100644
        --- a/appveyor.yml
        +++ b/appveyor.yml
        @@ -1,6 +1,6 @@
         version: 1.0.{build}
         branches:
        -  only:
        +  only:
           - master
         clone_folder: C:\openvswitch
         init:
        @@ -41,6 +41,6 @@ build_script:
         - C:\MinGW\msys\1.0\bin\bash -lc "cp /c/pthreads-win32/Pre-built.2/dll/x86/*.dll /c/openvswitch/."
         - C:\MinGW\msys\1.0\bin\bash -lc "mv /bin/link.exe /bin/link_copy.exe"
         - C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./boot.sh"
        -- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./configure CC=build-aux/cccl LD=\"`which link`\" LIBS=\"-lws2_32 -liphlpapi -lwbemuuid -lole32 -loleaut32\" --with-pthread=C:/pthreads-win32/Pre-built.2 --with-openssl=C:/OpenSSL-Win32 --with-vstudiotarget=\"Debug\""
        +- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./configure CC=build-aux/cccl LD=\"`which link`\" LIBS=\"-lws2_32 -liphlpapi -lwbemuuid -lole32 -loleaut32\" --with-pthread=C:/pthreads-win32/Pre-built.2 --with-openssl=C:/OpenSSL-Win32 --with-vstudiotarget=\"Debug\" --with-vstudiotargetver=\"Win8,Win8.1\""
         - C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && make"
         - C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && make datapath_windows_analyze"
        diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
        index de4d66c..78082d4 100644
        --- a/m4/openvswitch.m4
        +++ b/m4/openvswitch.m4
        @@ -173,6 +173,32 @@ AC_ARG_WITH([vstudiotarget],
               )
        
           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"])
         ])
        @@ -573,7 +599,7 @@ TEST_ATOMIC_TYPE(unsigned long long int);
         dnl OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(SIZE)
         dnl
         dnl Checks __atomic_always_lock_free(SIZE, 0)
        -AC_DEFUN([OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE],
        +AC_DEFUN([OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE],
           [AC_CACHE_CHECK(
             [value of __atomic_always_lock_free($1)],
             [ovs_cv_atomic_always_lock_free_$1],
        --
        2.9.3.windows.2
        
        
    
    



More information about the dev mailing list