[v2] mlx5: use pkg-config to handle SUSE libmnl
Checks
Commit Message
SUSE decided to install the libmnl include file in a non-standard
place: /usr/include/libmnl/libmnl/libmnl.h
This was probably a mistake by the SUSE package maintainer,
but hard to get fixed. Workaround the problem by pkg-config to find
the necessary include directive for libmnl.
Fixes: 20b71e92ef8e ("net/mlx5: lay groundwork for switch offloads")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
v2 - need --cflags not -cflags
drivers/net/mlx5/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Comments
On Thu, 2018-10-25 at 11:04 -0700, Stephen Hemminger wrote:
> SUSE decided to install the libmnl include file in a non-standard
> place: /usr/include/libmnl/libmnl/libmnl.h
>
> This was probably a mistake by the SUSE package maintainer,
> but hard to get fixed. Workaround the problem by pkg-config to find
> the necessary include directive for libmnl.
>
> Fixes: 20b71e92ef8e ("net/mlx5: lay groundwork for switch offloads")
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> v2 - need --cflags not -cflags
>
> drivers/net/mlx5/Makefile | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile
> index 1e9c0b42ac16..5b0be08ebb81 100644
> --- a/drivers/net/mlx5/Makefile
> +++ b/drivers/net/mlx5/Makefile
> @@ -51,6 +51,7 @@ CFLAGS += -D_DEFAULT_SOURCE
> CFLAGS += -D_XOPEN_SOURCE=600
> CFLAGS += $(WERROR_FLAGS)
> CFLAGS += -Wno-strict-prototypes
> +CFLAGS += $(pkg-config --cflags libmnl)
> ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DLOPEN_DEPS),y)
> CFLAGS += -DMLX5_GLUE='"$(LIB_GLUE)"'
> CFLAGS += -DMLX5_GLUE_VERSION='"$(LIB_GLUE_VERSION)"'
> @@ -59,7 +60,7 @@ LDLIBS += -ldl
> else
> LDLIBS += -libverbs -lmlx5
> endif
> -LDLIBS += -lmnl
> +LDLIBS += $(pkg-config --libs libmnl)
> LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
> LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
> LDLIBS += -lrte_bus_pci
Acked-by: Luca Boccassi <bluca@debian.org>
Here's the fix for the SUSE package (CC'ing Marco to make sure I got
the process right):
https://build.opensuse.org/request/show/644720
@@ -51,6 +51,7 @@ CFLAGS += -D_DEFAULT_SOURCE
CFLAGS += -D_XOPEN_SOURCE=600
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -Wno-strict-prototypes
+CFLAGS += $(pkg-config --cflags libmnl)
ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DLOPEN_DEPS),y)
CFLAGS += -DMLX5_GLUE='"$(LIB_GLUE)"'
CFLAGS += -DMLX5_GLUE_VERSION='"$(LIB_GLUE_VERSION)"'
@@ -59,7 +60,7 @@ LDLIBS += -ldl
else
LDLIBS += -libverbs -lmlx5
endif
-LDLIBS += -lmnl
+LDLIBS += $(pkg-config --libs libmnl)
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
LDLIBS += -lrte_bus_pci