# pkgconfig
#
#############################################################
-PKGCONFIG_VER:=0.21
-PKGCONFIG_SOURCE:=pkg-config-$(PKGCONFIG_VER).tar.gz
-PKGCONFIG_SITE:=http://pkgconfig.freedesktop.org/releases/
-PKGCONFIG_DIR:=$(BUILD_DIR)/pkg-config-$(PKGCONFIG_VER)
-PKGCONFIG_CAT:=$(ZCAT)
-PKGCONFIG_BINARY:=pkg-config
-PKGCONFIG_TARGET_BINARY:=usr/bin/pkg-config
+PKG_CONFIG_VERSION = 0.23
+PKG_CONFIG_SOURCE = pkg-config-$(PKG_CONFIG_VERSION).tar.gz
+PKG_CONFIG_SITE = http://pkgconfig.freedesktop.org/releases/
-$(DL_DIR)/$(PKGCONFIG_SOURCE):
- $(WGET) -P $(DL_DIR) $(PKGCONFIG_SITE)/$(PKGCONFIG_SOURCE)
+ifeq ($(BR2_ENABLE_DEBUG),y) # install-exec doesn't install aclocal stuff
+PKG_CONFIG_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install-exec
+endif
-pkgconfig-source: $(DL_DIR)/$(PKGCONFIG_SOURCE)
+PKG_CONFIG_DEPENDENCIES = uclibc libglib2
-$(PKGCONFIG_DIR)/.unpacked: $(DL_DIR)/$(PKGCONFIG_SOURCE)
- $(PKGCONFIG_CAT) $(DL_DIR)/$(PKGCONFIG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(PKGCONFIG_DIR) package/pkgconfig/ \*.patch
- touch $(PKGCONFIG_DIR)/.unpacked
+PKG_CONFIG_CONF_OPT = --with-installed-glib
-$(PKGCONFIG_DIR)/.configured: $(PKGCONFIG_DIR)/.unpacked
- (cd $(PKGCONFIG_DIR); rm -rf config.cache; \
- CFLAGS="$(TARGET_CFLAGS)" \
- LDFLAGS="$(TARGET_LDFLAGS)" \
- ./configure \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --sbindir=/usr/sbin \
- --libdir=/lib \
- --libexecdir=/usr/lib \
- --sysconfdir=/etc \
- --datadir=/usr/share \
- --localstatedir=/var \
- --mandir=/usr/man \
- --infodir=/usr/info \
- --with-pc-path="$(STAGING_DIR)/lib/pkgconfig:$(STAGING_DIR)/usr/lib/pkgconfig" \
- $(DISABLE_NLS) \
- $(DISABLE_LARGEFILE) \
- );
- touch $(PKGCONFIG_DIR)/.configured
+$(eval $(call AUTOTARGETS,package,pkgconfig))
-$(PKGCONFIG_DIR)/$(PKGCONFIG_BINARY): $(PKGCONFIG_DIR)/.configured
- $(MAKE) -C $(PKGCONFIG_DIR)
+# 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
-$(STAGING_DIR)/$(PKGCONFIG_TARGET_BINARY): $(PKGCONFIG_DIR)/$(PKGCONFIG_BINARY)
- $(MAKE) DESTDIR=$(STAGING_DIR) -C $(PKGCONFIG_DIR) install
- mv $(STAGING_DIR)/usr/bin/pkg-config $(STAGING_DIR)/usr/bin/pkg-config.real
- cp package/pkgconfig/pkgconfig-filter.sh $(STAGING_DIR)/usr/bin/pkg-config
- mkdir -p $(STAGING_DIR)/lib/pkgconfig
- rm -rf $(STAGING_DIR)/share/locale $(STAGING_DIR)/usr/info \
- $(STAGING_DIR)/usr/man $(STAGING_DIR)/usr/share/doc
+$(PKG_CONFIG_HOST_DIR)/.unpacked: $(DL_DIR)/$(PKG_CONFIG_SOURCE)
+ mkdir -p $(@D)
+ $(INFLATE$(suffix $(PKG_CONFIG_SOURCE))) $< | \
+ $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(@D) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(@D) package/pkgconfig/ \*.patch
+ touch $@
-pkgconfig: uclibc $(STAGING_DIR)/$(PKGCONFIG_TARGET_BINARY)
+$(PKG_CONFIG_HOST_DIR)/.configured: $(PKG_CONFIG_HOST_DIR)/.unpacked
+ (cd $(@D); rm -rf config.cache; \
+ ./configure \
+ --prefix=$(HOST_DIR)/usr \
+ --sysconfdir=$(HOST_DIR)/etc \
+ --with-pc-path="$(STAGING_DIR)/usr/lib/pkgconfig" \
+ --disable-static \
+ )
+ touch $@
-pkgconfig-clean:
- $(MAKE) DESTDIR=$(STAGING_DIR) -C $(PKGCONFIG_DIR) uninstall
- -$(MAKE) -C $(PKGCONFIG_DIR) clean
+$(PKG_CONFIG_HOST_DIR)/.compiled: $(PKG_CONFIG_HOST_DIR)/.configured
+ $(MAKE) -C $(@D)
+ touch $@
-pkgconfig-dirclean:
- rm -rf $(PKGCONFIG_DIR)
+$(PKG_CONFIG_HOST_BINARY): $(PKG_CONFIG_HOST_DIR)/.compiled
+ $(MAKE) -C $(<D) install
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(strip $(BR2_PACKAGE_PKGCONFIG)),y)
-TARGETS+=pkgconfig
-endif
+host-pkgconfig: $(PKG_CONFIG_HOST_BINARY)
+
+host-pkgconfig-clean:
+ rm -f $(addprefix $(PKG_CONFIG_HOST_DIR)/,.unpacked .configured .compiled)
+ -$(MAKE) -C $(PKG_CONFIG_HOST_DIR) uninstall
+ -$(MAKE) -C $(PKG_CONFIG_HOST_DIR) clean
+
+host-pkgconfig-dirclean:
+ rm -rf $(PKG_CONFIG_HOST_DIR)