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

Bruce Richardson bruce.richardson at intel.com
Tue Apr 3 11:55:08 CEST 2018


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

Regards,
/Bruce


More information about the dev mailing list