From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v5 4/8] eal: sys/queue.h implementation for windows Date: Tue, 26 Mar 2019 22:47:54 +0100 Message-ID: <5081191.FUufC16Il9@xps> References: <20190306041634.12976-1-anand.rawat@intel.com> <5731264.uOF5Ix2MiQ@xps> <20190326211428.GA86003@ae13-28.jf.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: Stephen Hemminger , Anand Rawat , dev@dpdk.org, pallavi.kadam@intel.com, ranjit.menon@intel.com, bruce.richardson@intel.com To: Jeff Shaw Return-path: Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com [64.147.123.24]) by dpdk.org (Postfix) with ESMTP id 48FEC1B479 for ; Tue, 26 Mar 2019 22:48:00 +0100 (CET) In-Reply-To: <20190326211428.GA86003@ae13-28.jf.intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 26/03/2019 22:14, Jeff Shaw: > On Tue, Mar 26, 2019 at 09:52:57PM +0100, Thomas Monjalon wrote: > > Even better would be to get it as a dependency outside of DPDK. > > Where this code come from? > > How other projects on Windows get it? > > It comes from FreeBSD 12.0, specifically > https://github.com/freebsd/freebsd/blob/releng/12.0/sys/sys/queue.h > > It has been modified such that only the parts used by DPDK (i.e. TAILQ) are > implemented. The other stuff has been deleted. Windows does not have sys/queue.h, > so we reproduce it here. > > Would it better to have this as a dependency outside of DPDK? I think pulling a file > from the internet and applying a patch (where we'd have to maintain a patch file > inside of DPDK's repo anyway) would be overkill when we just need a few lines of > code that will change very infrequently. We already try to get the libbsd dependency on Linux. Why not mandate libbsd for Windows? It has this header file and a lot more: https://gitlab.freedesktop.org/libbsd/libbsd/blob/master/include/bsd/sys/queue.h Relying on libbsd may avoid copying other files for Windows port.