summaryrefslogtreecommitdiffstats
path: root/config.tests
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-06-13 09:01:02 +0200
committerLiang Qi <liang.qi@qt.io>2016-06-13 12:46:46 +0200
commit511790fd1af1e2886a0e2e8dd4308099705cd815 (patch)
treeb42aee537a6103cd064f9f41ae2889b09b79fd23 /config.tests
parent1542d8881fc5ccbc5918cd4acbe4091ebbd24508 (diff)
parentcbe332405aa22257d432f1797b325f5e57007c20 (diff)
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts: config_help.txt configure mkspecs/features/uikit/sdk.prf src/corelib/global/qhooks.cpp src/corelib/io/qfilesystemwatcher.cpp src/corelib/io/qlockfile_unix.cpp src/corelib/tools/qalgorithms.h src/gui/kernel/qwindowsysteminterface.h src/gui/text/qtextdocument_p.cpp src/network/access/access.pri src/network/access/qnetworkaccessmanager.cpp src/network/access/qnetworkreplynsurlconnectionimpl.mm src/src.pro src/testlib/qtestcase.cpp src/widgets/kernel/qwidgetbackingstore_p.h src/widgets/styles/qwindowscestyle.cpp src/widgets/styles/qwindowsmobilestyle.cpp tests/auto/corelib/io/qdiriterator/qdiriterator.pro tests/auto/corelib/io/qfileinfo/qfileinfo.pro tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/widgets/dialogs/qfilesystemmodel/tst_qfilesystemmodel.cpp tools/configure/configureapp.cpp Change-Id: Ibf7fb9c8cf263a810ade82f821345d0725c57c67
Diffstat (limited to 'config.tests')
-rw-r--r--config.tests/common/atomicfptr/atomicfptr.cpp58
-rw-r--r--config.tests/common/atomicfptr/atomicfptr.pro3
-rw-r--r--config.tests/common/atomicfptr/icc2016_mac.diff18
-rw-r--r--config.tests/common/atomicfptr/qnx66.txt3
-rw-r--r--config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro9
-rw-r--r--config.tests/unix/clock-gettime/clock-gettime.cpp2
-rw-r--r--config.tests/unix/dlopen/dlopen.cpp (renamed from config.tests/unix/libdl/libdl.cpp)0
-rw-r--r--config.tests/unix/dlopen/dlopen.pro2
-rw-r--r--config.tests/unix/iconv/iconv.pro2
-rw-r--r--config.tests/unix/libdl/libdl.pro5
-rw-r--r--config.tests/unix/mysql/mysql.cpp1
-rw-r--r--config.tests/unix/nis/nis.cpp50
-rw-r--r--config.tests/unix/nis/nis.pro4
-rw-r--r--config.tests/unix/objcopy/objcopy.pro5
-rw-r--r--config.tests/unix/openssl/openssl.cpp6
15 files changed, 105 insertions, 63 deletions
diff --git a/config.tests/common/atomicfptr/atomicfptr.cpp b/config.tests/common/atomicfptr/atomicfptr.cpp
new file mode 100644
index 0000000000..ce0193dbe4
--- /dev/null
+++ b/config.tests/common/atomicfptr/atomicfptr.cpp
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Intel Corporation.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the FOO module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** 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 http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <atomic>
+
+typedef void (*fptr)(int);
+typedef std::atomic<fptr> atomicfptr;
+
+void testfunction(int) { }
+
+void test(volatile atomicfptr &a)
+{
+ fptr v = a.load(std::memory_order_acquire);
+ while (!a.compare_exchange_strong(v, &testfunction,
+ std::memory_order_acq_rel,
+ std::memory_order_acquire)) {
+ v = a.exchange(&testfunction);
+ }
+
+ a.store(&testfunction, std::memory_order_release);
+}
+
+int main(int, char **)
+{
+ atomicfptr fptr(testfunction);
+ test(fptr);
+ return 0;
+}
diff --git a/config.tests/common/atomicfptr/atomicfptr.pro b/config.tests/common/atomicfptr/atomicfptr.pro
new file mode 100644
index 0000000000..5509862a30
--- /dev/null
+++ b/config.tests/common/atomicfptr/atomicfptr.pro
@@ -0,0 +1,3 @@
+SOURCES = atomicfptr.cpp
+CONFIG += c++11 console
+CONFIG -= qt app_bundle
diff --git a/config.tests/common/atomicfptr/icc2016_mac.diff b/config.tests/common/atomicfptr/icc2016_mac.diff
new file mode 100644
index 0000000000..5de3b6e19a
--- /dev/null
+++ b/config.tests/common/atomicfptr/icc2016_mac.diff
@@ -0,0 +1,18 @@
+Patch for fixing std::atomic support for function pointers for the Intel
+Composer XE 2016 (compiler version 16.0).
+
+To apply:
+ cd /opt/intel/compilers_and_libraries_2016/mac/include
+ sudo patch -p1 < /path-to-this-file/icc2016_mac.diff
+
+--- include/stdatomic.h.orig 2015-08-28 15:05:13.000000000 -0700
++++ include/stdatomic.h 2015-08-28 15:19:25.000000000 -0700
+@@ -451,7 +451,7 @@
+ }
+ _STRONG_INLINE atomic() _DEFAULTED
+ _STRONG_INLINE _CONSTEXPR atomic(T* _Ptr)
+- : atomic_address(_Ptr)
++ : atomic_address((void*)_Ptr)
+ {
+ }
+ _STRONG_INLINE T* operator+=(ptrdiff_t _V) volatile
diff --git a/config.tests/common/atomicfptr/qnx66.txt b/config.tests/common/atomicfptr/qnx66.txt
new file mode 100644
index 0000000000..b4ea9d65b5
--- /dev/null
+++ b/config.tests/common/atomicfptr/qnx66.txt
@@ -0,0 +1,3 @@
+Patch is available from QNX. Please see
+
+http://www.qnx.com/download/feature.html?programid=27555
diff --git a/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro b/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro
index 521a911219..d0945465a0 100644
--- a/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro
+++ b/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro
@@ -6,7 +6,10 @@ for(p, QMAKE_LIBDIR_EGL) {
INCLUDEPATH += $$QMAKE_INCDIR_EGL
LIBS += $$QMAKE_LIBS_EGL
-
-LIBS += -ldrm
-
+CONFIG += link_pkgconfig
+!contains(QT_CONFIG, no-pkg-config) {
+ PKGCONFIG += libdrm
+} else {
+ LIBS += -ldrm
+}
CONFIG -= qt
diff --git a/config.tests/unix/clock-gettime/clock-gettime.cpp b/config.tests/unix/clock-gettime/clock-gettime.cpp
index 48775e36c9..486cdc6b38 100644
--- a/config.tests/unix/clock-gettime/clock-gettime.cpp
+++ b/config.tests/unix/clock-gettime/clock-gettime.cpp
@@ -42,7 +42,7 @@
int main(int, char **)
{
-#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0)
+#if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0)) || defined(__OpenBSD__)
timespec ts;
clock_gettime(CLOCK_REALTIME, &ts);
#else
diff --git a/config.tests/unix/libdl/libdl.cpp b/config.tests/unix/dlopen/dlopen.cpp
index 28a82330f2..28a82330f2 100644
--- a/config.tests/unix/libdl/libdl.cpp
+++ b/config.tests/unix/dlopen/dlopen.cpp
diff --git a/config.tests/unix/dlopen/dlopen.pro b/config.tests/unix/dlopen/dlopen.pro
new file mode 100644
index 0000000000..1d34314332
--- /dev/null
+++ b/config.tests/unix/dlopen/dlopen.pro
@@ -0,0 +1,2 @@
+SOURCES = $$PWD/dlopen.cpp
+CONFIG -= qt dylib
diff --git a/config.tests/unix/iconv/iconv.pro b/config.tests/unix/iconv/iconv.pro
index ca12e51947..65273ccc94 100644
--- a/config.tests/unix/iconv/iconv.pro
+++ b/config.tests/unix/iconv/iconv.pro
@@ -1,3 +1,3 @@
SOURCES = iconv.cpp
CONFIG -= qt dylib
-mac|mingw|qnx|haiku:LIBS += -liconv
+mac|mingw|openbsd|qnx|haiku:LIBS += -liconv
diff --git a/config.tests/unix/libdl/libdl.pro b/config.tests/unix/libdl/libdl.pro
index 8ed5231a8f..4016395d35 100644
--- a/config.tests/unix/libdl/libdl.pro
+++ b/config.tests/unix/libdl/libdl.pro
@@ -1,3 +1,2 @@
-SOURCES = libdl.cpp
-CONFIG -= qt dylib
-!qnx: LIBS += -ldl
+include(../dlopen/dlopen.pro)
+LIBS += -ldl
diff --git a/config.tests/unix/mysql/mysql.cpp b/config.tests/unix/mysql/mysql.cpp
index b66ad62534..697148cbcb 100644
--- a/config.tests/unix/mysql/mysql.cpp
+++ b/config.tests/unix/mysql/mysql.cpp
@@ -41,5 +41,6 @@
int main(int, char **)
{
+ mysql_get_client_version();
return 0;
}
diff --git a/config.tests/unix/nis/nis.cpp b/config.tests/unix/nis/nis.cpp
deleted file mode 100644
index 5849c51b91..0000000000
--- a/config.tests/unix/nis/nis.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the config.tests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** 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 Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** 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-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <sys/types.h>
-#include <rpc/rpc.h>
-#include <rpcsvc/ypclnt.h>
-#include <rpcsvc/yp_prot.h>
-
-int main(int, char **)
-{
- char *d;
- yp_get_default_domain(&d);
- return 0;
-}
diff --git a/config.tests/unix/nis/nis.pro b/config.tests/unix/nis/nis.pro
deleted file mode 100644
index b7f5693b60..0000000000
--- a/config.tests/unix/nis/nis.pro
+++ /dev/null
@@ -1,4 +0,0 @@
-SOURCES = nis.cpp
-CONFIG -= qt dylib
-solaris-*:LIBS += -lnsl
-else:LIBS += $$QMAKE_LIBS_NIS
diff --git a/config.tests/unix/objcopy/objcopy.pro b/config.tests/unix/objcopy/objcopy.pro
index 3c28b89ef3..3c76ae92ef 100644
--- a/config.tests/unix/objcopy/objcopy.pro
+++ b/config.tests/unix/objcopy/objcopy.pro
@@ -1,4 +1,7 @@
SOURCES = objcopy.cpp
CONFIG -= qt
+TARGET = objcopytest
-QMAKE_POST_LINK += $$QMAKE_OBJCOPY --only-keep-debug objcopy objcopy.debug && $$QMAKE_OBJCOPY --strip-debug objcopy && $$QMAKE_OBJCOPY --add-gnu-debuglink=objcopy.debug objcopy
+load(resolve_target)
+
+QMAKE_POST_LINK += $$QMAKE_OBJCOPY --only-keep-debug $$QMAKE_RESOLVED_TARGET objcopytest.debug && $$QMAKE_OBJCOPY --strip-debug $$QMAKE_RESOLVED_TARGET && $$QMAKE_OBJCOPY --add-gnu-debuglink=objcopytest.debug $$QMAKE_RESOLVED_TARGET
diff --git a/config.tests/unix/openssl/openssl.cpp b/config.tests/unix/openssl/openssl.cpp
index 860567ef4e..d33b62389c 100644
--- a/config.tests/unix/openssl/openssl.cpp
+++ b/config.tests/unix/openssl/openssl.cpp
@@ -43,6 +43,12 @@
# error "OpenSSL >= 0.9.7 is required"
#endif
+#include <openssl/ssl.h>
+
+#if OPENSSL_VERSION_NUMBER-0 >= 0x10002000L && !defined(OPENSSL_NO_EC) && !defined(SSL_CTRL_SET_CURVES)
+# error "OpenSSL was reported as >= 1.0.2 but is missing required features, possibly it's libressl which is unsupported"
+#endif
+
int main()
{
}