On Sat, Feb 03, 2018 at 01:46:34PM +0000, Andrew Rybchenko wrote: > From: Ivan Malov <ivan.ma...@oktetlabs.ru> > > Signed-off-by: Ivan Malov <ivan.ma...@oktetlabs.ru> > Signed-off-by: Andrew Rybchenko <arybche...@solarflare.com> > --- > v2: > - use includes to extend include directories set > - limit to x86 architecture > - specify include directories in base driver build > - remove unnecessary optimization level set and driver dir from includes > > drivers/net/meson.build | 2 +- > drivers/net/sfc/base/meson.build | 70 > ++++++++++++++++++++++++++++++++++++++++ > drivers/net/sfc/meson.build | 64 ++++++++++++++++++++++++++++++++++++ > 3 files changed, 135 insertions(+), 1 deletion(-) > create mode 100644 drivers/net/sfc/base/meson.build > create mode 100644 drivers/net/sfc/meson.build > Thanks, this looks a lot better.
Unfortunately, it still doesn't compile on ARM, though that is more an issue with the drivers/meson.build file, than a bug with your driver specifically. :-( Right now, the base code libraries are still compiled even when build = "false" because those targets are provided in the per-driver meson.build files, rather than managed at the top level one. To properly fix this, in 18.05 I think we should add support at the top-level driver file for base directories, since so many drivers use them. That will move the building of base code to the protection of "build" flag. However, since this set doesn't affect any other components, I'd like to get this into 18.02. To fix it, the following changes need to be made to your patch. If you are ok with these, I can add these changes on apply. Regards, /Bruce diff --git a/drivers/net/sfc/base/meson.build b/drivers/net/sfc/base/meson.build index f8314a9bc..f1e497356 100644 --- a/drivers/net/sfc/base/meson.build +++ b/drivers/net/sfc/base/meson.build @@ -62,9 +62,13 @@ foreach flag: extra_flags endif endforeach -base_lib = static_library('sfc_base', sources, - include_directories: includes, - dependencies: static_rte_eal, - c_args: c_args) +if build + base_lib = static_library('sfc_base', sources, + include_directories: includes, + dependencies: static_rte_eal, + c_args: c_args) -base_objs = base_lib.extract_all_objects() + base_objs = base_lib.extract_all_objects() +else + base_objs = [] +endif