--- tools/designer/src/components/lib/lib.pro.orig
+++ tools/designer/src/components/lib/lib.pro
@@ -64,12 +64,38 @@
 include(../../sharedcomponents.pri)
 include(../component.pri)
 
-unix|win32-g++* {
-    QMAKE_PKGCONFIG_REQUIRES = QtCore QtDesigner QtGui QtXml
+# install mac frameworks differently than libraries
+mac:!static:contains(QT_CONFIG, qt_framework) {
+    target.path=$$[QT_INSTALL_FRAMEWORKS]
+} else {
+    target.path=$$[QT_INSTALL_LIBS]
+}
+
+unix|win32-g++*:!symbian {
+   CONFIG += create_pc
+   QMAKE_PKGCONFIG_LIBDIR = $$target.path
+   QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS]/$$TARGET
+   QMAKE_PKGCONFIG_CFLAGS = -I$$[QT_INSTALL_HEADERS]
+   QMAKE_PKGCONFIG_DESTDIR = pkgconfig
+   QMAKE_PKGCONFIG_REQUIRES += QtCore QtDesigner QtXml
     contains(QT_CONFIG, script): QMAKE_PKGCONFIG_REQUIRES += QtScript
+   include_replace.match = $$QMAKE_INCDIR_QT
+   include_replace.replace = $$[QT_INSTALL_HEADERS]
+   lib_replace.match = $$QMAKE_LIBDIR_QT
+   lib_replace.replace = $$target.path
+   prefix_replace.match = $$QT_BUILD_TREE
+   prefix_replace.replace = $$[QT_INSTALL_PREFIX]
+   QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace prefix_replace
+}
+
+unix:!symbian {
+   CONFIG += create_libtool explicitlib
+   QMAKE_LIBTOOL_LIBDIR = $$target.path
+   QMAKE_PRL_LIBDIR = $$target.path
+   QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace
+   QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace
 }
 
-target.path=$$[QT_INSTALL_LIBS]
 INSTALLS        += target
 win32 {
     dlltarget.path=$$[QT_INSTALL_BINS]
