| From d89fca062ba966332b573673fdd5c4cf01c3e2f5 Mon Sep 17 00:00:00 2001 |
| From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
| Date: Mon, 29 Dec 2014 15:32:08 +0100 |
| Subject: [PATCH 2/2] Add Libs.private field to libnftnl.pc |
| |
| Static linking userspace programs such as nftables against libnftnl |
| currently doesn't work out of the box, because libnftnl is linked |
| against libmnl, but this isn't expressed in libnftnl pkg-config |
| file: |
| |
| CCLD nft |
| [...]/bfin-buildroot-uclinux-uclibc/sysroot/usr/lib/libnftnl.a(table.o): In function `_nft_table_nlmsg_parse': |
| table.c:(.text+0x480): undefined reference to `_mnl_attr_parse' |
| table.c:(.text+0x492): undefined reference to `_mnl_attr_get_str' |
| table.c:(.text+0x4a8): undefined reference to `_mnl_attr_get_u32' |
| table.c:(.text+0x4ca): undefined reference to `_mnl_attr_get_u32' |
| [...] |
| |
| The Libs.private field is specifically designed for such usage: |
| |
| From pkg-config documentation: |
| |
| Libs.private: |
| |
| This line should list any private libraries in use. Private |
| libraries are libraries which are not exposed through your |
| library, but are needed in the case of static linking. |
| |
| Therefore, this patch adds a reference to libmnl in the Libs.private |
| field of libnftnl pkg-config file. |
| |
| Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
| --- |
| libnftnl.pc.in | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| diff --git a/libnftnl.pc.in b/libnftnl.pc.in |
| index fd5cc6a..7fef921 100644 |
| --- a/libnftnl.pc.in |
| +++ b/libnftnl.pc.in |
| @@ -12,4 +12,5 @@ Version: @VERSION@ |
| Requires: |
| Conflicts: |
| Libs: -L${libdir} -lnftnl |
| +Libs.private: @LIBMNL_LIBS@ |
| Cflags: -I${includedir} |
| -- |
| 2.1.0 |
| |