From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pavan Nikhilesh Subject: Re: [PATCH v2] build: meson set toolchain info during config init Date: Tue, 3 Apr 2018 16:41:34 +0530 Message-ID: <20180403111133.GA11787@ltp-pvn> References: <20180402182823.30688-1-pbhagavatula@caviumnetworks.com> <20180403102110.9507-1-pbhagavatula@caviumnetworks.com> <20180403105524.GA3544@bricha3-MOBL.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org To: Bruce Richardson , thomas@monjalon.net, jerin.jacob@caviumnetworks.com Return-path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0085.outbound.protection.outlook.com [104.47.37.85]) by dpdk.org (Postfix) with ESMTP id AC0221AFF0 for ; Tue, 3 Apr 2018 13:11:56 +0200 (CEST) Content-Disposition: inline In-Reply-To: <20180403105524.GA3544@bricha3-MOBL.ger.corp.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" On Tue, Apr 03, 2018 at 11:55:24AM +0100, Bruce Richardson wrote: > On Tue, Apr 03, 2018 at 03:51:10PM +0530, Pavan Nikhilesh wrote: > > Meson set RTE_TOOLCHAIN to clang/gcc and set RTE_TOOLCHAIN_CLANG/GCC to > > 1 during initilizing dpdk_conf so that it can be used by both x86 and arm. > > > > Signed-off-by: Pavan Nikhilesh > > --- > > > > v2 Changes: > > - Use get_id for identifying compiler instead of checking for compiler defines > > manually.(Bruce) > > > > config/arm/meson.build | 9 --------- > > config/meson.build | 8 ++++++++ > > 2 files changed, 8 insertions(+), 9 deletions(-) > > > > diff --git a/config/arm/meson.build b/config/arm/meson.build > > index c1ab6ed01..e9c9eb1a5 100644 > > --- a/config/arm/meson.build > > +++ b/config/arm/meson.build > > @@ -83,15 +83,6 @@ impl_0x69 = ['Intel', flags_generic, machine_args_generic] > > impl_dpaa = ['NXP DPAA', flags_dpaa, machine_args_generic] > > impl_dpaa2 = ['NXP DPAA2', flags_dpaa2, machine_args_generic] > > > > - > > -if cc.get_define('__clang__') != '' > > - dpdk_conf.set_quoted('RTE_TOOLCHAIN', 'clang') > > - dpdk_conf.set('RTE_TOOLCHAIN_CLANG', 1) > > -else > > - dpdk_conf.set_quoted('RTE_TOOLCHAIN', 'gcc') > > - dpdk_conf.set('RTE_TOOLCHAIN_GCC', 1) > > -endif > > - > > dpdk_conf.set('RTE_FORCE_INTRINSICS', 1) > > > > if cc.sizeof('void *') != 8 > > diff --git a/config/meson.build b/config/meson.build > > index f8c67578d..b8f953b54 100644 > > --- a/config/meson.build > > +++ b/config/meson.build > > @@ -11,6 +11,14 @@ dpdk_conf.set('RTE_MACHINE', machine) > > machine_args = [] > > machine_args += '-march=' + machine > > > > +if cc.get_id() == 'clang' > > + dpdk_conf.set_quoted('RTE_TOOLCHAIN', 'clang') > > + dpdk_conf.set('RTE_TOOLCHAIN_CLANG', 1) > > +elif cc.get_id() == 'gcc' > > + dpdk_conf.set_quoted('RTE_TOOLCHAIN', 'gcc') > > + dpdk_conf.set('RTE_TOOLCHAIN_GCC', 1) > > +endif > > + > > What about: > toolchain = cc.get_id() > dpdk_conf.set_quoted('RTE_TOOLCHAIN', toolchain) > dpdk_conf.set('RTE_TOOLCHAIN_' + toolchain.to_upper()) > Agreed, will send out v3. > It will give the exact same result for GCC and CLANG and save us having to > update in future for other compilers. The one potential gotcha is that for > ICC, it's going to report "intel" instead of "icc". However, from use of > grep, it appears that we don't ever check for icc except in the makefiles, > so having it reported as "intel" for meson builds should not be a problem. > [If it is a problem later on we can always put in a special case: if > toolchain == 'intel'; toolchain = 'icc']. > > /Bruce