DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: "Wiles, Keith" <keith.wiles@intel.com>
Cc: "Menon, Ranjit" <ranjit.menon@intel.com>,
	"Jason Messer" <jmesser@microsoft.com>,
	"Harini Ramakrishnan" <harini.ramakrishnan@microsoft.com>,
	"Omar Cardona" <ocardona@microsoft.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"Burakov, Anatoly" <anatoly.burakov@intel.com>,
	"Richardson, Bruce" <bruce.richardson@intel.com>,
	"Stephen Hemminger" <stephen@networkplumber.org>,
	"Mattias Rönnblom" <mattias.ronnblom@ericsson.com>,
	"Shaw, Jeffrey B" <jeffrey.b.shaw@intel.com>,
	"techboard@dpdk.org" <techboard@dpdk.org>
Subject: Re: [dpdk-dev] Compiler for Windows
Date: Thu, 31 Jan 2019 18:36:20 +0100	[thread overview]
Message-ID: <36880913.VOJAp5zd9b@xps> (raw)
In-Reply-To: <FE324FB1-F011-4D67-ADF7-AFBE311BFCAC@intel.com>

31/01/2019 18:12, Wiles, Keith:
> Sorry I have to top post. I had surgery on my shoulder so I’m doing this from my phone. 
> 
> Why does the windows Eal directory have to be a stub? 

It is just a first step to validate the compilation of existing code
in Windows environment without the new Windows code.

> Normally the port must use a separate directory for different architecture. In this case it is the windows architecture which should have all of the changes required for windows and not modify Linux or BSD.

Yes I agree. This is the step 5 below:
5/ EAL for Windows can be completed with real code


> > On Jan 30, 2019, at 10:32 AM, Menon, Ranjit <ranjit.menon@intel.com> wrote:
> > 
> > Thank you for the direction, Thomas and Tech Board members.
> > 
> > If clang-win64 has support for GCC extensions (__attribute(constructor/align/etc...)), then the changes to common DPDK code should be minimal. Also, Jeff got meson to output VS project files to compile with MSVC - we'll just need to make sure that they can compile with clang-win64. Thanks, Bruce for helping us out here.
> > 
> > ranjit m.
> > 
> > -----Original Message-----
> > From: Thomas Monjalon <thomas@monjalon.net> 
> > Sent: Wednesday, January 30, 2019 6:21 AM
> > To: 'Jason Messer' <jmesser@microsoft.com>; 'Harini Ramakrishnan' <harini.ramakrishnan@microsoft.com>; 'Omar Cardona' <ocardona@microsoft.com>; Menon, Ranjit <ranjit.menon@intel.com>
> > Cc: dev@dpdk.org; Burakov, Anatoly <anatoly.burakov@intel.com>; Richardson, Bruce <bruce.richardson@intel.com>; Stephen Hemminger <stephen@networkplumber.org>; 'Mattias Rönnblom' <mattias.ronnblom@ericsson.com>; Shaw, Jeffrey B <jeffrey.b.shaw@intel.com>; techboard@dpdk.org
> > Subject: Re: [dpdk-dev] Compiler for Windows
> > 
> > 08/01/2019 11:24, Burakov, Anatoly:
> >>> On 07-Jan-19 5:08 PM, Thomas Monjalon wrote:
> >>> 07/01/2019 18:00, Bruce Richardson:
> >>>> I think for windows we probably want to start with the MS compiler 
> >>>> first, since from my understanding it's probably the default go-to 
> >>>> compiler for developers on windows, and look at alternatives from there.
> >>> 
> >>> Not sure. I feel clang is a better option.
> >>> This is the purpose of this thread: which compiler can work with the 
> >>> DPDK code base? Which modifications of code are acceptable?
> >>> 
> >>> Unfortunately we lost my original attempt of getting some facts.
> >> 
> >> i'm developing on a Windows machine, and use clang as code analyzer. 
> >> so while the compiling and linking may take some effort, the bulk of 
> >> it appears to be working without too much complaints from clang. it's 
> >> easy to install as well - just install LLVM and you're good to go.
> > 
> > This discussion continued in a private thread (for no good reason).
> > Let's conclude here publicly.
> > 
> > About the compiler,
> >    - cygwin is not native -> no go
> >    - mingw-w64 (latest) brings a specific DLL -> one more unknown piece
> >    - icc is not free -> no go
> >    - msvc supports not all C99 and GNU extensions -> difficult to support
> >    - clang is now native on Windows -> best choice
> >      http://releases.llvm.org/7.0.1/LLVM-7.0.1-win64.exe
> > 
> > About the build system,
> >    - DPDK makefiles are not Windows-friendly and will be removed
> >    - meson is supported on Windows and can generate VS project
> >      https://github.com/mesonbuild/meson/releases/download/0.49.1/meson-0.49.1-64.msi
> > 
> > About the Linux/BSD code,
> >    - we can use some #ifdef
> >    - most of the specific code should be in EAL
> >    - it must be tried to share a maximum of common code
> > 
> > About the steps,
> >    1/ meson files must be prepared for Windows target
> >    2/ EAL for Windows must be an empty stub first
> >    3/ The core libraries must compile with meson+clang
> >    4/ Documentation for Windows must be started
> >    5/ EAL for Windows can be completed with real code
> >    6/ PMDs can be tested on Windows
> >    7/ Examples should compile on Windows
> > 
> > Please restart from a fresh 19.02 branch in the draft repository and submit the steps one by one on the mailing list.
> > We need to validate the steps and approve the choices.
> > If some choices are done, they must be explained in the commit logs.
> > The commits must be small enough to be reviewed.
> > If some issues are encountered, we'll fix them as a community.
> > 
> > Thanks for facilitating community adoption of Windows port.
> > 
> > 
> 

  reply	other threads:[~2019-01-31 17:36 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-02 22:45 Thomas Monjalon
2019-01-03  6:33 ` Stephen Hemminger
2019-01-03 17:10   ` Jason Messer
2019-01-03 17:32     ` Thomas Monjalon
2019-01-03 22:46     ` Wiles, Keith
2019-01-07 10:56   ` Burakov, Anatoly
2019-01-07 15:51     ` Stephen Hemminger
2019-01-07 16:15       ` Bruce Richardson
2019-01-07 16:29         ` Burakov, Anatoly
2019-01-07 16:51           ` Stephen Hemminger
2019-01-07 17:00             ` Bruce Richardson
2019-01-07 17:08               ` Thomas Monjalon
2019-01-08 10:24                 ` Burakov, Anatoly
2019-01-30 14:21                   ` Thomas Monjalon
2019-01-30 16:32                     ` Menon, Ranjit
2019-01-31 17:12                       ` Wiles, Keith
2019-01-31 17:36                         ` Thomas Monjalon [this message]
2019-01-31 17:48                           ` Wiles, Keith
2019-02-13 16:11                       ` Thomas Monjalon
2019-02-13 16:35                         ` Menon, Ranjit
2019-01-08 12:51               ` Morten Brørup
2019-01-08 14:10                 ` Mattias Rönnblom
2019-01-07 17:00             ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=36880913.VOJAp5zd9b@xps \
    --to=thomas@monjalon.net \
    --cc=anatoly.burakov@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=harini.ramakrishnan@microsoft.com \
    --cc=jeffrey.b.shaw@intel.com \
    --cc=jmesser@microsoft.com \
    --cc=keith.wiles@intel.com \
    --cc=mattias.ronnblom@ericsson.com \
    --cc=ocardona@microsoft.com \
    --cc=ranjit.menon@intel.com \
    --cc=stephen@networkplumber.org \
    --cc=techboard@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).