summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/sql/configure.json6
-rw-r--r--src/sql/configure.pri8
2 files changed, 12 insertions, 2 deletions
diff --git a/src/sql/configure.json b/src/sql/configure.json
index 96c82e84f9..72671b6df9 100644
--- a/src/sql/configure.json
+++ b/src/sql/configure.json
@@ -58,8 +58,10 @@
"label": "MySQL",
"test": "unix/mysql",
"sources": [
- { "type": "mysqlConfig", "query": "--libs_r" },
- { "type": "mysqlConfig", "query": "--libs" },
+ { "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": true },
+ { "type": "mysqlConfig", "query": "--libs", "cleanlibs": true },
+ { "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": false },
+ { "type": "mysqlConfig", "query": "--libs", "cleanlibs": false },
{ "libs": "-lmysqlclient_r", "condition": "!config.win32" },
{ "libs": "-llibmysql", "condition": "config.win32" },
{ "libs": "-lmysqlclient", "condition": "!config.win32" }
diff --git a/src/sql/configure.pri b/src/sql/configure.pri
index 1d8847b4bc..62d56e2186 100644
--- a/src/sql/configure.pri
+++ b/src/sql/configure.pri
@@ -57,6 +57,14 @@ defineTest(qtConfLibrary_mysqlConfig) {
libs = $$filterLibraryPath($$libs)
# -rdynamic should not be returned by mysql_config, but is on RHEL 6.6
libs -= -rdynamic
+ equals($${1}.cleanlibs, true) {
+ for(l, libs) {
+ # Drop all options besides the -L one and the -lmysqlclient one
+ # so we don't unnecessarily link to libs like OpenSSL
+ contains(l, "^(-L|-lmysqlclient).*"): cleanlibs += $$l
+ }
+ libs = $$cleanlibs
+ }
$${1}.libs = "$$val_escape(libs)"
eval(includedir = $$includedir)
includedir ~= s/^-I//g