Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile targets

2018-02-27 Thread Shashank Ram
Sounds good Alin, I will update the documentation, and we can work on a patch 
with the solution you suggested as an alternative workflow.

Thanks,
Shashank


From: Alin Serdean <aserd...@cloudbasesolutions.com>
Sent: Tuesday, February 27, 2018 9:38:22 AM
To: Shashank Ram; Alin Balutoiu; Anand Kumar; d...@openvswitch.org
Subject: RE: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile 
targets

Let's have both .

@Shashank Ram can you please update the documentation
to accommodate for the new `vstudiotargetver` option.

Thanks,
Alin.

-Mesaj original-
De la: Shashank Ram [mailto:r...@vmware.com]
Trimis: Tuesday, February 20, 2018 7:29 PM
Către: Alin Balutoiu <abalut...@cloudbasesolutions.com>; Anand Kumar 
<kumaran...@vmware.com>; Alin Serdean <aserd...@cloudbasesolutions.com>; 
d...@openvswitch.org
Subiect: Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile 
targets

That is not consistent with how we specify the Debug/Release flag. There is no 
need to do the whole configure if you specify the targets correctly. Running 
multiple make commands is confusing for the user in terms of the current 
workflow.

Thanks,
Shashank


From: Alin Balutoiu <abalut...@cloudbasesolutions.com>
Sent: Tuesday, February 20, 2018 2:58:06 AM
To: Anand Kumar; Shashank Ram; Alin Serdean; d...@openvswitch.org
Subject: RE: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile 
targets

I agree with having the target specified during make and not during configure.

There is no reason to re-do the whole configure process (as Alin mentioned that 
it is particularly slow on Windows) only to change the target version.



Thanks,

Alin Balutoiu



> -Original Message-

> From: ovs-dev-boun...@openvswitch.org [mailto:ovs-dev-

> boun...@openvswitch.org] On Behalf Of Anand Kumar

> Sent: Tuesday, February 13, 2018 6:34 AM

> To: Shashank Ram <r...@vmware.com>; Alin Serdean

> <aserd...@cloudbasesolutions.com>; d...@openvswitch.org

> Subject: Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively

> compile targets

>

> Hi,

>

> My thoughts are with Shashank on this, it makes sense to have 1 configure and 
> 1

> make command to build a particular target, instead of having flexibility to

> specify multiple targets.

>

> Thanks,

> Anand Kumar

>

> On 2/8/18, 10:56 AM, "ovs-dev-boun...@openvswitch.org on behalf of

> Shashank Ram" <ovs-dev-boun...@openvswitch.org on behalf of

> r...@vmware.com> wrote:

>

>

>

>

>

> 

> From: aserd...@ovn.org <aserd...@ovn.org>

>     Sent: Thursday, February 8, 2018 10:43 AM

>     To: Shashank Ram; aserd...@ovn.org; d...@openvswitch.org

> Subject: RE: [ovs-dev] [PATCH] datapath-windows: Support to selectively

> compile targets

>

> Trimming the message a bit.

>

> -Mesaj original-

> De la: ovs-dev-boun...@openvswitch.org

> [mailto:ovs-dev-boun...@openvswitch.org] În numele Shashank Ram

>     Trimis: Thursday, February 8, 2018 7:50 PM

> Către: aserd...@ovn.org; d...@openvswitch.org

> Subiect: Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively

> compile targets

>

> Hi Alin, thanks for the review.

> I personally feel we should be consistent and run configure, and have a

> single make command to build both user space and kernel. What part did you

> find complicated?

> [Alin Serdean] I.e. if I configure to target 8. And after I need to target

> 10 I need to do a reconfigure (similar, for debug and or other platforms).

> [SR]: In an automated environment, this shouldn't happen.

> For local compilation, you should be able to manually compile the kernel.

>

> The configure part is particularly slow on Windows.

> For convenience the old part with selecting Debug/Release and

> trying to build for all the compilers found in the system is still there, 
> so

> building both

> userspace and kernel will still be in a single command.

> I don't see a huge issue to specify two or more make commands to build a

> particular target of the kernel

> via the shell.

> [SR]: I don't think its a big deal either, but its more convenient to run 
> 1

> configure and 1

> make command.

>

> I prefer to keep this as is for now and wait for more reviews.

>

> ___

> dev mailing list

> d...@openvswitch.org

> https://urldefense.proofpoint.com/v2/url?u=https-

> 3A__mail.openvswitch.org_mailman_listinfo_ovs-

> 2

Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile targets

2018-02-27 Thread Alin Serdean
Let's have both .

@Shashank Ram can you please update the documentation
to accommodate for the new `vstudiotargetver` option.

Thanks,
Alin.

-Mesaj original-
De la: Shashank Ram [mailto:r...@vmware.com] 
Trimis: Tuesday, February 20, 2018 7:29 PM
Către: Alin Balutoiu <abalut...@cloudbasesolutions.com>; Anand Kumar 
<kumaran...@vmware.com>; Alin Serdean <aserd...@cloudbasesolutions.com>; 
d...@openvswitch.org
Subiect: Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile 
targets

That is not consistent with how we specify the Debug/Release flag. There is no 
need to do the whole configure if you specify the targets correctly. Running 
multiple make commands is confusing for the user in terms of the current 
workflow.

Thanks,
Shashank


From: Alin Balutoiu <abalut...@cloudbasesolutions.com>
Sent: Tuesday, February 20, 2018 2:58:06 AM
To: Anand Kumar; Shashank Ram; Alin Serdean; d...@openvswitch.org
Subject: RE: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile 
targets

I agree with having the target specified during make and not during configure.

There is no reason to re-do the whole configure process (as Alin mentioned that 
it is particularly slow on Windows) only to change the target version.



Thanks,

Alin Balutoiu



> -Original Message-

> From: ovs-dev-boun...@openvswitch.org [mailto:ovs-dev-

> boun...@openvswitch.org] On Behalf Of Anand Kumar

> Sent: Tuesday, February 13, 2018 6:34 AM

> To: Shashank Ram <r...@vmware.com>; Alin Serdean

> <aserd...@cloudbasesolutions.com>; d...@openvswitch.org

> Subject: Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively

> compile targets

>

> Hi,

>

> My thoughts are with Shashank on this, it makes sense to have 1 configure and 
> 1

> make command to build a particular target, instead of having flexibility to

> specify multiple targets.

>

> Thanks,

> Anand Kumar

>

> On 2/8/18, 10:56 AM, "ovs-dev-boun...@openvswitch.org on behalf of

> Shashank Ram" <ovs-dev-boun...@openvswitch.org on behalf of

> r...@vmware.com> wrote:

>

>

>

>

>

> 

> From: aserd...@ovn.org <aserd...@ovn.org>

> Sent: Thursday, February 8, 2018 10:43 AM

> To: Shashank Ram; aserd...@ovn.org; d...@openvswitch.org

> Subject: RE: [ovs-dev] [PATCH] datapath-windows: Support to selectively

> compile targets

>

> Trimming the message a bit.

>

> -Mesaj original-

> De la: ovs-dev-boun...@openvswitch.org

> [mailto:ovs-dev-boun...@openvswitch.org] În numele Shashank Ram

> Trimis: Thursday, February 8, 2018 7:50 PM

> Către: aserd...@ovn.org; d...@openvswitch.org

> Subiect: Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively

> compile targets

>

> Hi Alin, thanks for the review.

> I personally feel we should be consistent and run configure, and have a

> single make command to build both user space and kernel. What part did you

> find complicated?

> [Alin Serdean] I.e. if I configure to target 8. And after I need to target

> 10 I need to do a reconfigure (similar, for debug and or other platforms).

> [SR]: In an automated environment, this shouldn't happen.

> For local compilation, you should be able to manually compile the kernel.

>

> The configure part is particularly slow on Windows.

> For convenience the old part with selecting Debug/Release and

> trying to build for all the compilers found in the system is still there, 
> so

> building both

> userspace and kernel will still be in a single command.

> I don't see a huge issue to specify two or more make commands to build a

> particular target of the kernel

> via the shell.

> [SR]: I don't think its a big deal either, but its more convenient to run 
> 1

> configure and 1

> make command.

>

> I prefer to keep this as is for now and wait for more reviews.

>

> ___

> dev mailing list

> d...@openvswitch.org

> https://urldefense.proofpoint.com/v2/url?u=https-

> 3A__mail.openvswitch.org_mailman_listinfo_ovs-

> 2Ddev=DwIFBA=uilaK90D4TOVoH58JNXRgQ=Q5z9tBe-

> nAOpE7LIHSPV8uy5-

> 437agMXvkeHHMkR8Us=fKK6KZRD0tZEfwHzLhMsabCH5aXzzYiRP-

> pJR20Xj9o=nEl_7Q-LhJ74AdsiY85DjA-kWy0uESr5DyFrWDQYKjs=

>

>

> ___

> dev mailing list

> d...@openvswitch.org

> https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev=DwIGaQ=uilaK90D4TOVoH58JNXRgQ=6OuVHk-mnufSWzkKa74UkQ=0mrz2IZApdtvtjOTZbZRQCPxRCib7Tbkwj_B20vv1cI=NXY8REuxaZfNEMFuCbcesEoSMUjNza2Xyn8D6O7NamE=

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile targets

2018-02-20 Thread Shashank Ram
That is not consistent with how we specify the Debug/Release flag. There is no 
need to do the whole configure if you specify the targets correctly. Running 
multiple make commands is confusing for the user in terms of the current 
workflow.

Thanks,
Shashank


From: Alin Balutoiu <abalut...@cloudbasesolutions.com>
Sent: Tuesday, February 20, 2018 2:58:06 AM
To: Anand Kumar; Shashank Ram; Alin Serdean; d...@openvswitch.org
Subject: RE: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile 
targets

I agree with having the target specified during make and not during configure.

There is no reason to re-do the whole configure process (as Alin mentioned that 
it is particularly slow on Windows) only to change the target version.



Thanks,

Alin Balutoiu



> -Original Message-

> From: ovs-dev-boun...@openvswitch.org [mailto:ovs-dev-

> boun...@openvswitch.org] On Behalf Of Anand Kumar

> Sent: Tuesday, February 13, 2018 6:34 AM

> To: Shashank Ram <r...@vmware.com>; Alin Serdean

> <aserd...@cloudbasesolutions.com>; d...@openvswitch.org

> Subject: Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively

> compile targets

>

> Hi,

>

> My thoughts are with Shashank on this, it makes sense to have 1 configure and 
> 1

> make command to build a particular target, instead of having flexibility to

> specify multiple targets.

>

> Thanks,

> Anand Kumar

>

> On 2/8/18, 10:56 AM, "ovs-dev-boun...@openvswitch.org on behalf of

> Shashank Ram" <ovs-dev-boun...@openvswitch.org on behalf of

> r...@vmware.com> wrote:

>

>

>

>

>

> 

> From: aserd...@ovn.org <aserd...@ovn.org>

>     Sent: Thursday, February 8, 2018 10:43 AM

> To: Shashank Ram; aserd...@ovn.org; d...@openvswitch.org

> Subject: RE: [ovs-dev] [PATCH] datapath-windows: Support to selectively

> compile targets

>

> Trimming the message a bit.

>

> -Mesaj original-

> De la: ovs-dev-boun...@openvswitch.org

> [mailto:ovs-dev-boun...@openvswitch.org] În numele Shashank Ram

> Trimis: Thursday, February 8, 2018 7:50 PM

> Către: aserd...@ovn.org; d...@openvswitch.org

> Subiect: Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively

> compile targets

>

> Hi Alin, thanks for the review.

> I personally feel we should be consistent and run configure, and have a

> single make command to build both user space and kernel. What part did you

> find complicated?

> [Alin Serdean] I.e. if I configure to target 8. And after I need to target

> 10 I need to do a reconfigure (similar, for debug and or other platforms).

> [SR]: In an automated environment, this shouldn't happen.

> For local compilation, you should be able to manually compile the kernel.

>

> The configure part is particularly slow on Windows.

> For convenience the old part with selecting Debug/Release and

> trying to build for all the compilers found in the system is still there, 
> so

> building both

> userspace and kernel will still be in a single command.

> I don't see a huge issue to specify two or more make commands to build a

> particular target of the kernel

> via the shell.

> [SR]: I don't think its a big deal either, but its more convenient to run 
> 1

> configure and 1

> make command.

>

> I prefer to keep this as is for now and wait for more reviews.

>

> ___

> dev mailing list

> d...@openvswitch.org

> https://urldefense.proofpoint.com/v2/url?u=https-

> 3A__mail.openvswitch.org_mailman_listinfo_ovs-

> 2Ddev=DwIFBA=uilaK90D4TOVoH58JNXRgQ=Q5z9tBe-

> nAOpE7LIHSPV8uy5-

> 437agMXvkeHHMkR8Us=fKK6KZRD0tZEfwHzLhMsabCH5aXzzYiRP-

> pJR20Xj9o=nEl_7Q-LhJ74AdsiY85DjA-kWy0uESr5DyFrWDQYKjs=

>

>

> ___

> dev mailing list

> d...@openvswitch.org

> https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev=DwIGaQ=uilaK90D4TOVoH58JNXRgQ=6OuVHk-mnufSWzkKa74UkQ=0mrz2IZApdtvtjOTZbZRQCPxRCib7Tbkwj_B20vv1cI=NXY8REuxaZfNEMFuCbcesEoSMUjNza2Xyn8D6O7NamE=

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile targets

2018-02-20 Thread Alin Balutoiu
I agree with having the target specified during make and not during configure.
There is no reason to re-do the whole configure process (as Alin mentioned that 
it is particularly slow on Windows) only to change the target version.

Thanks,
Alin Balutoiu

> -Original Message-
> From: ovs-dev-boun...@openvswitch.org [mailto:ovs-dev-
> boun...@openvswitch.org] On Behalf Of Anand Kumar
> Sent: Tuesday, February 13, 2018 6:34 AM
> To: Shashank Ram <r...@vmware.com>; Alin Serdean
> <aserd...@cloudbasesolutions.com>; d...@openvswitch.org
> Subject: Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively
> compile targets
> 
> Hi,
> 
> My thoughts are with Shashank on this, it makes sense to have 1 configure and 
> 1
> make command to build a particular target, instead of having flexibility to
> specify multiple targets.
> 
> Thanks,
> Anand Kumar
> 
> On 2/8/18, 10:56 AM, "ovs-dev-boun...@openvswitch.org on behalf of
> Shashank Ram" <ovs-dev-boun...@openvswitch.org on behalf of
> r...@vmware.com> wrote:
> 
> 
> 
> 
> 
> 
> From: aserd...@ovn.org <aserd...@ovn.org>
> Sent: Thursday, February 8, 2018 10:43 AM
> To: Shashank Ram; aserd...@ovn.org; d...@openvswitch.org
> Subject: RE: [ovs-dev] [PATCH] datapath-windows: Support to selectively
> compile targets
> 
> Trimming the message a bit.
> 
> -Mesaj original-
> De la: ovs-dev-boun...@openvswitch.org
> [mailto:ovs-dev-boun...@openvswitch.org] În numele Shashank Ram
> Trimis: Thursday, February 8, 2018 7:50 PM
> Către: aserd...@ovn.org; d...@openvswitch.org
> Subiect: Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively
> compile targets
> 
> Hi Alin, thanks for the review.
> I personally feel we should be consistent and run configure, and have a
> single make command to build both user space and kernel. What part did you
> find complicated?
> [Alin Serdean] I.e. if I configure to target 8. And after I need to target
> 10 I need to do a reconfigure (similar, for debug and or other platforms).
> [SR]: In an automated environment, this shouldn't happen.
> For local compilation, you should be able to manually compile the kernel.
> 
> The configure part is particularly slow on Windows.
> For convenience the old part with selecting Debug/Release and
> trying to build for all the compilers found in the system is still there, 
> so
> building both
> userspace and kernel will still be in a single command.
> I don't see a huge issue to specify two or more make commands to build a
> particular target of the kernel
> via the shell.
> [SR]: I don't think its a big deal either, but its more convenient to run 
> 1
> configure and 1
> make command.
> 
> I prefer to keep this as is for now and wait for more reviews.
> 
> ___
> dev mailing list
> d...@openvswitch.org
> https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__mail.openvswitch.org_mailman_listinfo_ovs-
> 2Ddev=DwIFBA=uilaK90D4TOVoH58JNXRgQ=Q5z9tBe-
> nAOpE7LIHSPV8uy5-
> 437agMXvkeHHMkR8Us=fKK6KZRD0tZEfwHzLhMsabCH5aXzzYiRP-
> pJR20Xj9o=nEl_7Q-LhJ74AdsiY85DjA-kWy0uESr5DyFrWDQYKjs=
> 
> 
> ___
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile targets

2018-02-16 Thread Anand Kumar
Acked-by: Anand Kumar 
   
Thanks,
Anand Kumar


From: Shashank Ram 
Sent: Tuesday, February 6, 2018 1:29 PM
To: d...@openvswitch.org
Cc: Shashank Ram
Subject: [PATCH] datapath-windows: Support to selectively compile 
targets

Adds support to selectively compile kernel driver for
target versions. This is useful when environments to
compile for all targets might not be available on the
user's machine, or if the user wants to only compile
some targets selectively.

Also once appveyor has support to build Win10 targets,
we will not pass the "--with-vstudiotargetver" to the
configure script.

Signed-off-by: Shashank Ram 
---
 Makefile.am   | 15 +++
 appveyor.yml  |  4 ++--
 m4/openvswitch.m4 | 28 +++-
 3 files changed, 44 insertions(+), 3 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index d397f65..e035a98 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -411,14 +411,29 @@ if VSTUDIO_DDK
 ALL_LOCAL += ovsext
 ARCH = x64
 ovsext: datapath-windows/ovsext.sln 
$(srcdir)/datapath-windows/include/OvsDpInterface.h
+if VSTUDIO_WIN8
MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln 
/target:Build /property:Configuration="Win8$(VSTUDIO_CONFIG)" 
/property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
+endif
+if VSTUDIO_WIN8_1
MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln 
/target:Build /property:Configuration="Win8.1$(VSTUDIO_CONFIG)" 
/property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
+endif
+if VSTUDIO_WIN10
+MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln 
/target:Build /property:Configuration="Win10$(VSTUDIO_CONFIG)" 
/property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
+endif
+

 CLEAN_LOCAL += ovsext_clean
 ovsext_clean: datapath-windows/ovsext.sln
+if VSTUDIO_WIN8
MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln 
/target:Clean /property:Configuration="Win8$(VSTUDIO_CONFIG)" 
/property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
+endif
+if VSTUDIO_WIN8_1
MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln 
/target:Clean /property:Configuration="Win8.1$(VSTUDIO_CONFIG)" 
/property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
 endif
+if VSTUDIO_WIN10
+MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln 
/target:Clean /property:Configuration="Win10$(VSTUDIO_CONFIG)" 
/property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
+endif
+endif
 .PHONY: ovsext

 clang-analyze: clean
diff --git a/appveyor.yml b/appveyor.yml
index 0881e05..da31764 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,6 +1,6 @@
 version: 1.0.{build}
 branches:
-  only:
+  only:
   - master
 clone_folder: C:\openvswitch
 init:
@@ -41,6 +41,6 @@ build_script:
 - C:\MinGW\msys\1.0\bin\bash -lc "cp 
/c/pthreads-win32/Pre-built.2/dll/x86/*.dll /c/openvswitch/."
 - C:\MinGW\msys\1.0\bin\bash -lc "mv /bin/link.exe /bin/link_copy.exe"
 - C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./boot.sh"
-- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./configure 
CC=build-aux/cccl LD=\"`which link`\" LIBS=\"-lws2_32 -liphlpapi -lwbemuuid 
-lole32 -loleaut32\" --with-pthread=C:/pthreads-win32/Pre-built.2 
--with-openssl=C:/OpenSSL-Win32 --with-vstudiotarget=\"Debug\""
+- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./configure 
CC=build-aux/cccl LD=\"`which link`\" LIBS=\"-lws2_32 -liphlpapi -lwbemuuid 
-lole32 -loleaut32\" --with-pthread=C:/pthreads-win32/Pre-built.2 
--with-openssl=C:/OpenSSL-Win32 --with-vstudiotarget=\"Debug\" 
--with-vstudiotargetver=\"Win8,Win8.1\""
 - C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && make"
 - C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && make 
datapath_windows_analyze"
diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
index de4d66c..78082d4 100644
--- a/m4/openvswitch.m4
+++ b/m4/openvswitch.m4
@@ -173,6 +173,32 @@ AC_ARG_WITH([vstudiotarget],
   )

   AC_SUBST([VSTUDIO_CONFIG])
+
+AC_ARG_WITH([vstudiotargetver],
+ 
[AS_HELP_STRING([--with-vstudiotargetver=target_ver1,target_ver2],
+[Target versions: Win8,Win8.1,Win10])],
  

Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile targets

2018-02-12 Thread Anand Kumar
Hi,

My thoughts are with Shashank on this, it makes sense to have 1 configure and 1 
make command to build a particular target, instead of having flexibility to 
specify multiple targets.

Thanks,
Anand Kumar 

On 2/8/18, 10:56 AM, "ovs-dev-boun...@openvswitch.org on behalf of Shashank 
Ram" <ovs-dev-boun...@openvswitch.org on behalf of r...@vmware.com> wrote:






From: aserd...@ovn.org <aserd...@ovn.org>
Sent: Thursday, February 8, 2018 10:43 AM
To: Shashank Ram; aserd...@ovn.org; d...@openvswitch.org
    Subject: RE: [ovs-dev] [PATCH] datapath-windows: Support to selectively 
compile targets

Trimming the message a bit.

-Mesaj original-
De la: ovs-dev-boun...@openvswitch.org
[mailto:ovs-dev-boun...@openvswitch.org] În numele Shashank Ram
Trimis: Thursday, February 8, 2018 7:50 PM
Către: aserd...@ovn.org; d...@openvswitch.org
    Subiect: Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively
compile targets

Hi Alin, thanks for the review.
I personally feel we should be consistent and run configure, and have a
single make command to build both user space and kernel. What part did you
find complicated?
[Alin Serdean] I.e. if I configure to target 8. And after I need to target
10 I need to do a reconfigure (similar, for debug and or other platforms).
[SR]: In an automated environment, this shouldn't happen.
For local compilation, you should be able to manually compile the kernel.

The configure part is particularly slow on Windows.
For convenience the old part with selecting Debug/Release and
trying to build for all the compilers found in the system is still there, so
building both
userspace and kernel will still be in a single command.
I don't see a huge issue to specify two or more make commands to build a
particular target of the kernel
via the shell.
[SR]: I don't think its a big deal either, but its more convenient to run 1 
configure and 1
make command.

I prefer to keep this as is for now and wait for more reviews.

___
dev mailing list
d...@openvswitch.org

https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev=DwIFBA=uilaK90D4TOVoH58JNXRgQ=Q5z9tBe-nAOpE7LIHSPV8uy5-437agMXvkeHHMkR8Us=fKK6KZRD0tZEfwHzLhMsabCH5aXzzYiRP-pJR20Xj9o=nEl_7Q-LhJ74AdsiY85DjA-kWy0uESr5DyFrWDQYKjs=


___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile targets

2018-02-08 Thread Shashank Ram





From: aserd...@ovn.org <aserd...@ovn.org>
Sent: Thursday, February 8, 2018 10:43 AM
To: Shashank Ram; aserd...@ovn.org; d...@openvswitch.org
Subject: RE: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile 
targets

Trimming the message a bit.

-Mesaj original-
De la: ovs-dev-boun...@openvswitch.org
[mailto:ovs-dev-boun...@openvswitch.org] În numele Shashank Ram
Trimis: Thursday, February 8, 2018 7:50 PM
Către: aserd...@ovn.org; d...@openvswitch.org
Subiect: Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively
compile targets

Hi Alin, thanks for the review.
I personally feel we should be consistent and run configure, and have a
single make command to build both user space and kernel. What part did you
find complicated?
[Alin Serdean] I.e. if I configure to target 8. And after I need to target
10 I need to do a reconfigure (similar, for debug and or other platforms).
[SR]: In an automated environment, this shouldn't happen.
For local compilation, you should be able to manually compile the kernel.

The configure part is particularly slow on Windows.
For convenience the old part with selecting Debug/Release and
trying to build for all the compilers found in the system is still there, so
building both
userspace and kernel will still be in a single command.
I don't see a huge issue to specify two or more make commands to build a
particular target of the kernel
via the shell.
[SR]: I don't think its a big deal either, but its more convenient to run 1 
configure and 1
make command.

I prefer to keep this as is for now and wait for more reviews.

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile targets

2018-02-08 Thread aserdean
Trimming the message a bit.

-Mesaj original-
De la: ovs-dev-boun...@openvswitch.org
[mailto:ovs-dev-boun...@openvswitch.org] În numele Shashank Ram
Trimis: Thursday, February 8, 2018 7:50 PM
Către: aserd...@ovn.org; d...@openvswitch.org
Subiect: Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively
compile targets

Hi Alin, thanks for the review.
I personally feel we should be consistent and run configure, and have a
single make command to build both user space and kernel. What part did you
find complicated?
[Alin Serdean] I.e. if I configure to target 8. And after I need to target
10 I need to do a reconfigure (similar, for debug and or other platforms).
The configure part is particularly slow on Windows.
For convenience the old part with selecting Debug/Release and
trying to build for all the compilers found in the system is still there, so
building both
userspace and kernel will still be in a single command.
I don't see a huge issue to specify two or more make commands to build a
particular target of the kernel
via the shell.

Thanks,
Shashank


From: aserd...@ovn.org <aserd...@ovn.org>
Sent: Thursday, February 8, 2018 9:32:59 AM
To: Shashank Ram; d...@openvswitch.org
Subject: RE: [ovs-dev] [PATCH] datapath-windows: Support to selectively
compile targets

It looks a bit complicated.

What do you think about the following approach:

git diff datapath-windows/automake.mk
diff --git a/datapath-windows/automake.mk b/datapath-windows/automake.mk
index 3820041f6..164567734 100644
--- a/datapath-windows/automake.mk
+++ b/datapath-windows/automake.mk
@@ -85,6 +85,26 @@ EXTRA_DIST += \
datapath-windows/ovsext/precompsrc.c \
datapath-windows/ovsext/resource.h

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile targets

2018-02-08 Thread Shashank Ram
Hi Alin, thanks for the review.
I personally feel we should be consistent and run configure, and have a single 
make command to build both user space and kernel. What part did you find 
complicated?

Thanks,
Shashank


From: aserd...@ovn.org <aserd...@ovn.org>
Sent: Thursday, February 8, 2018 9:32:59 AM
To: Shashank Ram; d...@openvswitch.org
Subject: RE: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile 
targets

It looks a bit complicated.

What do you think about the following approach:

git diff datapath-windows/automake.mk
diff --git a/datapath-windows/automake.mk b/datapath-windows/automake.mk
index 3820041f6..164567734 100644
--- a/datapath-windows/automake.mk
+++ b/datapath-windows/automake.mk
@@ -85,6 +85,26 @@ EXTRA_DIST += \
datapath-windows/ovsext/precompsrc.c \
datapath-windows/ovsext/resource.h

+ARCH=x64
+
 datapath_windows_analyze: all
-   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8.1Analyze"
-   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8Analyze"
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8.1Analyze" //p:Platform=$(ARCH)
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8Analyze" //p:Platform=$(ARCH)
+
+datapath_windows_win_8_debug: all
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8Debug" //p:Platform=$(ARCH)
+
+datapath_windows_win_8_release: all
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8Release" //p:Platform=$(ARCH)
+
+datapath_windows_win_8_1_debug: all
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8.1Debug" //p:Platform=$(ARCH)
+
+datapath_windows_win_8_1_release: all
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8.1Release" //p:Platform=$(ARCH)
+
+datapath_windows_win_10_debug: all
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win10Debug" //p:Platform=$(ARCH)
+
+datapath_windows_win_10_release: all
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win10Release" //p:Platform=$(ARCH)

./boot.sh; ./configure CC=./build-aux/cccl LD="$(which link)" LIBS="-lws2_32
-liphlpapi -lwbemuuid -lole32 -loleaut32" --prefix="C:/openvswitch/usr"
--localstatedir="C:/openvswitch/var" --sysconfdir="C:/openvswitch/etc"
--with-pthread="C:/pthread"; make clean && make -j6; make
datapath_windows_win_8_debug datapath_windows_win_8_release
datapath_windows_win_8_1_debug datapath_windows_win_8_1_release
datapath_windows_win_10_debug datapath_windows_win_10_release

On the plus side you don't need to rerun the configure when you want to
change things. As another plus size you just pass in the parameters for the
userspace and compile the
Debug/release version which the user prefers.

Thanks,
Alin.

-Mesaj original-
De la: ovs-dev-boun...@openvswitch.org
[mailto:ovs-dev-boun...@openvswitch.org] În numele Shashank Ram
Trimis: Tuesday, February 6, 2018 11:30 PM
Către: d...@openvswitch.org
Subiect: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile
targets

Adds support to selectively compile kernel driver for target versions. This
is useful when environments to compile for all targets might not be
available on the user's machine, or if the user wants to only compile some
targets selectively.

Also once appveyor has support to build Win10 targets, we will not pass the
"--with-vstudiotargetver" to the configure script.

Signed-off-by: Shashank Ram <r...@vmware.com>
---

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile targets

2018-02-08 Thread aserdean
It looks a bit complicated.

What do you think about the following approach:

git diff datapath-windows/automake.mk
diff --git a/datapath-windows/automake.mk b/datapath-windows/automake.mk
index 3820041f6..164567734 100644
--- a/datapath-windows/automake.mk
+++ b/datapath-windows/automake.mk
@@ -85,6 +85,26 @@ EXTRA_DIST += \
datapath-windows/ovsext/precompsrc.c \
datapath-windows/ovsext/resource.h

+ARCH=x64
+
 datapath_windows_analyze: all
-   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8.1Analyze"
-   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8Analyze"
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8.1Analyze" //p:Platform=$(ARCH)
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8Analyze" //p:Platform=$(ARCH)
+
+datapath_windows_win_8_debug: all
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8Debug" //p:Platform=$(ARCH)
+
+datapath_windows_win_8_release: all
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8Release" //p:Platform=$(ARCH)
+
+datapath_windows_win_8_1_debug: all
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8.1Debug" //p:Platform=$(ARCH)
+
+datapath_windows_win_8_1_release: all
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win8.1Release" //p:Platform=$(ARCH)
+
+datapath_windows_win_10_debug: all
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win10Debug" //p:Platform=$(ARCH)
+
+datapath_windows_win_10_release: all
+   MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln
/target:Build /property:Configuration="Win10Release" //p:Platform=$(ARCH)

./boot.sh; ./configure CC=./build-aux/cccl LD="$(which link)" LIBS="-lws2_32
-liphlpapi -lwbemuuid -lole32 -loleaut32" --prefix="C:/openvswitch/usr"
--localstatedir="C:/openvswitch/var" --sysconfdir="C:/openvswitch/etc"
--with-pthread="C:/pthread"; make clean && make -j6; make
datapath_windows_win_8_debug datapath_windows_win_8_release
datapath_windows_win_8_1_debug datapath_windows_win_8_1_release
datapath_windows_win_10_debug datapath_windows_win_10_release

On the plus side you don't need to rerun the configure when you want to
change things. As another plus size you just pass in the parameters for the
userspace and compile the
Debug/release version which the user prefers.

Thanks,
Alin.

-Mesaj original-
De la: ovs-dev-boun...@openvswitch.org
[mailto:ovs-dev-boun...@openvswitch.org] În numele Shashank Ram
Trimis: Tuesday, February 6, 2018 11:30 PM
Către: d...@openvswitch.org
Subiect: [ovs-dev] [PATCH] datapath-windows: Support to selectively compile
targets

Adds support to selectively compile kernel driver for target versions. This
is useful when environments to compile for all targets might not be
available on the user's machine, or if the user wants to only compile some
targets selectively.

Also once appveyor has support to build Win10 targets, we will not pass the
"--with-vstudiotargetver" to the configure script.

Signed-off-by: Shashank Ram <r...@vmware.com>
---

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH] datapath-windows: Support to selectively compile targets

2018-02-06 Thread Shashank Ram
Adds support to selectively compile kernel driver for
target versions. This is useful when environments to
compile for all targets might not be available on the
user's machine, or if the user wants to only compile
some targets selectively.

Also once appveyor has support to build Win10 targets,
we will not pass the "--with-vstudiotargetver" to the
configure script.

Signed-off-by: Shashank Ram 
---
 Makefile.am   | 15 +++
 appveyor.yml  |  4 ++--
 m4/openvswitch.m4 | 28 +++-
 3 files changed, 44 insertions(+), 3 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index d397f65..e035a98 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -411,14 +411,29 @@ if VSTUDIO_DDK
 ALL_LOCAL += ovsext
 ARCH = x64
 ovsext: datapath-windows/ovsext.sln 
$(srcdir)/datapath-windows/include/OvsDpInterface.h
+if VSTUDIO_WIN8
MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln 
/target:Build /property:Configuration="Win8$(VSTUDIO_CONFIG)" 
/property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
+endif
+if VSTUDIO_WIN8_1
MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln 
/target:Build /property:Configuration="Win8.1$(VSTUDIO_CONFIG)" 
/property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
+endif
+if VSTUDIO_WIN10
+MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln 
/target:Build /property:Configuration="Win10$(VSTUDIO_CONFIG)" 
/property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
+endif
+
 
 CLEAN_LOCAL += ovsext_clean
 ovsext_clean: datapath-windows/ovsext.sln
+if VSTUDIO_WIN8
MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln 
/target:Clean /property:Configuration="Win8$(VSTUDIO_CONFIG)" 
/property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
+endif
+if VSTUDIO_WIN8_1
MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln 
/target:Clean /property:Configuration="Win8.1$(VSTUDIO_CONFIG)" 
/property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
 endif
+if VSTUDIO_WIN10
+MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln 
/target:Clean /property:Configuration="Win10$(VSTUDIO_CONFIG)" 
/property:Version="$(PACKAGE_VERSION)" //p:Platform=$(ARCH)
+endif
+endif
 .PHONY: ovsext
 
 clang-analyze: clean
diff --git a/appveyor.yml b/appveyor.yml
index 0881e05..da31764 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,6 +1,6 @@
 version: 1.0.{build}
 branches:
-  only: 
+  only:
   - master
 clone_folder: C:\openvswitch
 init:
@@ -41,6 +41,6 @@ build_script:
 - C:\MinGW\msys\1.0\bin\bash -lc "cp 
/c/pthreads-win32/Pre-built.2/dll/x86/*.dll /c/openvswitch/."
 - C:\MinGW\msys\1.0\bin\bash -lc "mv /bin/link.exe /bin/link_copy.exe"
 - C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./boot.sh"
-- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./configure 
CC=build-aux/cccl LD=\"`which link`\" LIBS=\"-lws2_32 -liphlpapi -lwbemuuid 
-lole32 -loleaut32\" --with-pthread=C:/pthreads-win32/Pre-built.2 
--with-openssl=C:/OpenSSL-Win32 --with-vstudiotarget=\"Debug\""
+- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./configure 
CC=build-aux/cccl LD=\"`which link`\" LIBS=\"-lws2_32 -liphlpapi -lwbemuuid 
-lole32 -loleaut32\" --with-pthread=C:/pthreads-win32/Pre-built.2 
--with-openssl=C:/OpenSSL-Win32 --with-vstudiotarget=\"Debug\" 
--with-vstudiotargetver=\"Win8,Win8.1\""
 - C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && make"
 - C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && make 
datapath_windows_analyze"
diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
index de4d66c..78082d4 100644
--- a/m4/openvswitch.m4
+++ b/m4/openvswitch.m4
@@ -173,6 +173,32 @@ AC_ARG_WITH([vstudiotarget],
   )
 
   AC_SUBST([VSTUDIO_CONFIG])
+
+AC_ARG_WITH([vstudiotargetver],
+ [AS_HELP_STRING([--with-vstudiotargetver=target_ver1,target_ver2],
+[Target versions: Win8,Win8.1,Win10])],
+ [
+targetver=`echo "$withval" | tr -s , ' ' `
+for ver in $targetver; do
+case "$ver" in
+"Win8") VSTUDIO_WIN8=true ;;
+"Win8.1")  VSTUDIO_WIN8_1=true ;;
+"Win10") VSTUDIO_WIN10=true ;;
+*) AC_MSG_ERROR([No valid Visual Studio target version found]) 
;;
+esac
+done
+
+ ], [
+VSTUDIO_WIN8=true
+VSTUDIO_WIN8_1=true
+VSTUDIO_WIN10=true
+ ]
+  )
+
+  AM_CONDITIONAL([VSTUDIO_WIN8], [test -n "$VSTUDIO_WIN8"])
+  AM_CONDITIONAL([VSTUDIO_WIN8_1], [test -n "$VSTUDIO_WIN8_1"])
+  AM_CONDITIONAL([VSTUDIO_WIN10], [test -n "$VSTUDIO_WIN10"])
+
   AC_DEFINE([VSTUDIO_DDK], [1], [System uses the Visual Studio build target.])
   AM_CONDITIONAL([VSTUDIO_DDK], [test -n "$VSTUDIO_CONFIG"])
 ])
@@ -573,7 +599,7 @@ TEST_ATOMIC_TYPE(unsigned long long int);
 dnl OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(SIZE)
 dnl
 dnl Checks __atomic_always_lock_free(SIZE, 0)