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