Will keep in mind. I targeted the ALL with the make not specific targets. Kind Regards, Alin. ________________________________________ From: Gurucharan Shetty [shet...@nicira.com] Sent: Tuesday, August 19, 2014 5:37 PM To: Alin Serdean Cc: dev@openvswitch.org Subject: Re: [ovs-dev] [PATCH] Add build of ovsext.sln using MSBuild
On Mon, Aug 18, 2014 at 5:41 PM, Alin Serdean <aserd...@cloudbasesolutions.com> wrote: > Hi Guru, > > I tested the same thing with /FS > (http://msdn.microsoft.com/en-us/library/dn502518.aspx ) earlier today but it > was still hanging. I will retry on a fresh environment tomorrow. Couple of things that you may want to keep in mind. You will need to use mingw32-make instead of make. You will also need to pick and choose targets instead of 'all' (This is needed because mingw32-make expects to run on Windows shell and not on MSYS shell). > > $ uname -r > 1.0.18(0.48/3/2) > > Thanks, > Alin. > > -----Mesaj original----- > De la: Gurucharan Shetty [mailto:shet...@nicira.com] > Trimis: Tuesday, August 19, 2014 12:12 AM > Către: Alin Serdean > Cc: dev@openvswitch.org > Subiect: Re: [ovs-dev] [PATCH] Add build of ovsext.sln using MSBuild > > 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