diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2013-05-08 15:30:56 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-05-13 21:54:40 +0200 |
commit | 8739487b1ce2dc2b93fe7ff283c76f6a56919f1b (patch) | |
tree | 686ae246ed10a328597202c31af7ff3b9eb97044 /mkspecs | |
parent | 38dc6ccca0d65fa2df4297de4f4e2a90e7ab2fc6 (diff) |
install host libraries into -hostprefix
... and introduce -hostlibdir configure option for symmetry.
the libraries built for the host have no business in the target prefix.
in principle this code would even support dynamically linked host
libraries, but that's currently unused.
Task-number: QTBUG-30591
Change-Id: I8e600fa4911a020fb0e87fbf7ef2f35647c7c4d5
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Ivan Romanov <drizt@land.ru>
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/features/qt_config.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_installs.prf | 10 | ||||
-rw-r--r-- | mkspecs/features/qt_module.prf | 9 | ||||
-rw-r--r-- | mkspecs/features/qt_module_pris.prf | 26 |
4 files changed, 35 insertions, 12 deletions
diff --git a/mkspecs/features/qt_config.prf b/mkspecs/features/qt_config.prf index 061399d78c..77d2c0ffc7 100644 --- a/mkspecs/features/qt_config.prf +++ b/mkspecs/features/qt_config.prf @@ -20,6 +20,7 @@ QMAKE_QT_CONFIG = $$[QT_HOST_DATA/get]/mkspecs/qconfig.pri # qt_<module>.pri forwarding file QT_MODULE_INCLUDE_BASE = $$[QT_INSTALL_HEADERS] QT_MODULE_LIB_BASE = $$[QT_INSTALL_LIBS] + QT_MODULE_HOST_LIB_BASE = $$[QT_HOST_LIBS] QT_MODULE_PLUGIN_BASE = $$[QT_INSTALL_PLUGINS] QT_MODULE_LIBEXEC_BASE = $$[QT_INSTALL_LIBEXECS] QT_MODULE_BIN_BASE = $$[QT_INSTALL_BINS] @@ -30,6 +31,7 @@ QMAKE_QT_CONFIG = $$[QT_HOST_DATA/get]/mkspecs/qconfig.pri } unset(QT_MODULE_INCLUDE_BASE) unset(QT_MODULE_LIB_BASE) + unset(QT_MODULE_HOST_LIB_BASE) unset(QT_MODULE_PLUGIN_BASE) unset(QT_MODULE_LIBEXEC_BASE) unset(QT_MODULE_BIN_BASE) diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf index cc720ac8c0..e82b499009 100644 --- a/mkspecs/features/qt_installs.prf +++ b/mkspecs/features/qt_installs.prf @@ -12,10 +12,16 @@ #library !qt_no_install_library { win32 { - dlltarget.path = $$[QT_INSTALL_BINS] + host_build: \ + dlltarget.path = $$[QT_HOST_BINS] + else: \ + dlltarget.path = $$[QT_INSTALL_BINS] INSTALLS += dlltarget } - target.path = $$[QT_INSTALL_LIBS] + host_build: \ + target.path = $$[QT_HOST_LIBS] + else: \ + target.path = $$[QT_INSTALL_LIBS] INSTALLS += target } diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 3531d28b42..429e00bed9 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -128,7 +128,10 @@ load(qt_installs) unix|win32-g++* { CONFIG += create_pc - QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS/raw] + host_build: \ + QMAKE_PKGCONFIG_LIBDIR = $$[QT_HOST_LIBS] + else: \ + QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS/raw] QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw] QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME QMAKE_PKGCONFIG_DESTDIR = pkgconfig @@ -139,14 +142,14 @@ unix|win32-g++* { include_replace.match = $$rplbase/include include_replace.replace = $$[QT_INSTALL_HEADERS/raw] lib_replace.match = $$rplbase/lib - lib_replace.replace = $$[QT_INSTALL_LIBS/raw] + lib_replace.replace = $$QMAKE_PKGCONFIG_LIBDIR QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace } unix { CONFIG += create_libtool explicitlib - QMAKE_LIBTOOL_LIBDIR = $$[QT_INSTALL_LIBS/raw] + QMAKE_LIBTOOL_LIBDIR = $$QMAKE_PKGCONFIG_LIBDIR QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace } diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf index bedcfd4c47..9e40a67b51 100644 --- a/mkspecs/features/qt_module_pris.prf +++ b/mkspecs/features/qt_module_pris.prf @@ -19,10 +19,18 @@ else: \ !build_pass { # Create a module .pri file - unix:!static: \ - module_rpath = "QT.$${MODULE}.rpath = $$[QT_INSTALL_LIBS/raw]" + host_build: \ + module_libs = "\$\$QT_MODULE_HOST_LIB_BASE" else: \ + module_libs = "\$\$QT_MODULE_LIB_BASE" + unix:!static { + host_build: \ + module_rpath = "QT.$${MODULE}.rpath = $$[QT_HOST_LIBS]" + else: \ + module_rpath = "QT.$${MODULE}.rpath = $$[QT_INSTALL_LIBS/raw]" + } else { module_rpath = + } !isEmpty(QT_FOR_PRIVATE) { contains(QT_FOR_PRIVATE, .*-private$):error("QT_FOR_PRIVATE may not contain *-private.") module_privdep = "QT.$${MODULE}.private_depends = $$QT_FOR_PRIVATE" @@ -55,15 +63,17 @@ else: \ "QT.$${MODULE}.PATCH_VERSION = $$section(VERSION, ., 2, 2)" \ "" \ "QT.$${MODULE}.name = $$TARGET" \ - "QT.$${MODULE}.bins = \$\$QT_MODULE_BIN_BASE" \ + "QT.$${MODULE}.libs = $$module_libs" \ + $$module_rpath \ + "QT.$${MODULE}.private_includes = $$MODULE_PRIVATE_INCLUDES" + !host_build: MODULE_PRI_CONT += \ "QT.$${MODULE}.includes = $$MODULE_INCLUDES" \ - "QT.$${MODULE}.private_includes = $$MODULE_PRIVATE_INCLUDES" \ - "QT.$${MODULE}.libs = \$\$QT_MODULE_LIB_BASE" \ + "QT.$${MODULE}.bins = \$\$QT_MODULE_BIN_BASE" \ "QT.$${MODULE}.libexecs = \$\$QT_MODULE_LIBEXEC_BASE" \ - $$module_rpath \ "QT.$${MODULE}.plugins = \$\$QT_MODULE_PLUGIN_BASE" \ "QT.$${MODULE}.imports = \$\$QT_MODULE_IMPORT_BASE" \ - "QT.$${MODULE}.qml = \$\$QT_MODULE_QML_BASE" \ + "QT.$${MODULE}.qml = \$\$QT_MODULE_QML_BASE" + MODULE_PRI_CONT += \ "QT.$${MODULE}.depends =$$join(MODULE_DEPENDS, " ", " ")" \ $$module_privdep \ $$module_rundep \ @@ -84,6 +94,7 @@ else: \ "QT_MODULE_IMPORT_BASE = $$MODULE_BASE_OUTDIR/imports" \ "QT_MODULE_QML_BASE = $$MODULE_BASE_OUTDIR/qml" \ "QT_MODULE_LIB_BASE = $$MODULE_BASE_OUTDIR/lib" \ + "QT_MODULE_HOST_LIB_BASE = $$MODULE_BASE_OUTDIR/lib" \ "QT_MODULE_LIBEXEC_BASE = $$MODULE_BASE_OUTDIR/libexec" \ "QT_MODULE_PLUGIN_BASE = $$MODULE_BASE_OUTDIR/plugins" \ "include($$MODULE_PRI)" @@ -99,6 +110,7 @@ else: \ QT_MODULE_IMPORT_BASE = $$[QT_INSTALL_IMPORTS] QT_MODULE_QML_BASE = $$[QT_INSTALL_QML] QT_MODULE_LIB_BASE = $$[QT_INSTALL_LIBS] + QT_MODULE_HOST_LIB_BASE = $$[QT_HOST_LIBS] QT_MODULE_LIBEXEC_BASE = $$[QT_INSTALL_LIBEXECS] QT_MODULE_PLUGIN_BASE = $$[QT_INSTALL_PLUGINS] |