[ovs-dev] [PATCH] Add build of ovsext.sln using MSBuild

Alin Serdean aserdean at cloudbasesolutions.com
Wed Aug 13 15:13:48 UTC 2014


This commit adds to the automake build system the full build required by the
forwarding extension solution.

It will help a lot in the future CI to check the full build of the project.

Also the documentation was updated.

Signed-off-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
---
 INSTALL.Windows | 34 ++++++++++++++++------------------
 Makefile.am     | 10 ++++++++++
 2 files changed, 26 insertions(+), 18 deletions(-)

diff --git a/INSTALL.Windows b/INSTALL.Windows
index abe665d..8c30c1c 100644
--- a/INSTALL.Windows
+++ b/INSTALL.Windows
@@ -1,4 +1,4 @@
-        How to Build the Kernel module & userspace daemons for Windows
+     How to Build the forwarding extension & userspace binaries for Windows
         ==============================================================
 
 Autoconf, Automake and Visual C++:
@@ -29,8 +29,8 @@ the following entry in /etc/fstab - 'C:/MinGW /mingw'.
 part of Windows' PATH environment variable.
 
 * You will need at least Visual Studio 2013 to compile userspace binaries. In
-addition to that, if you want to compile the kernel module you will also need to
-install Windows Driver Kit (WDK) 8.1 Update.
+addition to that, if you want to compile the forwarding extension you will also
+need to install Windows Driver Kit (WDK) 8.1 Update.
 
 It is important to get the Visual Studio related environment variables and to
 have the $PATH inside the bash to point to the proper compiler and linker. One
@@ -63,7 +63,8 @@ or from a distribution tar ball.
     --prefix="C:/openvswitch/usr" --localstatedir="C:/openvswitch/var" \
     --sysconfdir="C:/openvswitch/etc" --with-pthread="C:/pthread"
 
-* Run make for the ported executables in the top source directory, e.g.:
+* Run make for the ported executables  and the forwarding extension in the top
+source directory, e.g.:
 
   % make
 
@@ -91,32 +92,29 @@ For example,
   --sysconfdir="C:/openvswitch/etc" --with-pthread="C:/pthread" --enable-ssl \
   --with-openssl="C:/OpenSSL-Win32"
 
-* Run make for the ported executables.
+* Run make for the ported executables  and the forwarding extension in the top
+source directory, e.g.:
 
-Building the Kernel module
---------------------------
-We directly use the Visual Studio 2013 IDE to compile the kernel module. You can
-open the extensions.sln file in the IDE and build the solution.
+  % make
 
-Installing the Kernel module
+Installing the forwarding extension
 ----------------------------
-Once you have built the solution, you can copy the following files to the
-target Hyper-V machines:
+You can copy the following files to the target Hyper-V machines:
 
-    ./datapath-windows/x64/Win8.1Debug/package/ovsext.inf
-    ./datapath-windows/x64/Win8.1Debug/package/OVSExt.sys
-    ./datapath-windows/x64/Win8.1Debug/package/ovsext.cat
+    ./datapath-windows/x64/Win8Debug/package/ovsext.inf
+    ./datapath-windows/x64/Win8Debug/package/OVSExt.sys
+    ./datapath-windows/x64/Win8Debug/package/ovsext.cat
     ./datapath-windows/misc/install.cmd
     ./datapath-windows/misc/uninstall.cmd
 
-Steps to install the module
+Steps to install the forwarding extension
 ---------------------------
 
 01> Run ./uninstall.cmd to remove the old extension.
 02> Run ./install.cmd to insert the new one. For this to work you will have to
 turn on TESTSIGNING boot option or 'Disable Driver Signature Enforcement'
 during boot.
-03> In the Virtual Switch Manager configuration you should now see "VMWare OVS
+03> In the Virtual Switch Manager configuration you should now see "Open vSwitch
 Extension" under 'Virtual Switch Extensions'. Click the check box to enable the
 extension.
 
@@ -255,5 +253,5 @@ be brought in.
 
 * Investigate the working of sFlow on Windows and re-enable the unit tests.
 
-* Sign the driver & create an MSI for installing the different OpenvSwitch
+* Sign the driver & create an MSI for installing the different Open vSwitch
 components on windows.
diff --git a/Makefile.am b/Makefile.am
index eb58101..339882a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -276,6 +276,16 @@ manpage-check: $(man_MANS) $(dist_man_MANS) $(noinst_man_MANS)
 CLEANFILES += manpage-check
 endif
 
+if WIN32
+ALL_LOCAL += ovsext_make
+ovsext_make: datapath-windows/ovsext.sln
+	MSBuild.exe datapath-windows/ovsext.sln /target:Build
+
+CLEAN_LOCAL += ovsext_clean
+ovsext_clean: datapath-windows/ovsext.sln
+	MSBuild.exe datapath-windows/ovsext.sln /target:Clean
+endif
+
 include $(srcdir)/manpages.mk
 $(srcdir)/manpages.mk: $(MAN_ROOTS) build-aux/sodepends.pl
 	@$(PERL) $(srcdir)/build-aux/sodepends.pl -I. -I$(srcdir) $(MAN_ROOTS) >$(@F).tmp
-- 
1.9.0.msysgit.0




More information about the dev mailing list