[v4,0/6] mlx ibverbs linking in meson

Message ID 20200212015944.3037000-1-thomas@monjalon.net (mailing list archive)


Thomas Monjalon Feb. 12, 2020, 1:59 a.m. UTC
  This is the follow-up of the feature I added one year ago:
static linkage of libibverbs in mlx PMDs.
The first implementation was focused on "make".
This second round does the same with "meson".

With the meson option ibverbs_link, only the mode "shared"
was working correctly.
This patchset adds the mode "static" and fixes the mode "dlopen".

changes in v4:
- fix lib ordering
- simplify conditions by using subdir_done()

changes in v3:
- get cflags with pkg-config invocation
- drop addition of global variable hidden_deps
- remove overlinking in dlopen mode

changes in v2:
- split mlx patch for normal addition and workarounds
- fix ldflags for ibverbs installed in a standard directory
- fix libs order leading to undefined references
- add doc for hidden_deps
- improve explanations in commit logs

Thomas Monjalon (6):
  drivers: cleanup meson build variable
  net/mlx: add static ibverbs linkage with meson
  buildtools: get static mlx dependencies for meson
  net/mlx: workaround static linkage with meson
  net/mlx: rename meson variable for dlopen option
  net/mlx: fix overlinking with meson and glue dlopen

 buildtools/meson.build               |   2 +
 buildtools/options-ibverbs-static.sh |  11 +-
 doc/guides/nics/mlx4.rst             |   4 +
 doc/guides/nics/mlx5.rst             |   4 +
 drivers/common/mlx5/meson.build      | 314 ++++++++++++++-------------
 drivers/net/ipn3ke/meson.build       |  17 +-
 drivers/net/mlx4/meson.build         | 154 +++++++------
 drivers/raw/ifpga/meson.build        |  23 +-
 meson_options.txt                    |   4 +-
 9 files changed, 286 insertions(+), 247 deletions(-)