libpcap: add pkg-config support

libpcap was not previously installing a pkg-config file.  Add a basic one
that will allow using 'pkg-config --libs libpcap', for example, in recipes
rather than 'pcap-config', which frequently returns incorrect information.

(From OE-Core rev: 0f51c1260ac53aa4843e29b00cd600eb64074260)

Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joe MacDonald 2015-02-24 23:39:01 -05:00 committed by Richard Purdie
parent 7ce7756adf
commit de638414f7
3 changed files with 77 additions and 2 deletions

View File

@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=1d4b0366557951c84a94fabe3529f867 \
file://pcap.h;beginline=1;endline=32;md5=39af3510e011f34b8872f120b1dc31d2"
DEPENDS = "flex-native bison-native"
inherit bluetooth
inherit bluetooth pkgconfig
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}"
PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4"

View File

@ -0,0 +1,71 @@
From 8887132e85892a72a84ca3878e60f254ad2ce939 Mon Sep 17 00:00:00 2001
From: Joe MacDonald <joe_macdonald@mentor.com>
Date: Tue, 24 Feb 2015 15:56:06 -0500
Subject: [PATCH] libpcap: pkgconfig support
Adding basic structure to support pkg-config.
Upstream-status: Inappropriate [embedded specific]
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
---
Makefile.in | 5 +++++
configure.in | 1 +
libpcap.pc.in | 10 ++++++++++
3 files changed, 16 insertions(+)
create mode 100644 libpcap.pc.in
diff --git a/Makefile.in b/Makefile.in
index 1c2d745..1f25faf 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -60,6 +60,10 @@ V_RPATH_OPT = @V_RPATH_OPT@
DEPENDENCY_CFLAG = @DEPENDENCY_CFLAG@
PROG=libpcap
+# pkgconfig support
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libpcap.pc
+
# Standard CFLAGS
FULL_CFLAGS = $(CCOPT) $(INCLS) $(DEFS) $(CFLAGS)
@@ -275,6 +279,7 @@ EXTRA_DIST = \
lbl/os-solaris2.h \
lbl/os-sunos4.h \
lbl/os-ultrix4.h \
+ libpcap.pc \
missing/snprintf.c \
mkdep \
msdos/bin2c.c \
diff --git a/configure.in b/configure.in
index 8f5c86b..fb51b35 100644
--- a/configure.in
+++ b/configure.in
@@ -1700,6 +1700,7 @@ esac
AC_PROG_INSTALL
AC_CONFIG_HEADER(config.h)
+AC_CONFIG_FILES([libpcap.pc])
AC_OUTPUT_COMMANDS([if test -f .devel; then
echo timestamp > stamp-h
diff --git a/libpcap.pc.in b/libpcap.pc.in
new file mode 100644
index 0000000..4f78ad8
--- /dev/null
+++ b/libpcap.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libpcap
+Description: System-independent interface for user-level packet capture.
+Version: @VERSION@
+Libs: -L${libdir} -lpcap
+Cflags: -I${includedir}
--
1.9.1

View File

@ -1,6 +1,8 @@
require libpcap.inc
SRC_URI += "file://aclocal.patch"
SRC_URI += "file://aclocal.patch \
file://libpcap-pkgconfig-support.patch \
"
SRC_URI[md5sum] = "5f14191c1a684a75532c739c2c4059fa"
SRC_URI[sha256sum] = "5db3e2998f1eeba2c76da55da5d474248fe19c44f49e15cac8a796a2c7e19690"
@ -19,4 +21,6 @@ do_install_prepend () {
install -d ${D}${bindir}
oe_runmake install-shared DESTDIR=${D}
oe_libinstall -a -so libpcap ${D}${libdir}
sed "s|@VERSION@|${PV}|" -i ${B}/libpcap.pc
install -D -m 0644 libpcap.pc ${D}${libdir}/pkgconfig/libpcap.pc
}