[dpdk-dev] Compiler for Windows
Wiles, Keith
keith.wiles at intel.com
Thu Jan 31 18:48:25 CET 2019
OK just seems like an unnecessary step to me.
Sent from my iPhone
> On Jan 31, 2019, at 11:36 AM, Thomas Monjalon <thomas at monjalon.net> wrote:
>
> 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 at 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 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