diff --git a/package/e2fsprogs/Makefile b/package/e2fsprogs/Makefile
index 16102907ae5500e5bacb77c5d598f0823323149d..06db69d068f1ad69a68be2f508f1ef162480b6d0 100644
--- a/package/e2fsprogs/Makefile
+++ b/package/e2fsprogs/Makefile
@@ -101,8 +101,6 @@ define Build/InstallDev
 		BUILDCC="$(HOSTCC)" \
 		DESTDIR="$(1)" \
 		install-libs
-	$(SED) 's,-I$$$${includedir},,g' $(1)/usr/lib/pkgconfig/{blkid,com_err,e2p,ext2fs,ss,uuid}.pc
-	$(SED) 's,-L$$$${libdir},,g' $(1)/usr/lib/pkgconfig/{blkid,com_err,e2p,ext2fs,ss,uuid}.pc
 endef
 
 define Build/UninstallDev
diff --git a/package/libjson-c/Makefile b/package/libjson-c/Makefile
index c2adc7c90a6a25d3598a32432a6bd365b321e632..01116aaf632a3c4bef64a9e012bdf7a742a714b4 100644
--- a/package/libjson-c/Makefile
+++ b/package/libjson-c/Makefile
@@ -42,8 +42,6 @@ define Build/InstallDev
 	$(CP) -r $(PKG_INSTALL_DIR)/usr/lib/libjson.{a,so*} $(1)/usr/lib/
 	mkdir -p $(1)/usr/lib/pkgconfig
 	$(CP) -r $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/json.pc $(1)/usr/lib/pkgconfig/
-	$(SED) 's,-I$$$${includedir}/,-I$(1)/usr/include/,g' $(1)/usr/lib/pkgconfig/json.pc
-	$(SED) 's,-L$$$${libdir},,g' $(1)/usr/lib/pkgconfig/json.pc
 endef
 
 define Build/UninstallDev
diff --git a/package/openssl/Makefile b/package/openssl/Makefile
index 270fe5e755cd4b8fa4b6e807bee796b2a5f16705..555099bd07a9795ba51fa2247c77ca76e9cb24e4 100644
--- a/package/openssl/Makefile
+++ b/package/openssl/Makefile
@@ -115,8 +115,6 @@ define Build/InstallDev
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{crypto,ssl}.{a,so*} $(1)/usr/lib/
 	mkdir -p $(1)/usr/lib/pkgconfig
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/{openssl,libcrypto,libssl}.pc $(1)/usr/lib/pkgconfig/
-	$(SED) 's,^includedir=.*,includedir=$(1)/usr/include,g' $(1)/usr/lib/pkgconfig/{openssl,libcrypto,libssl}.pc
-	$(SED) 's,^libdir=.*,libdir=$(1)/usr/lib,g' $(1)/usr/lib/pkgconfig/{openssl,libcrypto,libssl}.pc
 	$(SED) 's,$(TARGET_LDFLAGS),,g' $(1)/usr/lib/pkgconfig/{openssl,libcrypto,libssl}.pc
 endef
 
diff --git a/tools/Makefile b/tools/Makefile
index d1ca6508f0d293d8e5896ad1d5eb566d73d5feca..ecab9dae84fb467ac4a80db3d3ba4b7934f11f1c 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -9,7 +9,7 @@
 curdir:=tools
 
 # subdirectories to descend into
-$(curdir)/builddirs := sed sstrip ipkg-utils ext2fs squashfs mtd-utils lzma mkimage firmware-utils patch-cmdline $(if $(CONFIG_CCACHE),ccache)
+$(curdir)/builddirs := sed sstrip ipkg-utils ext2fs squashfs mtd-utils lzma mkimage firmware-utils patch-cmdline pkg-config $(if $(CONFIG_CCACHE),ccache)
 
 # builddir dependencies
 $(curdir)/squashfs/compile := $(curdir)/lzma/install
diff --git a/tools/pkg-config/Makefile b/tools/pkg-config/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..bcae2dfa695de7f654089f21fda3277ccab9cca8
--- /dev/null
+++ b/tools/pkg-config/Makefile
@@ -0,0 +1,35 @@
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=pkg-config
+PKG_VERSION:=0.22
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://pkgconfig.freedesktop.org/releases/
+PKG_MD5SUM:=fd5c547e9d66ba49bc735ccb8c791f2a
+
+include $(INCLUDE_DIR)/host-build.mk
+
+define Build/Compile
+	$(MAKE) -C $(PKG_BUILD_DIR)
+endef
+
+define Build/Install
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		install
+	mv $(STAGING_DIR_HOST)/bin/pkg-config $(STAGING_DIR_HOST)/bin/pkg-config.real
+	$(INSTALL_BIN) ./files/pkg-config $(STAGING_DIR_HOST)/bin/pkg-config
+endef
+
+define Build/Clean
+	$(MAKE) -C $(PKG_BUILD_DIR) uninstall
+	$(MAKE) -C $(PKG_BUILD_DIR) clean
+	$(call Build/Clean/Default)
+endef
+
+$(eval $(call HostBuild))
diff --git a/tools/pkg-config/files/pkg-config b/tools/pkg-config/files/pkg-config
new file mode 100755
index 0000000000000000000000000000000000000000..31cfd0d83dc94892a85b4f18c9bb2004296d64b0
--- /dev/null
+++ b/tools/pkg-config/files/pkg-config
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pkg-config.real $@ --define-variable=libdir=${STAGING_DIR}/usr/lib --define-variable=includedir=${STAGING_DIR}/usr/include