diff options
Diffstat (limited to 'config.tests')
30 files changed, 513 insertions, 73 deletions
diff --git a/config.tests/arch/arch.cpp b/config.tests/arch/arch.cpp index 854228cc9c..c4f23f7bcd 100644 --- a/config.tests/arch/arch.cpp +++ b/config.tests/arch/arch.cpp @@ -57,6 +57,10 @@ const char msg2[] = "==Qt=magic=Qt== Sub-architecture:" // Advanced Bit Manipulation, AMD Barcelona (family 10h) " abm" #endif +#ifdef __ADX__ +// Multi-Precision Add-Carry Instruction Extensions, Intel Core 5th generation ("Broadwell") +" adx" +#endif #ifdef __AES__ // AES New Instructions, Intel Core-i7 second generation ("Sandy Bridge") " aes" @@ -70,19 +74,19 @@ const char msg2[] = "==Qt=magic=Qt== Sub-architecture:" " avx2" #endif #ifdef __AVX512F__ -// AVX512 Foundation, Intel Xeon Phi codename "Knights Landing" +// AVX512 Foundation, Intel Xeon Phi codename "Knights Landing" and Intel Xeon codename "Skylake" " avx512f" #endif #ifdef __AVX512CD__ -// AVX512 Conflict Detection, Intel Xeon Phi codename "Knights Landing" +// AVX512 Conflict Detection, Intel Xeon Phi codename "Knights Landing" and Intel Xeon codename "Skylake" " avx512cd" #endif #ifdef __AVX512DQ__ -// AVX512 Double & Quadword, future Intel Xeon processor +// AVX512 Double & Quadword, Intel Xeon processor codename "Skylake" " avx512dq" #endif #ifdef __AVX512BW__ -// AVX512 Byte & Word, future Intel Xeon processor +// AVX512 Byte & Word, Intel Xeon processor codename "Skylake" " avx512bw" #endif #ifdef __AVX512ER__ @@ -94,9 +98,17 @@ const char msg2[] = "==Qt=magic=Qt== Sub-architecture:" " avx512pf" #endif #ifdef __AVX512VL__ -// AVX512 Vector Length, future Intel Xeon processor +// AVX512 Vector Length, Intel Xeon processor codename "Skylake" " avx512vl" #endif +#ifdef __AVX512IFMA__ +// AVX512 Integer Fused Multiply-Add, Intel processor codename "Cannonlake" +" avx512ifma" +#endif +#ifdef __AVX512VBMI__ +// AVX512 Vector Byte Manipulation Instructions, Intel processor codename "Cannonlake" +" avx512vbmi" +#endif #ifdef __BMI__ // Bit Manipulation Instructions 1, Intel Core 4th Generation ("Haswell"), AMD "Bulldozer 2" " bmi" @@ -143,6 +155,10 @@ const char msg2[] = "==Qt=magic=Qt== Sub-architecture:" // Move Big Endian, Intel Atom & "Haswell" " movbe" #endif +#ifdef __MPX__ +// Memory Protection Extensions, Intel Core processor codename "Skylake" +" mpx" +#endif #ifdef __NO_SAHF__ // missing SAHF instruction in 64-bit, up to Intel Pentium 4 64-bit ("Nocona"), AMD Athlon FX // Note: the macro is not defined, so this will never show up @@ -156,10 +172,26 @@ const char msg2[] = "==Qt=magic=Qt== Sub-architecture:" // Population Count (count of set bits), Intel Core-i7 second generation ("Sandy Bridge") " popcnt" #endif +#ifdef __PREFETCHWT1__ +// Prefetch data for writing with T1 hint, Intel processor TBA +" prefetchwt1" +#endif +#ifdef __PRFCHW__ +// Prefetch data for writing, Intel Core 5th Generation ("Broadwell") +" prfchw" +#endif #ifdef __RDRND__ // Random number generator, Intel Core 3rd Generation ("Ivy Bridge") " rdrnd" #endif +#ifdef __RDSEED__ +// Random number generator, Intel Core 5th Generation ("Broadwell") +" rdseed" +#endif +#ifdef __RTM__ +// Restricted Transactional Memory, Intel Core 4th Generation ("Haswell") +" rtm" +#endif #ifdef __SHA__ // SHA-1 and SHA-256 instructions, Intel processor TBA " sha" @@ -205,7 +237,7 @@ const char msg2[] = "==Qt=magic=Qt== Sub-architecture:" #endif // -- ARM -- -#ifdef __ARM_NEON__ +#if defined(__ARM_NEON) || defined(__ARM_NEON__) " neon" #endif #ifdef __IWMMXT__ diff --git a/config.tests/common/c++11/c++11.cpp b/config.tests/common/c++11/c++11.cpp index 2560113c3f..dddb22a9e2 100644 --- a/config.tests/common/c++11/c++11.cpp +++ b/config.tests/common/c++11/c++11.cpp @@ -38,12 +38,6 @@ #endif #include <utility> -#if defined(__clang__) -# if __has_feature(cxx_generalized_initializers) -// On OS X, the libstdc++ headers don't include <initializer_list> -// This #include here forces a failure unless we're using libc++ -# include <initializer_list> -# endif -#endif +#include <initializer_list> -int main(int, char **) { return 0; } +int main(int, char **) { return std::move(0); } diff --git a/config.tests/common/c++14/c++14.cpp b/config.tests/common/c++14/c++14.cpp new file mode 100644 index 0000000000..e17e51831d --- /dev/null +++ b/config.tests/common/c++14/c++14.cpp @@ -0,0 +1,40 @@ +/**************************************************************************** +** +** Copyright (C) 2015 Intel Corporation. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the configuration 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$ +** +****************************************************************************/ + +#if __cplusplus > 201103L +// Compiler claims to support C++14, trust it +#else +# error "__cplusplus must be > 201103L (the value of C++11)" +#endif + +int main(int, char **) { return 0; } diff --git a/config.tests/common/c++14/c++14.pro b/config.tests/common/c++14/c++14.pro new file mode 100644 index 0000000000..cbd78ba6fe --- /dev/null +++ b/config.tests/common/c++14/c++14.pro @@ -0,0 +1,3 @@ +SOURCES = c++14.cpp +CONFIG += c++11 c++14 console +CONFIG -= qt diff --git a/config.tests/common/c++1z/c++1z.cpp b/config.tests/common/c++1z/c++1z.cpp new file mode 100644 index 0000000000..2b61cfec49 --- /dev/null +++ b/config.tests/common/c++1z/c++1z.cpp @@ -0,0 +1,40 @@ +/**************************************************************************** +** +** Copyright (C) 2015 Intel Corporation. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the configuration 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$ +** +****************************************************************************/ + +#if __cplusplus > 201402L +// Compiler claims to support experimental C++1z, trust it +#else +# error "__cplusplus must be > 201402L (the value for C++14)" +#endif + +int main(int, char **) { return 0; } diff --git a/config.tests/common/c++1z/c++1z.pro b/config.tests/common/c++1z/c++1z.pro new file mode 100644 index 0000000000..3a24946276 --- /dev/null +++ b/config.tests/common/c++1z/c++1z.pro @@ -0,0 +1,3 @@ +SOURCES = c++1z.cpp +CONFIG += c++11 c++14 c++1z console +CONFIG -= qt diff --git a/config.tests/common/c++default/c++default.cpp b/config.tests/common/c++default/c++default.cpp new file mode 100644 index 0000000000..018963beb3 --- /dev/null +++ b/config.tests/common/c++default/c++default.cpp @@ -0,0 +1 @@ +__cplusplus diff --git a/config.tests/common/c++default/c++default.pro b/config.tests/common/c++default/c++default.pro new file mode 100644 index 0000000000..7e6bcefe69 --- /dev/null +++ b/config.tests/common/c++default/c++default.pro @@ -0,0 +1,14 @@ +TEMPLATE = aux +CONFIG -= qt c++11 +PREPROCESSOR_SOURCES += c++default.cpp + +preprocessor.commands = $(CXX) $(CXXFLAGS) $(INCPATH) -o $@ -E $< +msvc:preprocessor.commands = $(CXX) $(CXXFLAGS) $(INCPATH) -E ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT} +preprocessor.output = ${QMAKE_FILE_BASE}.ii +preprocessor.input = PREPROCESSOR_SOURCES +preprocessor.variable_out = GENERATED_FILES +QMAKE_EXTRA_COMPILERS += preprocessor + +all.target = all +all.depends += c++default.ii +QMAKE_EXTRA_TARGETS += all diff --git a/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.cpp b/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.cpp new file mode 100644 index 0000000000..06809b2624 --- /dev/null +++ b/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.cpp @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the config.tests 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$ +** +****************************************************************************/ + +// Test both EGLDevice/Output/Stream and DRM as we only use them in combination. +// +// Other KMS/DRM tests relying on pkgconfig for libdrm are not suitable since +// some systems do not use pkgconfig for the graphics stuff. + +#include <stdlib.h> +#include <stdint.h> +#include <EGL/egl.h> +#include <EGL/eglext.h> +#include <xf86drm.h> +#include <xf86drmMode.h> + +int main(int, char **) +{ + EGLDeviceEXT device = 0; + EGLStreamKHR stream = 0; + EGLOutputLayerEXT layer = 0; + drmModeCrtcPtr currentMode = drmModeGetCrtc(0, 0); + return EGL_DRM_CRTC_EXT; +} diff --git a/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro b/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro new file mode 100644 index 0000000000..87214abc7a --- /dev/null +++ b/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro @@ -0,0 +1,12 @@ +SOURCES = eglfs-egldevice.cpp + +for(p, QMAKE_LIBDIR_EGL) { + exists($$p):LIBS += -L$$p +} + +INCLUDEPATH += $$QMAKE_INCDIR_EGL +LIBS += $$QMAKE_LIBS_EGL + +LIBS += -ldrm + +CONFIG -= qt diff --git a/config.tests/unix/ptrsize/ptrsizetest.cpp b/config.tests/qpa/eglfs-mali-2/eglfs-mali-2.cpp index 826095d0e9..1914d6452b 100644 --- a/config.tests/unix/ptrsize/ptrsizetest.cpp +++ b/config.tests/qpa/eglfs-mali-2/eglfs-mali-2.cpp @@ -31,23 +31,14 @@ ** ****************************************************************************/ -/* Sample program for configure to test pointer size on target -platforms. -*/ +#include <EGL/egl.h> +#include <GLES2/gl2.h> -template<int> -struct QPointerSizeTest +int main(int, char **) { -}; - -template<> -struct QPointerSizeTest<8> -{ - enum { PointerSize = 8 }; -}; - -int main( int, char ** ) -{ - return QPointerSizeTest<sizeof(void*)>::PointerSize; + EGLDisplay dpy = 0; + EGLContext ctx = 0; + mali_native_window *w = 0; + eglDestroyContext(dpy, ctx); + return 0; } - diff --git a/config.tests/qpa/eglfs-mali-2/eglfs-mali-2.pro b/config.tests/qpa/eglfs-mali-2/eglfs-mali-2.pro new file mode 100644 index 0000000000..85bcf6484a --- /dev/null +++ b/config.tests/qpa/eglfs-mali-2/eglfs-mali-2.pro @@ -0,0 +1,5 @@ +SOURCES = eglfs-mali-2.cpp + +CONFIG -= qt + +LIBS += -lEGL -lGLESv2 diff --git a/config.tests/qpa/gbm/gbm.cpp b/config.tests/qpa/gbm/gbm.cpp new file mode 100644 index 0000000000..d4f211163d --- /dev/null +++ b/config.tests/qpa/gbm/gbm.cpp @@ -0,0 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the config.tests 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 <stdlib.h> +#include <stdint.h> +extern "C" { +#include <gbm.h> +} + +int main(int, char **) +{ + gbm_surface *surface = 0; + return 0; +} diff --git a/config.tests/qpa/gbm/gbm.pro b/config.tests/qpa/gbm/gbm.pro new file mode 100644 index 0000000000..19177062a8 --- /dev/null +++ b/config.tests/qpa/gbm/gbm.pro @@ -0,0 +1,4 @@ +SOURCES = gbm.cpp +CONFIG += link_pkgconfig +PKGCONFIG += gbm +CONFIG -= qt diff --git a/config.tests/qpa/kms/kms.cpp b/config.tests/qpa/kms/kms.cpp index 64c11158c5..ac0c281386 100644 --- a/config.tests/qpa/kms/kms.cpp +++ b/config.tests/qpa/kms/kms.cpp @@ -32,17 +32,14 @@ ****************************************************************************/ #include <stdlib.h> +#include <stdint.h> extern "C" { -#include <gbm.h> #include <xf86drmMode.h> #include <xf86drm.h> } -#include <EGL/egl.h> -#include <GLES2/gl2.h> int main(int, char **) { - // Check for gbm_surface which is quite a recent addition. - gbm_surface *surface = 0; + drmModeCrtcPtr currentMode = drmModeGetCrtc(0, 0); return 0; } diff --git a/config.tests/qpa/kms/kms.pro b/config.tests/qpa/kms/kms.pro index 618063dbb9..1fb73677e7 100644 --- a/config.tests/qpa/kms/kms.pro +++ b/config.tests/qpa/kms/kms.pro @@ -1,4 +1,4 @@ SOURCES = kms.cpp CONFIG += link_pkgconfig -PKGCONFIG += libdrm libudev egl gbm glesv2 +PKGCONFIG += libdrm libudev CONFIG -= qt diff --git a/config.tests/qpa/mirclient/mirclient.cpp b/config.tests/qpa/mirclient/mirclient.cpp new file mode 100644 index 0000000000..c7148e82f9 --- /dev/null +++ b/config.tests/qpa/mirclient/mirclient.cpp @@ -0,0 +1,47 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the config.tests 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 <mir_toolkit/mir_client_library.h> +#include <ubuntu/application/lifecycle_delegate.h> +#include <EGL/egl.h> + +static void surfaceCreateCallback(MirSurface*, void*) +{ +} + + +int main(int, char **) +{ + u_application_lifecycle_delegate_new(); + mir_surface_create(0, surfaceCreateCallback, 0); +} diff --git a/config.tests/qpa/mirclient/mirclient.pro b/config.tests/qpa/mirclient/mirclient.pro new file mode 100644 index 0000000000..b397c2d08a --- /dev/null +++ b/config.tests/qpa/mirclient/mirclient.pro @@ -0,0 +1,4 @@ +SOURCES = mirclient.cpp +CONFIG += link_pkgconfig +PKGCONFIG += egl mirclient ubuntu-platform-api +CONFIG -= qt diff --git a/config.tests/qpa/wayland-server/wayland-server.pro b/config.tests/qpa/wayland-server/wayland-server.pro new file mode 100644 index 0000000000..c07740d20f --- /dev/null +++ b/config.tests/qpa/wayland-server/wayland-server.pro @@ -0,0 +1,5 @@ +SOURCES = wl.cpp + +CONFIG -= qt +CONFIG += link_pkgconfig +PKGCONFIG += wayland-server diff --git a/config.tests/qpa/wayland-server/wl.cpp b/config.tests/qpa/wayland-server/wl.cpp new file mode 100644 index 0000000000..ba1756af57 --- /dev/null +++ b/config.tests/qpa/wayland-server/wl.cpp @@ -0,0 +1,40 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the config.tests 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 <wayland-server.h> + +int main(int, char **) +{ + wl_display_create(); + return 0; +} diff --git a/config.tests/unix/cloexec/cloexec.cpp b/config.tests/unix/cloexec/cloexec.cpp new file mode 100644 index 0000000000..3f127d8d3f --- /dev/null +++ b/config.tests/unix/cloexec/cloexec.cpp @@ -0,0 +1,49 @@ +/**************************************************************************** +** +** Copyright (C) 2015 Intel Corporation. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the configuration 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$ +** +****************************************************************************/ + +#define _GNU_SOURCE 1 + +#include <sys/types.h> +#include <sys/socket.h> +#include <fcntl.h> +#include <unistd.h> + +int main() +{ + int pipes[2]; + (void) pipe2(pipes, O_CLOEXEC | O_NONBLOCK); + (void) fcntl(0, F_DUPFD_CLOEXEC, 0); + (void) dup3(0, 3, O_CLOEXEC); + (void) accept4(0, 0, 0, SOCK_CLOEXEC | SOCK_NONBLOCK); + return 0; +} diff --git a/config.tests/unix/cloexec/cloexec.pro b/config.tests/unix/cloexec/cloexec.pro new file mode 100644 index 0000000000..bc735f9b1f --- /dev/null +++ b/config.tests/unix/cloexec/cloexec.pro @@ -0,0 +1,3 @@ +SOURCES = cloexec.cpp +CONFIG -= qt +QT = diff --git a/config.tests/unix/freetype/freetype.pri b/config.tests/unix/freetype/freetype.pri index be2fc33265..05299ed2fd 100644 --- a/config.tests/unix/freetype/freetype.pri +++ b/config.tests/unix/freetype/freetype.pri @@ -2,6 +2,7 @@ TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH # LSB doesn't allow using headers from /include or /usr/include linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH + haiku:TRY_INCLUDEPATHS += /system/develop/headers for(p, TRY_INCLUDEPATHS) { p = $$join(p, "", "", "/freetype2") exists($$p):INCLUDEPATH *= $$p diff --git a/config.tests/unix/harfbuzz/harfbuzz.cpp b/config.tests/unix/harfbuzz/harfbuzz.cpp index bbaa9fc14d..1e6f7e70d6 100644 --- a/config.tests/unix/harfbuzz/harfbuzz.cpp +++ b/config.tests/unix/harfbuzz/harfbuzz.cpp @@ -33,7 +33,7 @@ #include <harfbuzz/hb.h> -#if !HB_VERSION_ATLEAST(0, 9, 31) +#if !HB_VERSION_ATLEAST(0, 9, 42) # error "This version of harfbuzz is too old." #endif diff --git a/config.tests/unix/ptrsize.test b/config.tests/unix/ptrsize.test deleted file mode 100755 index 4f42c6d11d..0000000000 --- a/config.tests/unix/ptrsize.test +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -QMKSPEC=$1 -VERBOSE=$2 -SRCDIR=$3 -OUTDIR=$4 - -# debuggery -[ "$VERBOSE" = "yes" ] && echo "Testing size of pointers ... ($*)" - -# build and run a test program -test -d "$OUTDIR/config.tests/unix/ptrsize" || mkdir -p "$OUTDIR/config.tests/unix/ptrsize" -"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG-=app_bundle" "$SRCDIR/config.tests/unix/ptrsize/ptrsizetest.pro" -o "$OUTDIR/config.tests/unix/ptrsize/Makefile" >/dev/null 2>&1 -cd "$OUTDIR/config.tests/unix/ptrsize" - -if [ "$VERBOSE" = "yes" ]; then - ($MAKE clean && $MAKE) -else - ($MAKE clean && $MAKE) >/dev/null 2>&1 -fi -RETVAL=$? - -if [ "$RETVAL" -ne 0 ]; then - PTRSIZE=4 -else - PTRSIZE=8 -fi - - -# done -[ "$VERBOSE" = "yes" ] && echo "Pointer size: $PTRSIZE" -exit $PTRSIZE diff --git a/config.tests/unix/ptrsize/ptrsizetest.pro b/config.tests/unix/ptrsize/ptrsizetest.pro deleted file mode 100644 index a7ae38a5d9..0000000000 --- a/config.tests/unix/ptrsize/ptrsizetest.pro +++ /dev/null @@ -1,3 +0,0 @@ -SOURCES = ptrsizetest.cpp -CONFIG -= qt dylib -CONFIG += debug console diff --git a/config.tests/unix/syslog/syslog.c b/config.tests/unix/syslog/syslog.c new file mode 100644 index 0000000000..01e4bbaf8c --- /dev/null +++ b/config.tests/unix/syslog/syslog.c @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2015 Tasuku Suzuki <stasuku@gmail.com> +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the config.tests 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 <syslog.h> + +int main(int argc, char **argv) +{ + openlog("qt", 0, LOG_USER); + syslog(LOG_INFO, "configure"); + closelog(); + return 0; +} diff --git a/config.tests/unix/syslog/syslog.pro b/config.tests/unix/syslog/syslog.pro new file mode 100644 index 0000000000..abe8cc9cd7 --- /dev/null +++ b/config.tests/unix/syslog/syslog.pro @@ -0,0 +1,3 @@ +SOURCES = syslog.c + +CONFIG -= qt diff --git a/config.tests/win/directwrite/directwrite.cpp b/config.tests/win/directwrite/directwrite.cpp new file mode 100644 index 0000000000..01bea19faf --- /dev/null +++ b/config.tests/win/directwrite/directwrite.cpp @@ -0,0 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the config.tests 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 <dwrite.h> +#include <d2d1.h> + +int main(int, char**) +{ + IDWriteFactory *factory = 0; + DWriteCreateFactory(DWRITE_FACTORY_TYPE_SHARED, + __uuidof(IDWriteFactory), + reinterpret_cast<IUnknown **>(&factory)); + return 0; +} diff --git a/config.tests/win/directwrite/directwrite.pro b/config.tests/win/directwrite/directwrite.pro new file mode 100644 index 0000000000..9a4612ca11 --- /dev/null +++ b/config.tests/win/directwrite/directwrite.pro @@ -0,0 +1,4 @@ +SOURCES = directwrite.cpp +LIBS += -ldwrite +CONFIG -= qt +CONFIG += console |