summaryrefslogtreecommitdiff
path: root/package/pkg-config
diff options
context:
space:
mode:
Diffstat (limited to 'package/pkg-config')
-rw-r--r--package/pkg-config/Config.in10
-rw-r--r--package/pkg-config/pkg-config-0.23-fix-sysroot.patch34
-rw-r--r--package/pkg-config/pkg-config.mk65
3 files changed, 109 insertions, 0 deletions
diff --git a/package/pkg-config/Config.in b/package/pkg-config/Config.in
new file mode 100644
index 000000000..8ec805527
--- /dev/null
+++ b/package/pkg-config/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_PKG_CONFIG
+ bool "pkg-config"
+ select BR2_PACKAGE_LIBGLIB2
+ help
+ pkg-config is a system for managing library compile/link
+ flags that works with automake and autoconf. It replaces
+ the ubiquitous *-config scripts you may have seen with a
+ single tool.
+
+ http://www.freedesktop.org/software/pkgconfig/
diff --git a/package/pkg-config/pkg-config-0.23-fix-sysroot.patch b/package/pkg-config/pkg-config-0.23-fix-sysroot.patch
new file mode 100644
index 000000000..36538112b
--- /dev/null
+++ b/package/pkg-config/pkg-config-0.23-fix-sysroot.patch
@@ -0,0 +1,34 @@
+[PATCH] fix PKG_CONFIG_SYSROOT_DIR handling
+
+With PKG_CONFIG_SYSROOT_DIR enabled, everything else than -L and -I words
+gets stripped away.
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+---
+ pkg.c | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+Index: pkg-config-0.23/pkg.c
+===================================================================
+--- pkg-config-0.23.orig/pkg.c
++++ pkg-config-0.23/pkg.c
+@@ -472,17 +472,13 @@
+ while (tmp != NULL)
+ {
+ char *tmpstr = (char*) tmp->data;
+- if (pcsysrootdir != NULL)
++ if (pcsysrootdir != NULL && tmpstr[0] == '-' &&
++ (tmpstr[1] == 'I' || tmpstr[1] == 'L'))
+ {
+- if (tmpstr[0] == '-' &&
+- (tmpstr[1] == 'I' ||
+- tmpstr[1] == 'L'))
+- {
+ g_string_append_c (str, '-');
+ g_string_append_c (str, tmpstr[1]);
+ g_string_append (str, pcsysrootdir);
+ g_string_append (str, tmpstr+2);
+- }
+ }
+ else
+ {
diff --git a/package/pkg-config/pkg-config.mk b/package/pkg-config/pkg-config.mk
new file mode 100644
index 000000000..5b88bf922
--- /dev/null
+++ b/package/pkg-config/pkg-config.mk
@@ -0,0 +1,65 @@
+#############################################################
+#
+# pkgconfig
+#
+#############################################################
+PKG_CONFIG_VERSION = 0.23
+PKG_CONFIG_SOURCE = pkg-config-$(PKG_CONFIG_VERSION).tar.gz
+PKG_CONFIG_SITE = http://pkgconfig.freedesktop.org/releases/
+
+ifeq ($(BR2_ENABLE_DEBUG),y) # install-exec doesn't install aclocal stuff
+PKG_CONFIG_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
+endif
+
+PKG_CONFIG_DEPENDENCIES = uclibc libglib2
+
+PKG_CONFIG_CONF_OPT = --with-installed-glib
+
+$(eval $(call AUTOTARGETS,package,pkg-config))
+
+# pkg-config for the host
+PKG_CONFIG_HOST_DIR:=$(BUILD_DIR)/pkg-config-$(PKG_CONFIG_VERSION)-host
+PKG_CONFIG_HOST_BINARY:=$(HOST_DIR)/usr/bin/pkg-config
+
+$(DL_DIR)/$(PKG_CONFIG_SOURCE):
+ $(call DOWNLOAD,$(PKG_CONFIG_SITE),$(PKG_CONFIG_SOURCE))
+
+$(STAMP_DIR)/host_pkgconfig_unpacked: $(DL_DIR)/$(PKG_CONFIG_SOURCE)
+ mkdir -p $(PKG_CONFIG_HOST_DIR)
+ $(INFLATE$(suffix $(PKG_CONFIG_SOURCE))) $< | \
+ $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(PKG_CONFIG_HOST_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(PKG_CONFIG_HOST_DIR) package/pkg-config/ \*.patch
+ touch $@
+
+$(STAMP_DIR)/host_pkgconfig_configured: $(STAMP_DIR)/host_pkgconfig_unpacked
+ (cd $(PKG_CONFIG_HOST_DIR); rm -rf config.cache; \
+ $(HOST_CONFIGURE_OPTS) \
+ CFLAGS="$(HOST_CFLAGS)" \
+ LDFLAGS="$(HOST_LDFLAGS)" \
+ ./configure \
+ --prefix="$(HOST_DIR)/usr" \
+ --sysconfdir="$(HOST_DIR)/etc" \
+ --with-pc-path="$(STAGING_DIR)/usr/lib/pkgconfig" \
+ --disable-static \
+ )
+ touch $@
+
+$(STAMP_DIR)/host_pkgconfig_compiled: $(STAMP_DIR)/host_pkgconfig_configured
+ $(MAKE) -C $(PKG_CONFIG_HOST_DIR)
+ touch $@
+
+$(STAMP_DIR)/host_pkgconfig_installed: $(STAMP_DIR)/host_pkgconfig_compiled
+ $(MAKE) -C $(PKG_CONFIG_HOST_DIR) install
+ install -D -m 0644 $(HOST_DIR)/usr/share/aclocal/pkg.m4 \
+ $(STAGING_DIR)/usr/share/aclocal/pkg.m4
+ touch $@
+
+host-pkgconfig: $(STAMP_DIR)/host_pkgconfig_installed
+
+host-pkgconfig-clean:
+ rm -f $(addprefix $(STAMP_DIR)/host_pkgconfig_,unpacked configured compiled installed)
+ -$(MAKE) -C $(PKG_CONFIG_HOST_DIR) uninstall
+ -$(MAKE) -C $(PKG_CONFIG_HOST_DIR) clean
+
+host-pkgconfig-dirclean:
+ rm -rf $(PKG_CONFIG_HOST_DIR)