From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 32F4AA05D3 for ; Tue, 26 Mar 2019 23:36:35 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E1A7A1B3D7; Tue, 26 Mar 2019 23:36:33 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id BE1D91B1EE for ; Tue, 26 Mar 2019 23:36:32 +0100 (CET) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Mar 2019 15:36:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,274,1549958400"; d="scan'208";a="330948575" Received: from ae13-28.jf.intel.com ([10.166.188.62]) by fmsmga006.fm.intel.com with ESMTP; 26 Mar 2019 15:36:31 -0700 Date: Tue, 26 Mar 2019 15:34:06 -0700 From: Jeff Shaw To: Thomas Monjalon Cc: Jeff Shaw , Stephen Hemminger , Anand Rawat , dev@dpdk.org, pallavi.kadam@intel.com, ranjit.menon@intel.com, bruce.richardson@intel.com Message-ID: <20190326223406.GA86204@ae13-28.jf.intel.com> References: <20190306041634.12976-1-anand.rawat@intel.com> <5081191.FUufC16Il9@xps> <20190326215441.GA86100@ae13-28.jf.intel.com> <12533294.MXuU50Ibyh@xps> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline In-Reply-To: <12533294.MXuU50Ibyh@xps> User-Agent: Mutt/1.9.2 (2017-12-15) Subject: Re: [dpdk-dev] [PATCH v5 4/8] eal: sys/queue.h implementation 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190326223406.YOfvgRJAmkvV4KOHn0pMa6QybOG6nnWYgzMfDDGAL7M@z> On Tue, Mar 26, 2019 at 11:23:50PM +0100, Thomas Monjalon wrote: > 26/03/2019 22:54, Jeff Shaw: > > On Tue, Mar 26, 2019 at 10:47:54PM +0100, Thomas Monjalon wrote: > > > 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. > > > > I like that idea, though it doesn't look like libbsd builds on Windows, do you > > know of a Windows version or one that doesn't depend on autotools to build? > > It seems libbsd is not packaged for Windows. > May be worth to ask opinions to libbsd maintainers. > > Please could you list which other headers are required for the Windows port? For helloworld the only one is sys/queue.h. The dpdk-draft-windows repo has at least these (non-empty) ones: dirent.h getopt.h net/ethernet.h net/socket.h netinet/in.h netinet/tcp.h pthread.h rand48.h sched.h sys/_iovec.h sys/_sockaddr_storage.h sys/_termios.h sys/_types.h sys/cdefs.h sys/mman.h sys/netbsd/queue.h sys/queue.h sys/sysctl.h syslog.h termios.h unistd.h There will likely be more as more libraries are identified with dependencies on UNIX-like headers.