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 703261B2B3; Wed, 30 Jan 2019 15:21:36 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 10D41220BD; Wed, 30 Jan 2019 09:21:36 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Wed, 30 Jan 2019 09:21:36 -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=oc2dCSCQ1/Qf7PuU6Cc3qrVlCdkNNWk3++JVHikMhuA=; b=TfLSWsTbsZJh q0UwUeMtZluyp2HV5g0VlGuCTeucBwwXzvop/8pf29Xta5wILJUcerpjstjaP1+2 U89w+gvGODZK0YCvpf2i63GHmuhpAN2gPx6er/Lecl86QnjCBWJxEU//Ey5xJs/y WERM4xOCvvFU8jECdl2T8HIExqCHIuM= 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=oc2dCSCQ1/Qf7PuU6Cc3qrVlCdkNNWk3++JVHikMh uA=; b=nNer9K3yPzvI+95e3VtfOm9SBGcmPzA1mvUuQtrs1oeiKE6Nk0djqPDqc v8fp58c7pWXZF/C/zI3TSnZHmWROq6pQ4x26lQVCACqGjBimv8sJkIPbyRryWmoR a6q044gkWPGAjzm9ZCNQD8qfHAkDFX4GAhbMTCs/IH7CITIN2jgSo7YpW0OIvwoN EaYOYEjdI0w8dcuPv3qBvJX0VVTy+eud9SAvdJIhwpGZULK3XklCiqGVKR37s8M7 QAjSl3P/i5bRRCogWm1tmxLf9RZx+U5CFgIfuDtpZ/XEUMT9nFCvDjCNeoQfhJB7 ewaqSpNI1u2ytfum9wKcE706znSsg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedtledrjeeggdeifecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfhuthenuceurghilhhouhhtmecufedt tdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufffkfgjfh gggfgtsehtufertddttddvnecuhfhrohhmpefvhhhomhgrshcuofhonhhjrghlohhnuceo thhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecuffhomhgrihhnpehllhhvmhdroh hrghdpghhithhhuhgsrdgtohhmnecukfhppeejjedrudefiedrudeirdeltdenucfrrghr rghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvthenucevlh hushhtvghrufhiiigvpedt X-ME-Proxy: Received: from xps.localnet (90.16.136.77.rev.sfr.net [77.136.16.90]) by mail.messagingengine.com (Postfix) with ESMTPA id 1582F10315; Wed, 30 Jan 2019 09:21:31 -0500 (EST) From: Thomas Monjalon To: 'Jason Messer' , 'Harini Ramakrishnan' , 'Omar Cardona' , 'Ranjit Menon' Cc: dev@dpdk.org, "Burakov, Anatoly" , Bruce Richardson , Stephen Hemminger , 'Mattias =?ISO-8859-1?Q?R=F6nnblom=27?= , 'Jeff Shaw' , techboard@dpdk.org Date: Wed, 30 Jan 2019 15:21:28 +0100 Message-ID: <1697453.3RAGQi5EJb@xps> In-Reply-To: <0922dbbe-4d58-3bbb-b84e-1df70d504b76@intel.com> References: <7824863.MkUOD0j12R@xps> <24170945.hIekyy4cRm@xps> <0922dbbe-4d58-3bbb-b84e-1df70d504b76@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" 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: Wed, 30 Jan 2019 14:21:36 -0000 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.