From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by dpdk.org (Postfix) with ESMTP id 1E1894CA6 for ; Wed, 6 Mar 2019 12:08:23 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 61C3D25856; Wed, 6 Mar 2019 06:08:22 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Wed, 06 Mar 2019 06:08:22 -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=VvogAZgt7sZi84HGakILvnOhQufzE5R6vDzQNYajbQk=; b=YrJoHR/C0TQG tWI1BijOPT/v7wiMlWY9WvVrAwdFHMDll1mPdYLEl8E/q2I7acakZl+EZZLJ1lM6 Pw6aE4uvHzWHq6+tp0QBNAfThB8y0nMldTcljzKt3m3TvfJ8i2YcFQ/OqgQz6RWm CdMgl5DBHwKGHm5BKsWk1bI64lzZwUc= 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=fm2; bh=VvogAZgt7sZi84HGakILvnOhQufzE5R6vDzQNYajb Qk=; b=4w0PXsdQ6hG0A5GvlK2EO4/XWix5PSDHQA2teoU1rqZ6HqeD9UQhYBjZx 5S9RW51NqKJT/TF8Ut96g6xR6VD1KszD3sTCXTFGvlqft3M0LOLrATFiZyd4Fg0x dEkmRSprDNrTeSgCZblzMBAqJNOBi6DBmGJ2VHeiqjyHDIv8WuVKKzpTgh7u8/nW 4LTfKBbbrWSzV17pXtXY4bGlKwiKNWcl4bEzhZNQppCwzJSxy627sMaIl1gWho6i 61/x6KYM06j8F7rCwlvgVHqVgx9nppCog4bCx/6I8sIeL6N5cirDbEADlBGXazb2 UI251Dc3UeAFLGGrJtcpZ/d56eCwg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedutddrfeehgddvhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhmrghs ucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucfkph epjeejrddufeegrddvtdefrddukeegnecurfgrrhgrmhepmhgrihhlfhhrohhmpehthhho mhgrshesmhhonhhjrghlohhnrdhnvghtnecuvehluhhsthgvrhfuihiivgeptd 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 0F11A10310; Wed, 6 Mar 2019 06:08:20 -0500 (EST) From: Thomas Monjalon To: Anand Rawat Cc: dev@dpdk.org, pallavi.kadam@intel.com, ranjit.menon@intel.com, jeffrey.b.shaw@intel.com Date: Wed, 06 Mar 2019 11:03:24 +0100 Message-ID: <37871127.gZq9nUeyVu@xps> In-Reply-To: <20190306041634.12976-2-anand.rawat@intel.com> References: <20190306041634.12976-1-anand.rawat@intel.com> <20190306041634.12976-2-anand.rawat@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH v2 1/6] eal: eal stub to add windows support 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, 06 Mar 2019 11:08:23 -0000 Hi, 06/03/2019 05:16, Anand Rawat: > -# some libs depend on maths lib > -add_project_link_arguments('-lm', language: 'c') > -dpdk_extra_ldflags += '-lm' > +if cc.find_library('lm', required : false).found() > + # some libs depend on maths lib > + add_project_link_arguments('-lm', language: 'c') > + dpdk_extra_ldflags += '-lm' > +endif Either libmath is required or not. I don't think it can be optional. Why is it changed? > # get binutils version for the workaround of Bug 97 > -ldver = run_command('ld', '-v').stdout().strip() > -if ldver.contains('2.30') > - if cc.has_argument('-mno-avx512f') > - march_opt += '-mno-avx512f' > - message('Binutils 2.30 detected, disabling AVX512 support as workaround for bug #97') > +if host_machine.system() != 'windows' > + ldver = run_command('ld', '-v').stdout().strip() > + if ldver.contains('2.30') > + if cc.has_argument('-mno-avx512f') > + march_opt += '-mno-avx512f' > + message('Binutils 2.30 detected, disabling AVX512 support as workaround for bug #97') > + endif > endif > endif Same comment as in v1, you should check which linker is used. This check is only for GNU ld 2.30. > +if host_machine.system() != 'windows' > + common_sources = files( The definitive solution should be to compile all common EAL files. Please explain what are the issues in the common files. I think we should not remove them and fix them one by one. You could provide a separate patch to skip some files for making helloworld working. > -subdir(join_paths('arch', arch_subdir)) > + > +common_headers += files('include/rte_common.h') > +if host_machine.system() != 'windows' > + subdir(join_paths('arch', arch_subdir)) > +endif Same comment as above, it should not be changed. > -common_headers = files( > +common_headers += files( > 'include/rte_alarm.h', > 'include/rte_branch_prediction.h', > 'include/rte_bus.h', > 'include/rte_bitmap.h', > 'include/rte_class.h', > - 'include/rte_common.h', Why rte_common.h is moved first in the list? > -deps += 'kvargs' > +if host_machine.system() != 'windows' > + deps += 'kvargs' > +endif Why kvargs is removed? > --- /dev/null > +++ b/lib/librte_eal/windows/eal/eal_lcore.c > + /* Get the cpu core id value */ > +unsigned int > +eal_cpu_core_id(unsigned int lcore_id) > +{ > + return lcore_id; > +} For this function and the others in this file, please add a comment explaining this is a stub, not the expected result. You can add a TODO or FIXME tag. > --- a/lib/meson.build > +++ b/lib/meson.build > +if host_machine.system() == 'windows' > + libraries = ['eal'] # override libraries for windows > +endif Instead of simply "override", you could explain that the other libraries are not yet supported on Windows. > --- a/meson.build > +++ b/meson.build > -# build libs and drivers > +# build libs > subdir('lib') > -subdir('buildtools') > -subdir('drivers') > > -# build binaries and installable tools > -subdir('usertools') > -subdir('app') > +if host_machine.system() != 'windows' > + # build buildtools and drivers > + subdir('buildtools') > + subdir('drivers') > > -# build docs > -subdir('doc') > + # build binaries and installable tools > + subdir('usertools') > + subdir('app') > + subdir('test') > + > + # build kernel modules if enabled > + if get_option('enable_kmods') > + subdir('kernel') > + endif > + > + # build docs > + subdir('doc') > +endif I don't like modifying this file. Can we skip not supported directories inside the sub meson files?