[dpdk-dev] [PATCH 04/17] build: add DPDK libraries to build
Bruce Richardson
bruce.richardson at intel.com
Mon Sep 4 16:55:56 CEST 2017
On Mon, Sep 04, 2017 at 03:08:50PM +0100, Van Haaren, Harry wrote:
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Bruce Richardson
> > Sent: Friday, September 1, 2017 11:04 AM
> > To: dev at dpdk.org
> > Cc: Richardson, Bruce <bruce.richardson at intel.com>
> > Subject: [dpdk-dev] [PATCH 04/17] build: add DPDK libraries to build
> >
> > Add non-EAL libraries to DPDK build. The compat lib is a special case,
> > along with the previously-added EAL, but all other libs can be build using
> > the same set of commands, where the individual meson.build files only need
> > to specify their dependencies, source files, header files and ABI versions.
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
>
> <snip>
>
> In librte_acl/meson.build:
>
> > +version = 2
> > +sources = files('acl_bld.c', 'acl_gen.c', 'acl_run_scalar.c',
> > + 'rte_acl.c', 'tb_mem.c')
> > +headers = files('rte_acl.h', 'rte_acl_osdep.h')
> > +
> > +if arch_subdir == 'x86'
> > + sources += files('acl_run_sse.c')
> > +
> > + # compile AVX2 version if either:
> > + # a. we have AVX supported in minimum instruction set baseline
> > + # b. it's not minimum instruction set, but supported by compiler
> > + #
> > + # in former case, just add avx2 C file to files list
> > + # in latter case, compile c file to static lib, using correct compiler
> > + # flags, and then have the .o file from static lib linked into main lib.
> > + if dpdk_conf.has('RTE_MACHINE_CPUFLAG_AVX2')
> > + sources += files('acl_run_avx2.c')
> > + cflags += '-DCC_AVX2_SUPPORT'
> > + elif cc.has_argument('-mavx2')
> > + avx2_tmplib = static_library('avx2_tmp',
> > + 'acl_run_avx2.c',
> > + dependencies: rte_eal,
> > + c_args: '-mavx2')
> > + objs += avx2_tmplib.extract_objects('acl_run_avx2.c')
> > + cflags += '-DCC_AVX2_SUPPORT'
> > + endif
> > +
> > +endif
>
> In future this could be split out to some sort of AVX helper, to avoid it
> becoming copy/paste prone to detect AVX features from libraries.
>
We can indeed look at that in future, using native meson support I hope,
from the SIMD module: http://mesonbuild.com/Simd-module.html
Right now, though, I think this is the only place we need this, so it's
not an issue.
/Bruce
More information about the dev
mailing list