From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH 1/6] eal: eal stub to add windows support Date: Fri, 01 Mar 2019 15:03:02 +0100 Message-ID: <1633455.prhy9BIAj0@xps> References: <20190301071847.13376-1-anand.rawat@intel.com> <20190301071847.13376-2-anand.rawat@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, pallavi.kadam@intel.com, jeffrey.b.shaw@intel.com, ranjit.menon@intel.com, bruce.richardson@intel.com To: Anand Rawat Return-path: Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by dpdk.org (Postfix) with ESMTP id D53892C0C for ; Fri, 1 Mar 2019 15:03:07 +0100 (CET) In-Reply-To: <20190301071847.13376-2-anand.rawat@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" 01/03/2019 08:18, Anand Rawat: > Added initial stub source files for windows support and meson > changes to build them. Thanks for sending some new patches based on meson. Let's start review with some simple considerations. > Signed-off-by: Anand Rawat > Signed-off-by: Kadam, Pallavi Please avoid comma in names. I think the right name is Pallavi Kadam? > Reviewed-by: Jeffrey B Shaw > Reviewed-by: Ranjit Menon Please make sure everybody involved here is in Cc of the emails. Git should add them automatically. Please add me as Cc of next versions. I'm interested in the start of the Windows port. Thanks [...] > -# Copyright(c) 2017 Intel Corporation > +# Copyright(c) 2019 Intel Corporation I'm not sure you need to update the dates. In case you need to, you should probably keep the original date. > -# use pthreads > -add_project_link_arguments('-pthread', language: 'c') > -dpdk_extra_ldflags += '-pthread' > +if host_machine.system() != 'windows' > + # use pthreads > + add_project_link_arguments('-pthread', language: 'c') > + dpdk_extra_ldflags += '-pthread' Why pthreads is not used in Windows? > -# some libs depend on maths lib > -add_project_link_arguments('-lm', language: 'c') > -dpdk_extra_ldflags += '-lm' > + # some libs depend on maths lib > + add_project_link_arguments('-lm', language: 'c') > + dpdk_extra_ldflags += '-lm' > +endif Why libmath is not used? > # 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' The real fix should be to check which linker is selected by meson. > + 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 [...] > --- a/lib/librte_eal/common/include/arch/x86/meson.build > +++ b/lib/librte_eal/common/include/arch/x86/meson.build > -install_headers( > - 'rte_atomic_32.h', > - 'rte_atomic_64.h', > - 'rte_atomic.h', > - 'rte_byteorder_32.h', > - 'rte_byteorder_64.h', > - 'rte_byteorder.h', > - 'rte_cpuflags.h', > - 'rte_cycles.h', > - 'rte_io.h', > - 'rte_memcpy.h', > - 'rte_prefetch.h', > - 'rte_pause.h', > - 'rte_rtm.h', > - 'rte_rwlock.h', > - 'rte_spinlock.h', > - 'rte_vect.h', > - subdir: get_option('include_subdir_arch')) > +if host_machine.system() != 'windows' > + install_headers( > + 'rte_atomic_32.h', > + 'rte_atomic_64.h', > + 'rte_atomic.h', > + 'rte_byteorder_32.h', > + 'rte_byteorder_64.h', > + 'rte_byteorder.h', > + 'rte_cpuflags.h', > + 'rte_cycles.h', > + 'rte_io.h', > + 'rte_memcpy.h', > + 'rte_prefetch.h', > + 'rte_pause.h', > + 'rte_rtm.h', > + 'rte_rwlock.h', > + 'rte_spinlock.h', > + 'rte_vect.h', > + subdir: get_option('include_subdir_arch') > + ) > +endif The headers should not be different for Windows. NACK for this part. [...] > @@ -17,13 +17,19 @@ elif host_machine.system() == 'freebsd' > dpdk_conf.set('RTE_EXEC_ENV_BSDAPP', 1) > subdir('bsdapp/eal') > > +elif host_machine.system() == 'windows' > + dpdk_conf.set('RTE_EXEC_ENV_WINDOWS', 1) For consistency, it should RTE_EXEC_ENV_WINAPP. > + subdir('winapp/eal') > +