summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.tests/glibc/glibc.cpp38
-rw-r--r--config.tests/glibc/glibc.pro5
-rw-r--r--configure.pri20
-rw-r--r--mkspecs/features/configure.prf2
-rw-r--r--src/core/configure.json3
5 files changed, 46 insertions, 22 deletions
diff --git a/config.tests/glibc/glibc.cpp b/config.tests/glibc/glibc.cpp
new file mode 100644
index 000000000..fdb558a16
--- /dev/null
+++ b/config.tests/glibc/glibc.cpp
@@ -0,0 +1,38 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtWebEngine module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <features.h>
+
+#if __GLIBC__ < 2 || __GLIBC_MINOR__ < 27
+#error glibc versions below 2.27 are not supported
+#endif
+
+int main(int , char *) {
+ return 0;
+}
+
diff --git a/config.tests/glibc/glibc.pro b/config.tests/glibc/glibc.pro
new file mode 100644
index 000000000..f72bfb804
--- /dev/null
+++ b/config.tests/glibc/glibc.pro
@@ -0,0 +1,5 @@
+TARGET = glibc
+SOURCES = glibc.cpp
+CONFIG -= qt
+CONFIG += console
+
diff --git a/configure.pri b/configure.pri
index 58899b9ef..23f72c5c6 100644
--- a/configure.pri
+++ b/configure.pri
@@ -86,26 +86,6 @@ defineTest(qtConfTest_detectFlex) {
return(true)
}
-defineTest(qtConfTest_detectGlibc) {
- ldd = $$qtConfFindInPath("ldd")
- !isEmpty(ldd) {
- qtLog("Found ldd from path: $$ldd")
- qtRunLoggedCommand("$$ldd --version", version)|return(true)
- version ~= 's/^.*[^0-9]\([0-9]*\.[0-9]*\).*$/\1/'
- version = $$first(version)
- qtLog("Found libc version: $$version")
- version = $$split(version,'.')
- version = $$member(version, 1)
- greaterThan(version, 26) {
- return(true)
- }
- qtLog("Detected too old version of glibc. Required min 2.27.")
- return(false)
- }
- qtLog("No ldd found. Assuming right version of glibc.")
- return(true)
-}
-
defineTest(qtConfTest_detectNinja) {
ninja = $$qtConfFindInPath("ninja$$EXE_SUFFIX")
!isEmpty(ninja) {
diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
index 42e5b40c9..b8d9d43ce 100644
--- a/mkspecs/features/configure.prf
+++ b/mkspecs/features/configure.prf
@@ -76,7 +76,7 @@ defineTest(runConfigure) {
}
!qtConfig(webengine-system-glibc) {
- skipBuild("A suitable version of libc could not be found. See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898")
+ skipBuild("A suitable version >= 2.27 of libc could not be found.")
return(false)
}
diff --git a/src/core/configure.json b/src/core/configure.json
index e025db8be..cffb7d01b 100644
--- a/src/core/configure.json
+++ b/src/core/configure.json
@@ -313,7 +313,8 @@
},
"webengine-glibc": {
"label": "glibc > 2.26",
- "type": "detectGlibc"
+ "type": "compile",
+ "test": "glibc"
},
"webengine-libxml2-compatible": {
"label" : "compatible system libxml2",