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

Alin Serdean aserdean at cloudbasesolutions.com
Thu Aug 28 13:49:24 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.

To configure the forwarding extension to be built one could use the following:
./configure CC=./build-aux/cccl LD="`which link`" LIBS="-lws2_32" \
    --prefix="C:/openvswitch/usr" --localstatedir="C:/openvswitch/var" \
    --sysconfdir="C:/openvswitch/etc" --with-pthread="C:/pthread" \
    --with-vstudioddk="Win8.1 Release"

Documentation will be updated in another patch.

Signed-off-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
---
 Makefile.am       | 10 ++++++++++
 configure.ac      |  1 +
 m4/openvswitch.m4 | 28 ++++++++++++++++++++++++++++
 3 files changed, 39 insertions(+)

diff --git a/Makefile.am b/Makefile.am
index b64fb62..3c2ae89 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -290,6 +290,16 @@ $(srcdir)/manpages.mk: $(MAN_ROOTS) build-aux/sodepends.pl
 	fi
 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="$(VSTUDIO_CONFIG)"
+
+CLEAN_LOCAL += ovsext_clean
+ovsext_clean: datapath-windows/ovsext.sln
+	MSBuild.exe datapath-windows/ovsext.sln /target:Clean /property:Configuration="$(VSTUDIO_CONFIG)"
+endif
+
 dist-hook: $(DIST_HOOKS)
 all-local: $(ALL_LOCAL)
 clean-local: $(CLEAN_LOCAL)
diff --git a/configure.ac b/configure.ac
index 971c7b3..f41a9e6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -51,6 +51,7 @@ AC_FUNC_STRERROR_R
 
 OVS_CHECK_ESX
 OVS_CHECK_WIN32
+OVS_CHECK_VISUAL_STUDIO_DDK
 OVS_CHECK_COVERAGE
 OVS_CHECK_NDEBUG
 OVS_CHECK_NETLINK
diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
index 26b8058..55aa3f0 100644
--- a/m4/openvswitch.m4
+++ b/m4/openvswitch.m4
@@ -86,12 +86,40 @@ AC_DEFUN([OVS_CHECK_WIN32],
             AC_MSG_ERROR([pthread directory not specified])
          ]
       )
+
       AC_DEFINE([WIN32], [1], [Define to 1 if building on WIN32.])
       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([vstudioddk],
+         [AS_HELP_STRING([--with-vstudioddk=version_type],
+            [Visual Studio DDK version type e.g. Win8.1 Release])],
+         [
+            case "$withval" in
+            "Win8.1 Release") ;;
+            "Win8.1 Debug") ;;
+            "Win8 Release") ;;
+            "Win8 Debug") ;;
+            *) AC_MSG_ERROR([No good Visual Studio configuration found]) ;;
+            esac
+
+            VSTUDIO_CONFIG=$withval
+         ], [
+            VSTUDIO_CONFIG=
+         ]
+      )
+
+  AC_SUBST([VSTUDIO_CONFIG])
+  AC_DEFINE([VSTUDIO_DDK], [1], [System uses the Visual Studio DDK version module.])
+  AM_CONDITIONAL([VSTUDIO_DDK], test -n "$VSTUDIO_CONFIG")
+])
+
 dnl Checks for Netlink support.
 AC_DEFUN([OVS_CHECK_NETLINK],
   [AC_CHECK_HEADER([linux/netlink.h],
-- 
1.9.0.msysgit.0




More information about the dev mailing list