summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Fernengel <harald.fernengel@nokia.com>2011-10-19 15:36:33 +0200
committerQt by Nokia <qt-info@nokia.com>2011-10-19 22:27:09 +0200
commita0d1b996093cbf4e2b59885004a1cb57d743757b (patch)
tree29de2c770c7e750fa3a600c3861a5ee0d133586c
parent7dc5973bf12919d2d35230844beabe558d4faa00 (diff)
Make pkg-config cross-compile aware
Introduce PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_LIBDIR for cross-compilation environments Change-Id: I859d55f125b18d6bdef0f1dfaeb43721b85d22f5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
-rw-r--r--mkspecs/features/link_pkgconfig.prf3
-rw-r--r--mkspecs/features/qt_functions.prf23
2 files changed, 22 insertions, 4 deletions
diff --git a/mkspecs/features/link_pkgconfig.prf b/mkspecs/features/link_pkgconfig.prf
index 91683f6392..20b3e10550 100644
--- a/mkspecs/features/link_pkgconfig.prf
+++ b/mkspecs/features/link_pkgconfig.prf
@@ -1,5 +1,4 @@
-# handle pkg-config files
-isEmpty(PKG_CONFIG):PKG_CONFIG = pkg-config # keep consistent with qt_functions.prf too!
+PKG_CONFIG = $$pkgConfigExecutable()
for(PKGCONFIG_LIB, $$list($$unique(PKGCONFIG))) {
# don't proceed if the .pro asks for a package we don't have!
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 09b1b8a34b..ca38f31569 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -192,14 +192,33 @@ defineTest(qtPrepareTool) {
export($$1)
}
+defineReplace(pkgConfigExecutable) {
+ isEmpty(PKG_CONFIG) {
+ PKG_CONFIG = pkg-config
+
+ !isEmpty(PKG_CONFIG_SYSROOT_DIR) {
+ win32:isEmpty(MINGW_IN_SHELL):PKG_CONFIG = set PKG_CONFIG_SYSROOT_DIR=$$PKG_CONFIG_SYSROOT_DIR& $$PKG_CONFIG
+ else:PKG_CONFIG = PKG_CONFIG_SYSROOT_DIR=\"$$PKG_CONFIG_SYSROOT_DIR\" $$PKG_CONFIG
+ }
+
+ !isEmpty(PKG_CONFIG_LIBDIR) {
+ win32:isEmpty(MINGW_IN_SHELL):PKG_CONFIG = set PKG_CONFIG_LIBDIR=$$PKG_CONFIG_LIBDIR& $$PKG_CONFIG
+ else:PKG_CONFIG = PKG_CONFIG_LIBDIR=\"$$PKG_CONFIG_LIBDIR\" $$PKG_CONFIG
+ }
+ }
+
+ return($$PKG_CONFIG)
+}
+
defineTest(packagesExist) {
# this can't be done in global scope here because qt_functions is loaded
# before the .pro is parsed, so if the .pro set PKG_CONFIG, we wouldn't know it
# yet. oops.
- isEmpty(PKG_CONFIG):PKG_CONFIG = pkg-config # keep consistent with link_pkgconfig.prf! too
+
+ pkg_config = $$pkgConfigExecutable()
for(package, ARGS) {
- !system($$PKG_CONFIG --exists $$package):return(false)
+ !system($$pkg_config --exists $$package):return(false)
}
return(true)