From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 6BA181B464; Thu, 31 Jan 2019 18:12:26 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Jan 2019 09:12:25 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,545,1539673200"; d="scan'208";a="111392024" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga007.jf.intel.com with ESMTP; 31 Jan 2019 09:12:24 -0800 Received: from fmsmsx126.amr.corp.intel.com (10.18.125.43) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 31 Jan 2019 09:12:24 -0800 Received: from fmsmsx117.amr.corp.intel.com ([169.254.3.160]) by FMSMSX126.amr.corp.intel.com ([169.254.1.70]) with mapi id 14.03.0415.000; Thu, 31 Jan 2019 09:12:23 -0800 From: "Wiles, Keith" To: "Menon, Ranjit" CC: Thomas Monjalon , Jason Messer , Harini Ramakrishnan , Omar Cardona , "dev@dpdk.org" , "Burakov, Anatoly" , "Richardson, Bruce" , Stephen Hemminger , =?Windows-1252?Q?Mattias_R=F6nnblom?= , "Shaw, Jeffrey B" , "techboard@dpdk.org" Thread-Topic: [dpdk-dev] Compiler for Windows Thread-Index: AQHUouztTEDGaeDZnky+KhBXWHLa2aWdnJ2AgAaTD4CAAFJVAIAABrKAgAAD3YCAAAYmgIAAAoAAgAACQwCAASFxgIAi1YUAgAAknoCAARdcbg== Date: Thu, 31 Jan 2019 17:12:23 +0000 Message-ID: References: <7824863.MkUOD0j12R@xps> <24170945.hIekyy4cRm@xps> <0922dbbe-4d58-3bbb-b84e-1df70d504b76@intel.com> <1697453.3RAGQi5EJb@xps>, <7603DC8746F9FC4D82EF0929C467267A72BF89A7@ORSMSX110.amr.corp.intel.com> In-Reply-To: <7603DC8746F9FC4D82EF0929C467267A72BF89A7@ORSMSX110.amr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 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:12:27 -0000 Sorry I have to top post. I had surgery on my shoulder so I=92m doing this = from my phone.=20 Why does the windows Eal directory have to be a stub?=20 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 c= hanges required for windows and not modify Linux or BSD.=20 Sent from my iPhone > On Jan 30, 2019, at 10:32 AM, Menon, Ranjit wrot= e: >=20 > Thank you for the direction, Thomas and Tech Board members. >=20 > If clang-win64 has support for GCC extensions (__attribute(constructor/al= ign/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 jus= t need to make sure that they can compile with clang-win64. Thanks, Bruce f= or 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' ; Meno= n, Ranjit > Cc: dev@dpdk.org; Burakov, Anatoly ; Richardso= n, Bruce ; Stephen Hemminger ; 'Mattias R=F6nnblom' ; Shaw, Jef= frey 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 ther= e. >>>=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 support > - 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-0= .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 subm= it 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