From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id E311C5F20; Thu, 31 Jan 2019 18:36:23 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 834D2220B8; Thu, 31 Jan 2019 12:36:23 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Thu, 31 Jan 2019 12:36:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s=mesmtp; bh=Ih9ctSH5VQ/iAbasq/hqC27FkQBjkKEN4npz7wSchS8=; b=GftQzPPxHNmE Gi08+5tYOzF2PDLJk2tI6T5+LAXfgFoDArHKW2ZmYDFO2HdMpTzA9puYAZa12Prl Qifck3x+JkS76NEunONo/KuBZQo3yCcjQPNJgUv81c4IMhDekVDlur9Y++J1PtM7 HTesL2PQvEobZ+Dyu8AdBNtCZ1YW/mU= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=Ih9ctSH5VQ/iAbasq/hqC27FkQBjkKEN4npz7wSch S8=; b=S+7nVFwCm2TjnE5YEi61UgdD3+toJ25HgBfXaFM2N5KUZrGOf/PisvgoJ A+VkhdSWmRH+yxaFVqebl195AEOQa85lD+vqP6Z8mcEpF6nPlSwaRiPxVLXKDSKU LvAj1t48bkoKSvROML+slq4Ay2Tf1yBZSOyRuliy/AaPwkeAFm+2sdjc2vun1kT6 geWeeMGKGsGnECQuB1bXPQbRLH53eSuLCfgGFlMHOnEpZYMICAmHsPu3qa/NIV7V OeIcre1eA2LakKJ41WnRJKYaYyYmA+1uDc6pubhcIp0Mfo7Qhi4vdoDBWEFVB5Hs +AA/hQ3ZHFLZfyWbcJWO3BkiEE0Gw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedtledrjeeigddutdegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfquhhtnecuuegrihhlohhuthemucef tddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffufffkjg hfggfgtgesthhqredttddtjeenucfhrhhomhepvfhhohhmrghsucfoohhnjhgrlhhonhcu oehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucffohhmrghinheplhhlvhhmrd horhhgpdhgihhthhhusgdrtghomhenucfkphepjeejrddufeegrddvtdefrddukeegnecu rfgrrhgrmhepmhgrihhlfhhrohhmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtne cuvehluhhsthgvrhfuihiivgeptd X-ME-Proxy: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 59FE310086; Thu, 31 Jan 2019 12:36:21 -0500 (EST) From: Thomas Monjalon To: "Wiles, Keith" Cc: "Menon, Ranjit" , Jason Messer , Harini Ramakrishnan , Omar Cardona , "dev@dpdk.org" , "Burakov, Anatoly" , "Richardson, Bruce" , Stephen Hemminger , Mattias =?ISO-8859-1?Q?R=F6nnblom?= , "Shaw, Jeffrey B" , "techboard@dpdk.org" Date: Thu, 31 Jan 2019 18:36:20 +0100 Message-ID: <36880913.VOJAp5zd9b@xps> In-Reply-To: References: <7824863.MkUOD0j12R@xps> <7603DC8746F9FC4D82EF0929C467267A72BF89A7@ORSMSX110.amr.corp.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] Compiler for Windows X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Jan 2019 17:36:24 -0000 31/01/2019 18:12, Wiles, Keith: > Sorry I have to top post. I had surgery on my shoulder so I=E2=80=99m doi= ng this from my phone.=20 >=20 > Why does the windows Eal directory have to be a stub?=20 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 architectur= e. 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 wr= ote: > >=20 > > Thank you for the direction, Thomas and Tech Board members. > >=20 > > If clang-win64 has support for GCC extensions (__attribute(constructor/= align/etc...)), then the changes to common DPDK code should be minimal. Als= o, Jeff got meson to output VS project files to compile with MSVC - we'll j= ust need to make sure that they can compile with clang-win64. Thanks, Bruce= for helping us out here. > >=20 > > ranjit m. > >=20 > > -----Original Message----- > > From: Thomas Monjalon =20 > > Sent: Wednesday, January 30, 2019 6:21 AM > > To: 'Jason Messer' ; 'Harini Ramakrishnan' ; 'Omar Cardona' ; Me= non, Ranjit > > Cc: dev@dpdk.org; Burakov, Anatoly ; Richard= son, Bruce ; Stephen Hemminger ; 'Mattias R=C3=B6nnblom' ; Shaw= , Jeffrey B ; techboard@dpdk.org > > Subject: Re: [dpdk-dev] Compiler for Windows > >=20 > > 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=20 > >>>> first, since from my understanding it's probably the default go-to=20 > >>>> compiler for developers on windows, and look at alternatives from th= ere. > >>>=20 > >>> Not sure. I feel clang is a better option. > >>> This is the purpose of this thread: which compiler can work with the= =20 > >>> DPDK code base? Which modifications of code are acceptable? > >>>=20 > >>> Unfortunately we lost my original attempt of getting some facts. > >>=20 > >> i'm developing on a Windows machine, and use clang as code analyzer.=20 > >> so while the compiling and linking may take some effort, the bulk of=20 > >> it appears to be working without too much complaints from clang. it's= =20 > >> easy to install as well - just install LLVM and you're good to go. > >=20 > > This discussion continued in a private thread (for no good reason). > > Let's conclude here publicly. > >=20 > > 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 suppo= rt > > - clang is now native on Windows -> best choice > > http://releases.llvm.org/7.0.1/LLVM-7.0.1-win64.exe > >=20 > > 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= =2D0.49.1-64.msi > >=20 > > 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 > >=20 > > 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 > >=20 > > Please restart from a fresh 19.02 branch in the draft repository and su= bmit 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. > >=20 > > Thanks for facilitating community adoption of Windows port. > >=20 > >=20 >=20