On Fri, Aug 15, 2014 at 9:58 AM, Alin Serdean <aserd...@cloudbasesolutions.com> wrote: > Hey Guru, > > I can add a follow up on the after the version 2 to propose a solution on how > to make the compilation faster :). It looks like the "hangs" that I was seeing was because of this bug: http://sourceforge.net/p/mingw/bugs/1950/?limit=10&page=1#6994
We should get the fix when MSYS 1.0.19 is released. We will also need the following patch (this one is related to MSVC) which I will send formally for review: diff --git a/build-aux/cccl b/build-aux/cccl index d6915aa..148a371 100644 --- a/build-aux/cccl +++ b/build-aux/cccl @@ -45,7 +45,7 @@ esac # We'll assume cl to start out prog=cl # opts specifies the command line to pass to the MSVC program -clopt="${slash}nologo" +clopt="${slash}nologo ${slash}FS" linkopt="${slash}nologo" # gotparam is 0 if we didn't ever see a param, in which case we show usage() gotparam= As a workaround, I can do parallel builds currently with this (after applying the above patch) mingw32-make lib/vswitch-idl.h lib/vtep-idl.h ofproto/ipfix-entities.def include/odp-netlink.h mingw32-make -j 4 ovsdb/ovsdb-server.exe ovsdb/ovsdb-tool.exe ovsdb/ovsdb-client.exe \ utilities/ovs-vsctl.exe utilities/ovs-ofctl.exe \ utilities/ovs-dpctl.exe vswitchd/ovs-vswitchd.exe \ utilities/ovs-appctl.exe > > I can add the switch for the kernel driver on windows no problem. > > Thanks for your thoughts as well, > Alin. > > -----Mesaj original----- > De la: Gurucharan Shetty [mailto:shet...@nicira.com] > Trimis: Friday, August 15, 2014 7:52 PM > Către: Alin Serdean > Cc: dev@openvswitch.org > Subiect: Re: [ovs-dev] [PATCH] Add build of ovsext.sln using MSBuild > > On Wed, Aug 13, 2014 at 8:13 AM, Alin Serdean > <aserd...@cloudbasesolutions.com> wrote: >> 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 <aserd...@cloudbasesolutions.com> > This is nice! > > Nithin already mentioned this, I just want to add some details. When I > compile on Linux, building the linux kernel module is optional. > i.e without the "--with-linux=/lib/modules/`uname -r`/build", one does not > need to build the kernel module. > It would be nice to have the same for Windows. Currently the usespace > compilation is painfully slow (I have been scouring over the internet to > figure out how to efficiently do a parallel build, without any luck), let us > not make it more slower. > >> --- >> 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 >> -03> "VMWare OVS >> +03> In the Virtual Switch Manager configuration you should now see >> +03> "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 >> >> _______________________________________________ >> dev mailing list >> dev@openvswitch.org >> http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev