[dpdk-dev] [PATCH] build: meson set toolchain info during config init

Pavan Nikhilesh pbhagavatula at caviumnetworks.com
Tue Apr 3 12:07:56 CEST 2018


On Tue, Apr 03, 2018 at 10:55:08AM +0100, Bruce Richardson wrote:
> On Mon, Apr 02, 2018 at 11:58:23PM +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 <pbhagavatula at caviumnetworks.com>
> > ---
> >  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..5994d7b7b 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_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
> > +
>
> Never thought to look this up on the original patchset, but looking at the
> meson docs, the compiler object already had a "get_id" method to identify
> the compiler. We can use it rather than use checking for explicit defines
> ourselves.  Using get_id() also allows us to identify icc and possibly
> visual studio compiler for future windows compilation too.
>
> http://mesonbuild.com/Reference-tables.html#compiler-ids

Good point will send v2 using get_id and multiple checks instead of else
so that we can extend it in future.

>
> Regards,
> /Bruce

Thanks,
Pavan.


More information about the dev mailing list