Currently when building the windows datapath from the command line we specify
the type (Release or Debug), which will build both versions (Win 8 and Win 8.1)
of that type. This made a strict requirement of WDK 8.1.

This patch allows the user to specify a specific version and type of the
datapath which should be built by the command line.

The installer which should contain both versions of the same type because
during installation the installer will pick the required version determined by
the running OS, has been updated to build only the Release type.

This patch updates documentation and also appveyor config.

Signed-off-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com>
---
 INSTALL.Windows.md  |  4 ++--
 Makefile.am         |  6 ++----
 appveyor.yml        |  2 +-
 m4/openvswitch.m4   |  6 ++++--
 windows/automake.mk | 16 ++++++++++------
 5 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/INSTALL.Windows.md b/INSTALL.Windows.md
index 6b0f5d8..0a734d6 100644
--- a/INSTALL.Windows.md
+++ b/INSTALL.Windows.md
@@ -134,7 +134,7 @@ For example,
 Building the Kernel datapath module
 -----------------------------------
 * We directly use the Visual Studio 2013 IDE to compile the kernel datapath.
-You can open the extensions.sln file in the IDE and build the solution.
+You can open the ovsext.sln file in the IDE and build the solution.
 
 * The kernel datapath can be compiled from command line as well.  The top
 level 'make' will invoke building the kernel datapath, if the
@@ -148,7 +148,7 @@ For example,
     --with-openssl="C:/OpenSSL-Win32" --with-vstudiotarget="<target type>"
 
     Possible values for "<target type>" are:
-    "Debug" and "Release"
+    "Win8Debug", "Win8Release", "Win8.1Debug" or "Win8.1Release"
 
 Installing the Kernel module
 ----------------------------
diff --git a/Makefile.am b/Makefile.am
index 966ba27..439918c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -352,13 +352,11 @@ CLEANFILES += manpage-dep-check
 if VSTUDIO_DDK
 ALL_LOCAL += ovsext_make
 ovsext_make: datapath-windows/ovsext.sln
-       MSBuild.exe datapath-windows/ovsext.sln /target:Build 
/property:Configuration="Win8$(VSTUDIO_CONFIG)"
-       MSBuild.exe datapath-windows/ovsext.sln /target:Build 
/property:Configuration="Win8.1$(VSTUDIO_CONFIG)"
+       MSBuild.exe datapath-windows/ovsext.sln /target:Build 
/property:Configuration="$(VSTUDIO_CONFIG)"
 
 CLEAN_LOCAL += ovsext_clean
 ovsext_clean: datapath-windows/ovsext.sln
-       MSBuild.exe datapath-windows/ovsext.sln /target:Clean 
/property:Configuration="Win8$(VSTUDIO_CONFIG)"
-       MSBuild.exe datapath-windows/ovsext.sln /target:Clean 
/property:Configuration="Win8.1$(VSTUDIO_CONFIG)"
+       MSBuild.exe datapath-windows/ovsext.sln /target:Clean 
/property:Configuration="$(VSTUDIO_CONFIG)"
 endif
 
 dist-hook: $(DIST_HOOKS)
diff --git a/appveyor.yml b/appveyor.yml
index d3d87b3..6ce9f53 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -39,5 +39,5 @@ 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\" 
--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\" 
--with-pthread=C:/pthreads-win32/Pre-built.2 --with-openssl=C:/OpenSSL-Win32 
--with-vstudiotarget=\"Win8.1Debug\""
 - C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && make"
diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
index 683a6a7..69b569b 100644
--- a/m4/openvswitch.m4
+++ b/m4/openvswitch.m4
@@ -157,8 +157,10 @@ AC_ARG_WITH([vstudiotarget],
             [Target type: Debug/Release])],
          [
             case "$withval" in
-            "Release") ;;
-            "Debug") ;;
+            "Win8Release") ;;
+            "Win8Debug") ;;
+            "Win8.1Release") ;;
+            "Win8.1Debug") ;;
             *) AC_MSG_ERROR([No valid Visual Studio configuration found]) ;;
             esac
 
diff --git a/windows/automake.mk b/windows/automake.mk
index fa610ec..3716171 100644
--- a/windows/automake.mk
+++ b/windows/automake.mk
@@ -15,10 +15,14 @@
 PTHREAD_TEMP_DIR=`echo "$(PTHREAD_LDFLAGS)" | sed 's|^.\(.*\).$:\1||'`
 windows_installer: all
 #Userspace files needed for the installer
+       MSBuild.exe datapath-windows/ovsext.sln /target:Build 
/property:Configuration="Win8Release"
+       MSBuild.exe datapath-windows/ovsext.sln /target:Build 
/property:Configuration="Win8.1Release"
        cp -f $(top_srcdir)/datapath-windows/misc/OVS.psm1 
windows/ovs-windows-installer/Services/OVS.psm1
        cp -f $(top_srcdir)/vswitchd/vswitch.ovsschema 
windows/ovs-windows-installer/Services/vswitch.ovsschema
        cp -f $(top_srcdir)/vswitchd/ovs-vswitchd.exe 
windows/ovs-windows-installer/Services/ovs-vswitchd.exe
+       cp -f $(top_srcdir)/vswitchd/ovs-vswitchd.pdb 
windows/ovs-windows-installer/Symbols/ovs-vswitchd.pdb
        cp -f $(top_srcdir)/ovsdb/ovsdb-server.exe 
windows/ovs-windows-installer/Services/ovsdb-server.exe
+       cp -f $(top_srcdir)/ovsdb/ovsdb-server.pdb 
windows/ovs-windows-installer/Symbols/ovsdb-server.pdb
        cp -f $(top_srcdir)/utilities/*.exe 
windows/ovs-windows-installer/Binaries/
        cp -f $(top_srcdir)/utilities/*.pdb 
windows/ovs-windows-installer/Symbols/
        cp -f $(top_srcdir)/ovsdb/ovsdb-client.exe 
windows/ovs-windows-installer/Binaries/ovsdb-client.exe
@@ -29,12 +33,12 @@ windows_installer: all
        cp -f $(PTHREAD_WIN32_DIR_DLL_WIN_FORM)/*.dll 
windows/ovs-windows-installer/Binaries/
        cp -f "/c/Program Files (x86)/Common Files/Merge 
Modules/Microsoft_VC120_CRT_x86.msm" 
windows/ovs-windows-installer/Redist/Microsoft_VC120_CRT_x86.msm
 #Forwarding extension files needed for the installer
-       cp -f 
$(top_srcdir)/datapath-windows/x64/Win8$(VSTUDIO_CONFIG)/package/ovsext.cat 
windows/ovs-windows-installer/Driver/Win8/ovsext.cat
-       cp -f 
$(top_srcdir)/datapath-windows/x64/Win8$(VSTUDIO_CONFIG)/package/ovsext.inf 
windows/ovs-windows-installer/Driver/Win8/ovsext.inf
-       cp -f 
$(top_srcdir)/datapath-windows/x64/Win8$(VSTUDIO_CONFIG)/package/OVSExt.sys 
windows/ovs-windows-installer/Driver/Win8/OVSExt.sys
-       cp -f 
$(top_srcdir)/datapath-windows/x64/Win8.1$(VSTUDIO_CONFIG)/package/ovsext.cat 
windows/ovs-windows-installer/Driver/Win8.1/ovsext.cat
-       cp -f 
$(top_srcdir)/datapath-windows/x64/Win8.1$(VSTUDIO_CONFIG)/package/ovsext.inf 
windows/ovs-windows-installer/Driver/Win8.1/ovsext.inf
-       cp -f 
$(top_srcdir)/datapath-windows/x64/Win8.1$(VSTUDIO_CONFIG)/package/ovsext.sys 
windows/ovs-windows-installer/Driver/Win8.1/ovsext.sys
+       cp -f $(top_srcdir)/datapath-windows/x64/Win8Release/package/ovsext.cat 
windows/ovs-windows-installer/Driver/Win8/ovsext.cat
+       cp -f $(top_srcdir)/datapath-windows/x64/Win8Release/package/ovsext.inf 
windows/ovs-windows-installer/Driver/Win8/ovsext.inf
+       cp -f $(top_srcdir)/datapath-windows/x64/Win8Release/package/OVSExt.sys 
windows/ovs-windows-installer/Driver/Win8/OVSExt.sys
+       cp -f 
$(top_srcdir)/datapath-windows/x64/Win8.1Release/package/ovsext.cat 
windows/ovs-windows-installer/Driver/Win8.1/ovsext.cat
+       cp -f 
$(top_srcdir)/datapath-windows/x64/Win8.1Release/package/ovsext.inf 
windows/ovs-windows-installer/Driver/Win8.1/ovsext.inf
+       cp -f 
$(top_srcdir)/datapath-windows/x64/Win8.1Release/package/ovsext.sys 
windows/ovs-windows-installer/Driver/Win8.1/ovsext.sys
        MSBuild.exe windows/ovs-windows-installer.sln /target:Build 
/property:Configuration="Release"
 
 EXTRA_DIST += \
-- 
1.9.5.msysgit.0
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to