blob: 52ef2a977930d624541da85f1e6ba177834ec7f1 [file] [log] [blame]
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05001SUMMARY = "Helper tool used when compiling"
2DESCRIPTION = "pkg-config is a helper tool used when compiling applications and libraries. It helps determined \
3the correct compiler/link options. It is also language-agnostic."
4HOMEPAGE = "http://pkg-config.freedesktop.org/wiki/"
5BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=pkg-config"
6SECTION = "console/utils"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05007
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05008LICENSE = "GPLv2+"
9LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
10
Brad Bishopd7bf8c12018-02-25 22:55:05 -050011SRCREV = "edf8e6f0ea77ede073f07bff0d2ae1fc7a38103b"
12PV = "0.29.2+git${SRCPV}"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050013
14SRC_URI = "git://anongit.freedesktop.org/pkg-config \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050015 file://pkg-config-esdk.in \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050016 file://pkg-config-native.in \
17 file://fix-glib-configure-libtool-usage.patch \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060018 file://0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050019 "
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050020
21S = "${WORKDIR}/git"
22
23inherit autotools
24
Brad Bishop6e60e8b2018-02-01 10:27:11 -050025# Because of a faulty test, the current auto mode always evaluates to no,
26# so just continue that behaviour.
27#
28EXTRA_OECONF += "--disable-indirect-deps"
29
30PACKAGECONFIG ??= "glib"
31PACKAGECONFIG_class-native = ""
32PACKAGECONFIG_class-nativesdk = ""
33
34PACKAGECONFIG[glib] = "--without-internal-glib,--with-internal-glib,glib-2.0 pkgconfig-native"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050035
36acpaths = "-I ."
37
38BBCLASSEXTEND = "native nativesdk"
39
40# Set an empty dev package to ensure the base PN package gets
41# the pkg.m4 macros, pkgconfig does not deliver any other -dev
42# files.
43FILES_${PN}-dev = ""
44FILES_${PN} += "${datadir}/aclocal/pkg.m4"
45
46# When using the RPM generated automatic package dependencies, some packages
47# will end up requiring 'pkgconfig(pkg-config)'. Allow this behavior by
48# specifying an appropriate provide.
49RPROVIDES_${PN} += "pkgconfig(pkg-config)"
50
51# Install a pkg-config-native wrapper that will use the native sysroot instead
52# of the MACHINE sysroot, for using pkg-config when building native tools.
53do_install_append_class-native () {
54 sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
55 -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \
56 < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native
57 install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native
Brad Bishopd7bf8c12018-02-25 22:55:05 -050058 sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
59 -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \
60 < ${WORKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk
61 install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050062}
Brad Bishopd7bf8c12018-02-25 22:55:05 -050063
64pkgconfig_sstate_fixup_esdk () {
65 if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then
66 pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}"
67 mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real
68 lnr $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config
69 sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native
70 fi
71}
72
73SSTATEPOSTUNPACKFUNCS_append_class-native = " pkgconfig_sstate_fixup_esdk"