This commit is a POC on how to build the installer from the command line.

One could issue the following commands to build the binaries, driver and
installer.

./boot.sh;./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.1Release"; \
  make clean && make && make installer


Signed-off-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com>
Co-authored-by: Nithin Raju <nit...@vmware.com>
---
v3: Fix pthread libraries
v2: Respin
 Makefile.am                 | 20 ++++++++++++++++++
 datapath-windows/ovsext.sln | 50 ++++++++++++++++++++++-----------------------
 m4/openvswitch.m4           |  8 ++++----
 3 files changed, 49 insertions(+), 29 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 8bc431b..9a2ffd6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -354,6 +354,25 @@ if LINUX_ENABLED
        cd datapath/linux && $(MAKE) modules_install
 endif
 
+if WIN32
+PTHREAD_TEMP_DIR=`echo "$(PTHREAD_LDFLAGS)" | sed 's|^.\(.*\).$:\1||'`
+installer: $(BUILT_SOURCES) $(ovsext_make)
+       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)/ovsdb/ovsdb-server.exe 
windows/ovs-windows-installer/Services/ovsdb-server.exe
+       cp -f 
$(top_srcdir)/datapath-windows/x64/$(VSTUDIO_CONFIG)/package/ovsext.cat 
windows/ovs-windows-installer/Driver/ovsext.cat
+       cp -f 
$(top_srcdir)/datapath-windows/x64/$(VSTUDIO_CONFIG)/package/ovsext.inf 
windows/ovs-windows-installer/Driver/ovsext.inf
+       cp -f 
$(top_srcdir)/datapath-windows/x64/$(VSTUDIO_CONFIG)/package/OVSExt.sys 
windows/ovs-windows-installer/Driver/OVSExt.sys
+       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
+       cp -f $(top_srcdir)/ovsdb/ovsdb-tool.exe 
windows/ovs-windows-installer/Binaries/ovsdb-tool.exe
+       cp -f $(top_srcdir)/ovsdb/*.pdb windows/ovs-windows-installer/Symbols/
+       cp -f $(PTHREAD_TEMP_DIR)/../../dll/x86/*.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
+       MSBuild.exe windows/ovs-windows-installer.sln /target:Build 
/property:Configuration="Release"
+endif
 dist-docs:
        VERSION=$(VERSION) $(srcdir)/build-aux/dist-docs $(srcdir) $(docs)
 .PHONY: dist-docs
@@ -377,3 +396,4 @@ include tutorial/automake.mk
 include vtep/automake.mk
 include datapath-windows/automake.mk
 include datapath-windows/include/automake.mk
+include windows/automake.mk
diff --git a/datapath-windows/ovsext.sln b/datapath-windows/ovsext.sln
index 9cb767d..60e9318 100644
--- a/datapath-windows/ovsext.sln
+++ b/datapath-windows/ovsext.sln
@@ -1,6 +1,6 @@
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 2013
-VisualStudioVersion = 12.0.21005.1
+VisualStudioVersion = 12.0.31101.0
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Package", "Package", 
"{6BA8554E-AE50-49B0-9C98-4592447FEF8D}"
 EndProject
@@ -12,32 +12,32 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = 
"ovsext", "ovsext\ovsext.vcx
 EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Win8 Debug|x64 = Win8 Debug|x64
-               Win8 Release|x64 = Win8 Release|x64
-               Win8.1 Debug|x64 = Win8.1 Debug|x64
-               Win8.1 Release|x64 = Win8.1 Release|x64
+               Win8.1Debug|x64 = Win8.1Debug|x64
+               Win8.1Release|x64 = Win8.1Release|x64
+               Win8Debug|x64 = Win8Debug|x64
+               Win8Release|x64 = Win8Release|x64
        EndGlobalSection
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8 Debug|x64.ActiveCfg 
= Win8 Debug|x64
-               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8 Debug|x64.Build.0 = 
Win8 Debug|x64
-               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8 
Release|x64.ActiveCfg = Win8 Release|x64
-               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8 Release|x64.Build.0 
= Win8 Release|x64
-               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1 
Debug|x64.ActiveCfg = Win8.1 Debug|x64
-               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1 Debug|x64.Build.0 
= Win8.1 Debug|x64
-               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1 
Release|x64.ActiveCfg = Win8.1 Release|x64
-               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1 
Release|x64.Build.0 = Win8.1 Release|x64
-               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8 Debug|x64.ActiveCfg 
= Win8 Debug|x64
-               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8 Debug|x64.Build.0 = 
Win8 Debug|x64
-               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8 Debug|x64.Deploy.0 
= Win8 Debug|x64
-               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8 
Release|x64.ActiveCfg = Win8 Release|x64
-               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8 Release|x64.Build.0 
= Win8 Release|x64
-               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8 
Release|x64.Deploy.0 = Win8 Release|x64
-               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1 
Debug|x64.ActiveCfg = Win8.1 Debug|x64
-               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1 Debug|x64.Build.0 
= Win8.1 Debug|x64
-               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1 
Debug|x64.Deploy.0 = Win8.1 Debug|x64
-               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1 
Release|x64.ActiveCfg = Win8.1 Release|x64
-               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1 
Release|x64.Build.0 = Win8.1 Release|x64
-               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1 
Release|x64.Deploy.0 = Win8.1 Release|x64
+               
{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Debug|x64.ActiveCfg = Win8.1 
Debug|x64
+               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Debug|x64.Build.0 
= Win8.1 Debug|x64
+               
{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Release|x64.ActiveCfg = Win8.1 
Release|x64
+               
{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Release|x64.Build.0 = Win8.1 
Release|x64
+               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Debug|x64.ActiveCfg 
= Win8 Debug|x64
+               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Debug|x64.Build.0 = 
Win8 Debug|x64
+               
{911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Release|x64.ActiveCfg = Win8 
Release|x64
+               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Release|x64.Build.0 
= Win8 Release|x64
+               
{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Debug|x64.ActiveCfg = Win8.1 
Debug|x64
+               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Debug|x64.Build.0 
= Win8.1 Debug|x64
+               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Debug|x64.Deploy.0 
= Win8.1 Debug|x64
+               
{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Release|x64.ActiveCfg = Win8.1 
Release|x64
+               
{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Release|x64.Build.0 = Win8.1 
Release|x64
+               
{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Release|x64.Deploy.0 = Win8.1 
Release|x64
+               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Debug|x64.ActiveCfg 
= Win8 Debug|x64
+               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Debug|x64.Build.0 = 
Win8 Debug|x64
+               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Debug|x64.Deploy.0 = 
Win8 Debug|x64
+               
{63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Release|x64.ActiveCfg = Win8 
Release|x64
+               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Release|x64.Build.0 
= Win8 Release|x64
+               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Release|x64.Deploy.0 
= Win8 Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
index 8ace9ce..dd58d49 100644
--- a/m4/openvswitch.m4
+++ b/m4/openvswitch.m4
@@ -125,10 +125,10 @@ AC_ARG_WITH([vstudioddk],
             [Visual Studio DDK version type e.g. Win8.1 Release])],
          [
             case "$withval" in
-            "Win8.1 Release") ;;
-            "Win8.1 Debug") ;;
-            "Win8 Release") ;;
-            "Win8 Debug") ;;
+            "Win8.1Release") ;;
+            "Win8.1Debug") ;;
+            "Win8Release") ;;
+            "Win8Debug") ;;
             *) AC_MSG_ERROR([No good Visual Studio configuration found]) ;;
             esac
 
-- 
1.9.5.msysgit.0
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to