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.me...@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 <tho...@monjalon.net> > > Sent: Wednesday, January 30, 2019 6:21 AM > > To: 'Jason Messer' <jmes...@microsoft.com>; 'Harini Ramakrishnan' > > <harini.ramakrish...@microsoft.com>; 'Omar Cardona' > > <ocard...@microsoft.com>; Menon, Ranjit <ranjit.me...@intel.com> > > Cc: dev@dpdk.org; Burakov, Anatoly <anatoly.bura...@intel.com>; Richardson, > > Bruce <bruce.richard...@intel.com>; Stephen Hemminger > > <step...@networkplumber.org>; 'Mattias Rönnblom' > > <mattias.ronnb...@ericsson.com>; Shaw, Jeffrey B > > <jeffrey.b.s...@intel.com>; techbo...@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. > > > > >