diff options
authorKai Koehne <>2013-02-13 15:29:52 +0100
committerThe Qt Project <>2013-02-15 15:46:57 +0100
commit3f471c069d608282db2b0e0fa5e8f0547778cddb (patch)
parentc2bdca2d545bc583860fd2776f8fc30de1222938 (diff)
Place libexec binaries into lib folder on Windows
Change the default libexec directory to 'lib' on Windows for default configurations. This makes sure that e.g. qtwebprocess can actually find & load the right Qt libs. A separate libexec directory was introduced to avoid conflicts between a system-wide Qt in PATH and a custom Qt installation. However, since there are no system wide Qt installations on Windows this isn't an issue, but getting the executables to find its Qt libraries is. Alternatively we could have also placed it in the 'bin' directory. However, putting it in the 'lib' folder carries the notion that, unlike the binaries in the bin, the libexec executables might have to be deployed with a target application. The exception is when a separate archdata prefix is specified, and $$archdata/lib won't contain Qt libraries. In this case we use libexec like on the other platforms too. ChangeLog: [Qt for Windows] Fixed launching of QtWebProcess.exe by changing default libexec directory to 'lib'. Task-number: QTBUG-29661 Change-Id: Icbb15fb98474d6fef8ac9310f2e2b482d3282f79 Reviewed-by: Oswald Buddenhagen <> Reviewed-by: Jocelyn Turcotte <> Reviewed-by: Joerg Bornemann <>
2 files changed, 15 insertions, 5 deletions
diff --git a/configure b/configure
index 273e8b01f9..0d30c97504 100755
--- a/configure
+++ b/configure
@@ -2816,8 +2816,14 @@ if [ -z "$QT_INSTALL_BINS" ]; then #default
QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
+if [ "$XPLATFORM_MINGW" = "yes" ]; then
if [ -z "$QT_INSTALL_LIBEXECS" ]; then #default
QT_INSTALL_LIBEXECS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBEXECS"`
@@ -3039,7 +3045,7 @@ Installation options:
-plugindir <dir> ...... Plugins will be installed to <dir>
(default ARCHDATADIR/plugins)
-libexecdir <dir> ..... Program executables will be installed to <dir>
- (default ARCHDATADIR/libexec)
-importdir <dir> ...... Imports for QML1 will be installed to <dir>
(default ARCHDATADIR/imports)
-qmldir <dir> ......... Imports for QML2 will be installed to <dir>
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 240859aa14..5fe1e029fb 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -1602,7 +1602,7 @@ bool Configure::displayHelp()
desc( "-libdir <dir>", "Libraries will be installed to <dir>\n(default PREFIX/lib)");
desc( "-headerdir <dir>", "Headers will be installed to <dir>\n(default PREFIX/include)");
desc( "-archdatadir <dir>", "Architecture-dependent data used by Qt will be installed to <dir>\n(default PREFIX)");
- desc( "-libexecdir <dir>", "Program executables will be installed to <dir>\n(default ARCHDATADIR/libexec)");
+ desc( "-libexecdir <dir>", "Program executables will be installed to <dir>\n(default ARCHDATADIR/lib)");
desc( "-plugindir <dir>", "Plugins will be installed to <dir>\n(default ARCHDATADIR/plugins)");
desc( "-importdir <dir>", "Imports for QML1 will be installed to <dir>\n(default ARCHDATADIR/imports)");
desc( "-qmldir <dir>", "Imports for QML2 will be installed to <dir>\n(default ARCHDATADIR/qml)");
@@ -3561,8 +3561,12 @@ void Configure::generateQConfigCpp()
dictionary["QT_INSTALL_LIBS"] = qipempty ? "" : dictionary["QT_INSTALL_PREFIX"] + "/lib";
if (!dictionary["QT_INSTALL_ARCHDATA"].size())
dictionary["QT_INSTALL_ARCHDATA"] = qipempty ? "" : dictionary["QT_INSTALL_PREFIX"];
- if (!dictionary["QT_INSTALL_LIBEXECS"].size())
- dictionary["QT_INSTALL_LIBEXECS"] = qipempty ? "" : dictionary["QT_INSTALL_ARCHDATA"] + "/libexec";
+ if (!dictionary["QT_INSTALL_LIBEXECS"].size()) {
+ if (dictionary["QT_INSTALL_ARCHDATA"] == dictionary["QT_INSTALL_PREFIX"])
+ dictionary["QT_INSTALL_LIBEXECS"] = qipempty ? "" : dictionary["QT_INSTALL_ARCHDATA"] + "/lib";
+ else
+ dictionary["QT_INSTALL_LIBEXECS"] = qipempty ? "" : dictionary["QT_INSTALL_ARCHDATA"] + "/libexec";
+ }
if (!dictionary["QT_INSTALL_BINS"].size())
dictionary["QT_INSTALL_BINS"] = qipempty ? "" : dictionary["QT_INSTALL_PREFIX"] + "/bin";
if (!dictionary["QT_INSTALL_PLUGINS"].size())