[dpdk-dev] Compiler for Windows

Thomas Monjalon thomas at monjalon.net
Wed Feb 13 17:11:12 CET 2019


Any update about the progress, please?
Do you have started a new branch?


30/01/2019 17:32, Menon, Ranjit:
> 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.

> From: Thomas Monjalon <thomas at monjalon.net> 
> Sent: Wednesday, January 30, 2019 6:21 AM
> To: 'Jason Messer' <jmesser at microsoft.com>; 'Harini Ramakrishnan' <harini.ramakrishnan at microsoft.com>; 'Omar Cardona' <ocardona at microsoft.com>; Menon, Ranjit <ranjit.menon at intel.com>
> Cc: dev at dpdk.org; Burakov, Anatoly <anatoly.burakov at intel.com>; Richardson, Bruce <bruce.richardson at intel.com>; Stephen Hemminger <stephen at networkplumber.org>; 'Mattias Rönnblom' <mattias.ronnblom at ericsson.com>; Shaw, Jeffrey B <jeffrey.b.shaw at intel.com>; techboard at 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.
> 
> 
> 







More information about the dev mailing list