tools/elfutils: add more pkg-config library info

In order for linking the static libraries from elfutils to work,
other libraries need to be included to handle the references
to functions made in the library's objects that are not included
as they would already be if the library was a shared object instead.

A shared object library stores this list of libraries when it was made,
so that the dynamic linker can refer to that list at runtime,
but a static library has no such functionality so the list of libraries
for missing functions must be included at link time.

This information was already added to the pc file for libelf
using the definitions in src/Makefile.am,
so extend this to the rest of the pc files in the project.

For situations where the libraries may be used
without pkg-config setting the flags and library list,
this patch and the pc files can serve as a quick reference.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/15690
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
Michael Pratt 2024-06-18 00:01:31 -04:00 committed by Robert Marko
parent e4fb7c9544
commit f560588b05

View File

@ -204,6 +204,26 @@
#include <libdw.h>
#include <dwarf.h>
--- a/config/libdebuginfod.pc.in
+++ b/config/libdebuginfod.pc.in
@@ -8,5 +8,5 @@ Description: elfutils library to query d
Version: @VERSION@
URL: http://elfutils.org/
-Libs: -L${libdir} -ldebuginfod
+Libs: -L${libdir} -ldebuginfod -lpthread
Cflags: -I${includedir}
--- a/config/libdw.pc.in
+++ b/config/libdw.pc.in
@@ -8,7 +8,7 @@ Description: elfutils library for DWARF
Version: @VERSION@
URL: http://elfutils.org/
-Libs: -L${libdir} -ldw
+Libs: -L${libdir} -ldw -lz -lelf -lz -ldl -lpthread
Cflags: -I${includedir}
# We need the exact matching elfutils libelf version since internal data
--- a/config/libelf.pc.in
+++ b/config/libelf.pc.in
@@ -8,7 +8,7 @@ Description: elfutils libelf library to