export only 'host_bins' to pkg-config, rather than a random selection of tools
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>
Wed, 5 Dec 2012 19:54:09 +0000 (20:54 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Thu, 6 Dec 2012 11:49:02 +0000 (12:49 +0100)
the "export location" of the linguist tools was just bogus, and lconvert
was missing anyway. the two dbus tools and qdoc were missing, too.
generally, it seems useless to report the paths of some random tools -
instead, just report the install location of the host binaries and let
users figure out the complete paths themselves - this should be ok, as
we decided that distributors are not supposed to do tool renaming any
more.

for the binary path just use the final location, as the files won't be
used before installation anyway. this allows us removing the scary
generic prefix replace from the pc file installs.

and as a side effect this also fixes debug_and_release builds of core
and widgets by not loading various prf files prematurely and thereby
messing up the dir replacement magic.

Task-number: QTBUG-28286
Change-Id: I99de419301fc07fb923959db4bd5cab9072d1c31
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
mkspecs/features/qt_module.prf
src/corelib/corelib.pro
src/widgets/widgets.pro

index b8de8e9..457ab7e 100644 (file)
@@ -178,9 +178,7 @@ unix|win32-g++* {
    include_replace.replace = $$[QT_INSTALL_HEADERS/raw]
    lib_replace.match = $$[QT_INSTALL_LIBS/get]
    lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
-   prefix_replace.match = $$QT_BUILD_TREE
-   prefix_replace.replace = $$[QT_INSTALL_PREFIX/raw]
-   QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace prefix_replace
+   QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace
 }
 
 unix {
index 46c771e..1059d0d 100644 (file)
@@ -6,6 +6,7 @@ MODULE = core     # not corelib, as per project file
 MODULE_CONFIG = moc resources
 !isEmpty(QT_NAMESPACE): MODULE_DEFINES = QT_NAMESPACE=$$QT_NAMESPACE
 
+CONFIG += $$MODULE_CONFIG
 DEFINES   += QT_NO_USING_NAMESPACE
 win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x67000000
 irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused
@@ -50,29 +51,11 @@ QMAKE_DYNAMIC_LIST_FILE = $$PWD/QtCore.dynlist
 
 contains(DEFINES,QT_EVAL):include(eval.pri)
 
-load(moc)
-load(resources)
+HOST_BINS = $$[QT_HOST_BINS]
+host_bins.name = host_bins
+host_bins.variable = HOST_BINS
 
-moc_dir.name = moc_location
-moc_dir.variable = QMAKE_MOC
-
-rcc_dir.name = rcc_location
-rcc_dir.variable = QMAKE_RCC
-
-QMAKE_PKGCONFIG_VARIABLES += moc_dir rcc_dir
-
-# These are aliens, but Linguist installs no own module, and it fits here best.
-
-qtPrepareTool(QMAKE_LUPDATE, lupdate)
-qtPrepareTool(QMAKE_LRELEASE, lrelease)
-
-lupdate_dir.name = lupdate_location
-lupdate_dir.variable = QMAKE_LUPDATE
-
-lrelease_dir.name = lrelease_location
-lrelease_dir.variable = QMAKE_LRELEASE
-
-QMAKE_PKGCONFIG_VARIABLES += lupdate_dir lrelease_dir
+QMAKE_PKGCONFIG_VARIABLES += host_bins
 
 ctest_macros_file.input = $$PWD/Qt5CTestMacros.cmake
 ctest_macros_file.output = $$DESTDIR/cmake/Qt5Core/Qt5CTestMacros.cmake
index 5f06d4a..6b9aa92 100644 (file)
@@ -2,6 +2,7 @@ TARGET     = QtWidgets
 QT = core-private gui-private
 MODULE_CONFIG = uic
 
+CONFIG += $$MODULE_CONFIG
 DEFINES   += QT_NO_USING_NAMESPACE
 win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x65000000
 irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused
@@ -44,10 +45,3 @@ testcocoon {
 win32:!contains(QT_CONFIG, directwrite) {
     DEFINES += QT_NO_DIRECTWRITE
 }
-
-load(uic)
-
-uic_dir.name = uic_location
-uic_dir.variable = QMAKE_UIC
-
-QMAKE_PKGCONFIG_VARIABLES += uic_dir