summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.cmake11
-rw-r--r--src/corelib/configure.cmake31
-rw-r--r--src/gui/configure.cmake93
-rw-r--r--src/network/configure.cmake29
4 files changed, 127 insertions, 37 deletions
diff --git a/configure.cmake b/configure.cmake
index f6fba22731..8ac9749663 100644
--- a/configure.cmake
+++ b/configure.cmake
@@ -18,6 +18,7 @@ qt_find_package(Libudev PROVIDED_TARGETS PkgConfig::Libudev)
# c++14
qt_config_compile_test(cxx14
LABEL "C++14 support"
+ CODE
"#if __cplusplus > 201103L
// Compiler claims to support C++14, trust it
#else
@@ -40,6 +41,7 @@ int main(int argc, char **argv)
# c++17
qt_config_compile_test(cxx17
LABEL "C++17 support"
+ CODE
"#if __cplusplus > 201402L
// Compiler claims to support C++17, trust it
#else
@@ -66,6 +68,7 @@ std::visit([](const auto &) { return 1; }, v);
# c++2a
qt_config_compile_test(cxx2a
LABEL "C++2a support"
+ CODE
"#if __cplusplus > 201703L
// Compiler claims to support experimental C++2a, trust it
#else
@@ -88,6 +91,7 @@ int main(int argc, char **argv)
# precompile_header
qt_config_compile_test(precompile_header
LABEL "precompiled header support"
+ CODE
"
#ifndef HEADER_H
@@ -107,6 +111,7 @@ int main(int argc, char **argv)
# reduce_relocations
qt_config_compile_test(reduce_relocations
LABEL "-Bsymbolic-functions support"
+ CODE
"#if !(defined(__i386) || defined(__i386__) || defined(__x86_64) || defined(__x86_64__) || defined(__amd64))
# error Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129).
#endif
@@ -126,6 +131,7 @@ int main(int argc, char **argv)
# signaling_nan
qt_config_compile_test(signaling_nan
LABEL "Signaling NaN for doubles"
+ CODE
"#include <limits>
@@ -206,6 +212,7 @@ qt_config_compile_test_x86simd(avx512vbmi "AVX512 VBMI instructions")
# posix_fallocate
qt_config_compile_test(posix_fallocate
LABEL "POSIX fallocate()"
+ CODE
"
#include <fcntl.h>
#include <unistd.h>
@@ -223,6 +230,7 @@ int main(int argc, char **argv)
# alloca_stdlib_h
qt_config_compile_test(alloca_stdlib_h
LABEL "alloca() in stdlib.h"
+ CODE
"
#include <stdlib.h>
@@ -239,6 +247,7 @@ alloca(1);
# alloca_h
qt_config_compile_test(alloca_h
LABEL "alloca() in alloca.h"
+ CODE
"
#include <alloca.h>
#ifdef __QNXNTO__
@@ -258,6 +267,7 @@ alloca(1);
# alloca_malloc_h
qt_config_compile_test(alloca_malloc_h
LABEL "alloca() in malloc.h"
+ CODE
"
#include <malloc.h>
@@ -274,6 +284,7 @@ alloca(1);
# stack_protector
qt_config_compile_test(stack_protector
LABEL "stack protection"
+ CODE
"#ifdef __QNXNTO__
# include <sys/neutrino.h>
# if _NTO_VERSION < 700
diff --git a/src/corelib/configure.cmake b/src/corelib/configure.cmake
index 9730f78962..8e4cbcd596 100644
--- a/src/corelib/configure.cmake
+++ b/src/corelib/configure.cmake
@@ -29,6 +29,7 @@ qt_find_package(Slog2 PROVIDED_TARGETS Slog2::Slog2)
# atomicfptr
qt_config_compile_test(atomicfptr
LABEL "working std::atomic for function pointers"
+ CODE
"
#include <atomic>
typedef void (*fptr)(int);
@@ -58,6 +59,9 @@ test(fptr);
# clock-monotonic
qt_config_compile_test(clock_monotonic
LABEL "POSIX monotonic clock"
+ LIBRARIES
+ WrapRt
+ CODE
"
#include <unistd.h>
#include <time.h>
@@ -75,12 +79,12 @@ clock_gettime(CLOCK_MONOTONIC, &ts);
/* END TEST: */
return 0;
}
-"# FIXME: use: librt
-)
+")
# cloexec
qt_config_compile_test(cloexec
LABEL "O_CLOEXEC"
+ CODE
"#define _GNU_SOURCE 1
#include <sys/types.h>
#include <sys/socket.h>
@@ -111,7 +115,8 @@ if (UNIX)
endif()
qt_config_compile_test(cxx11_future
LABEL "C++11 <future>"
- LIBRARIES "${cxx11_future_TEST_LIBRARIES}"
+ LIBRARIES
+ "${cxx11_future_TEST_LIBRARIES}"
CODE
"
#include <future>
@@ -130,6 +135,7 @@ std::future<int> f = std::async([]() { return 42; });
# cxx11_random
qt_config_compile_test(cxx11_random
LABEL "C++11 <random>"
+ CODE
"
#include <random>
@@ -146,6 +152,7 @@ std::mt19937 mt(0);
# eventfd
qt_config_compile_test(eventfd
LABEL "eventfd"
+ CODE
"
#include <sys/eventfd.h>
@@ -165,6 +172,7 @@ eventfd_write(fd, value);
# futimens
qt_config_compile_test(futimens
LABEL "futimens()"
+ CODE
"
#include <sys/stat.h>
@@ -182,6 +190,7 @@ futimens(-1, 0);
# futimes
qt_config_compile_test(futimes
LABEL "futimes()"
+ CODE
"
#include <sys/time.h>
@@ -198,6 +207,7 @@ futimes(-1, 0);
# getauxval
qt_config_compile_test(getauxval
LABEL "getauxval()"
+ CODE
"
#include <sys/auxv.h>
@@ -214,6 +224,7 @@ int main(int argc, char **argv)
# getentropy
qt_config_compile_test(getentropy
LABEL "getentropy()"
+ CODE
"
#include <unistd.h>
@@ -231,6 +242,7 @@ char buf[32];
# glibc
qt_config_compile_test(glibc
LABEL "GNU libc"
+ CODE
"
#include <stdlib.h>
@@ -247,6 +259,7 @@ return __GLIBC__;
# inotify
qt_config_compile_test(inotify
LABEL "inotify"
+ CODE
"
#include <sys/inotify.h>
@@ -265,6 +278,7 @@ inotify_rm_watch(0, 1);
# ipc_sysv
qt_config_compile_test(ipc_sysv
LABEL "SysV IPC"
+ CODE
"
#include <sys/types.h>
#include <sys/ipc.h>
@@ -291,7 +305,8 @@ if (LINUX)
endif()
qt_config_compile_test(ipc_posix
LABEL "POSIX IPC"
- LIBRARIES "${ipc_posix_TEST_LIBRARIES}"
+ LIBRARIES
+ "${ipc_posix_TEST_LIBRARIES}"
CODE
"
#include <sys/types.h>
@@ -314,6 +329,7 @@ shm_unlink(\"test\");
# linkat
qt_config_compile_test(linkat
LABEL "linkat()"
+ CODE
"#define _ATFILE_SOURCE 1
#include <fcntl.h>
#include <unistd.h>
@@ -331,6 +347,7 @@ linkat(AT_FDCWD, \"foo\", AT_FDCWD, \"bar\", AT_SYMLINK_FOLLOW);
# ppoll
qt_config_compile_test(ppoll
LABEL "ppoll()"
+ CODE
"
#include <signal.h>
#include <poll.h>
@@ -351,6 +368,7 @@ ppoll(&pfd, 1, &ts, &sig);
# pollts
qt_config_compile_test(pollts
LABEL "pollts()"
+ CODE
"
#include <poll.h>
#include <signal.h>
@@ -372,6 +390,7 @@ pollts(&pfd, 1, &ts, &sig);
# poll
qt_config_compile_test(poll
LABEL "poll()"
+ CODE
"
#include <poll.h>
@@ -389,6 +408,7 @@ poll(&pfd, 1, 0);
# renameat2
qt_config_compile_test(renameat2
LABEL "renameat2()"
+ CODE
"#define _ATFILE_SOURCE 1
#include <fcntl.h>
#include <stdio.h>
@@ -406,6 +426,7 @@ renameat2(AT_FDCWD, argv[1], AT_FDCWD, argv[2], RENAME_NOREPLACE | RENAME_WHITEO
# statx
qt_config_compile_test(statx
LABEL "statx() in libc"
+ CODE
"#define _ATFILE_SOURCE 1
#include <sys/types.h>
#include <sys/stat.h>
@@ -427,6 +448,7 @@ return statx(AT_FDCWD, \"\", AT_STATX_SYNC_AS_STAT, mask, &statxbuf);
# syslog
qt_config_compile_test(syslog
LABEL "syslog"
+ CODE
"
#include <syslog.h>
@@ -445,6 +467,7 @@ closelog();
# xlocalescanprint
qt_config_compile_test(xlocalescanprint
LABEL "xlocale.h (or equivalents)"
+ CODE
"
#define QT_BEGIN_NAMESPACE
diff --git a/src/gui/configure.cmake b/src/gui/configure.cmake
index 2f8c7cecb0..9269b130b6 100644
--- a/src/gui/configure.cmake
+++ b/src/gui/configure.cmake
@@ -106,6 +106,7 @@ endif()
# angle_d3d11_qdtd
qt_config_compile_test(angle_d3d11_qdtd
LABEL "D3D11_QUERY_DATA_TIMESTAMP_DISJOINT"
+ CODE
"
#include <d3d11.h>
@@ -123,6 +124,9 @@ D3D11_QUERY_DATA_TIMESTAMP_DISJOINT qdtd;
# drm_atomic
qt_config_compile_test(drm_atomic
LABEL "DRM Atomic API"
+ LIBRARIES
+ Libdrm::Libdrm
+ CODE
"#include <stdlib.h>
#include <stdint.h>
extern \"C\" {
@@ -137,12 +141,15 @@ drmModeAtomicReq *request;
/* END TEST: */
return 0;
}
-"# FIXME: use: drm
-)
+")
# egl-x11
qt_config_compile_test(egl_x11
LABEL "EGL on X11"
+ LIBRARIES
+ EGL::EGL
+ X11::XCB
+ CODE
"// Check if EGL is compatible with X. Some EGL implementations, typically on
// embedded devices, are not intended to be used together with X. EGL support
// has to be disabled in plugins like xcb in this case since the native display,
@@ -164,12 +171,14 @@ XCloseDisplay(dpy);
/* END TEST: */
return 0;
}
-"# FIXME: use: egl xlib
-)
+")
# egl-brcm
qt_config_compile_test(egl_brcm
LABEL "Broadcom EGL (Raspberry Pi)"
+ LIBRARIES
+ EGL::EGL
+ CODE
"
#include <EGL/egl.h>
#include <bcm_host.h>
@@ -182,12 +191,15 @@ vc_dispmanx_display_open(0);
/* END TEST: */
return 0;
}
-"# FIXME: use: egl bcm_host
+"# FIXME: use: unmapped library: bcm_host
)
# egl-egldevice
qt_config_compile_test(egl_egldevice
LABEL "EGLDevice"
+ LIBRARIES
+ EGL::EGL
+ CODE
"
#include <EGL/egl.h>
#include <EGL/eglext.h>
@@ -203,12 +215,14 @@ EGLOutputLayerEXT layer = 0;
/* END TEST: */
return 0;
}
-"# FIXME: use: egl
-)
+")
# egl-mali
qt_config_compile_test(egl_mali
LABEL "Mali EGL"
+ LIBRARIES
+ EGL::EGL
+ CODE
"
#include <EGL/fbdev_window.h>
#include <EGL/egl.h>
@@ -222,12 +236,14 @@ fbdev_window *w = 0;
/* END TEST: */
return 0;
}
-"# FIXME: use: egl
-)
+")
# egl-mali-2
qt_config_compile_test(egl_mali_2
LABEL "Mali 2 EGL"
+ LIBRARIES
+ EGL::EGL
+ CODE
"
#include <EGL/egl.h>
#include <GLES2/gl2.h>
@@ -240,12 +256,14 @@ mali_native_window *w = 0;
/* END TEST: */
return 0;
}
-"# FIXME: use: egl
-)
+")
# egl-viv
qt_config_compile_test(egl_viv
LABEL "i.Mx6 EGL"
+ LIBRARIES
+ EGL::EGL
+ CODE
"
#include <EGL/egl.h>
#include <EGL/eglvivante.h>
@@ -265,12 +283,14 @@ fbGetDisplayByIndex(0);
return 0;
}
"# FIXME: qmake: ['DEFINES += EGL_API_FB=1', '!integrity: DEFINES += LINUX=1']
-# FIXME: use: egl
)
# egl-openwfd
qt_config_compile_test(egl_openwfd
LABEL "OpenWFD EGL"
+ LIBRARIES
+ EGL::EGL
+ CODE
"
#include <wfd.h>
@@ -282,12 +302,15 @@ wfdEnumerateDevices(nullptr, 0, nullptr);
/* END TEST: */
return 0;
}
-"# FIXME: use: egl
-)
+")
# egl-rcar
qt_config_compile_test(egl_rcar
LABEL "RCAR EGL"
+ LIBRARIES
+ EGL::EGL
+ GLESv2::GLESv2
+ CODE
"
#include <EGL/egl.h>
extern \"C\" {
@@ -301,12 +324,12 @@ PVRGrfxServerInit();
/* END TEST: */
return 0;
}
-"# FIXME: use: egl opengl_es2
-)
+")
# evdev
qt_config_compile_test(evdev
LABEL "evdev"
+ CODE
"#if defined(__FreeBSD__)
# include <dev/evdev/input.h>
#else
@@ -335,6 +358,7 @@ input_event buf[32];
# integrityfb
qt_config_compile_test(integrityfb
LABEL "INTEGRITY framebuffer"
+ CODE
"
#include <device/fbdriver.h>
@@ -351,6 +375,7 @@ FBDriver *driver = 0;
# linuxfb
qt_config_compile_test(linuxfb
LABEL "LinuxFB"
+ CODE
"
#include <linux/fb.h>
#include <sys/kd.h>
@@ -373,6 +398,9 @@ ioctl(fd, FBIOGET_VSCREENINFO, &vinfo);
# opengles3
qt_config_compile_test(opengles3
LABEL "OpenGL ES 3.0"
+ LIBRARIES
+ GLESv2::GLESv2
+ CODE
"#ifdef __APPLE__
# include <OpenGLES/ES3/gl.h>
#else
@@ -393,12 +421,14 @@ glMapBufferRange(GL_ARRAY_BUFFER, 0, 0, GL_MAP_READ_BIT);
/* END TEST: */
return 0;
}
-"# FIXME: use: opengl_es2
-)
+")
# opengles31
qt_config_compile_test(opengles31
LABEL "OpenGL ES 3.1"
+ LIBRARIES
+ GLESv2::GLESv2
+ CODE
"
#include <GLES3/gl31.h>
@@ -411,12 +441,14 @@ glProgramUniform1i(0, 0, 0);
/* END TEST: */
return 0;
}
-"# FIXME: use: opengl_es2
-)
+")
# opengles32
qt_config_compile_test(opengles32
LABEL "OpenGL ES 3.2"
+ LIBRARIES
+ GLESv2::GLESv2
+ CODE
"
#include <GLES3/gl32.h>
@@ -428,12 +460,26 @@ glFramebufferTexture(GL_TEXTURE_2D, GL_DEPTH_STENCIL_ATTACHMENT, 1, 0);
/* END TEST: */
return 0;
}
-"# FIXME: use: opengl_es2
-)
+")
# xcb_syslibs
qt_config_compile_test(xcb_syslibs
LABEL "XCB (extensions)"
+ LIBRARIES
+ XCB::ICCCM
+ XCB::IMAGE
+ XCB::KEYSYMS
+ XCB::RANDR
+ XCB::RENDER
+ XCB::RENDERUTIL
+ XCB::SHAPE
+ XCB::SHM
+ XCB::SYNC
+ XCB::XFIXES
+ XCB::XINERAMA
+ XCB::XKB
+ XCB::XCB
+ CODE
"// xkb.h is using a variable called 'explicit', which is a reserved keyword in C++
#define explicit dont_use_cxx_explicit
#include <xcb/xcb.h>
@@ -469,8 +515,7 @@ xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof(nullptr, 0, 0, 0, 0,
/* END TEST: */
return 0;
}
-"# FIXME: use: xcb_icccm xcb_image xcb_keysyms xcb_randr xcb_render xcb_renderutil xcb_shape xcb_shm xcb_sync xcb_xfixes xcb_xinerama xcb_xkb xcb
-)
+")
diff --git a/src/network/configure.cmake b/src/network/configure.cmake
index 1e2df486f4..45c68ef4df 100644
--- a/src/network/configure.cmake
+++ b/src/network/configure.cmake
@@ -17,6 +17,7 @@ qt_find_package(GSSAPI PROVIDED_TARGETS GSSAPI::GSSAPI)
# getifaddrs
qt_config_compile_test(getifaddrs
LABEL "getifaddrs()"
+ CODE
"
#include <sys/types.h>
#include <sys/socket.h>
@@ -33,12 +34,13 @@ freeifaddrs(list);
/* END TEST: */
return 0;
}
-"# FIXME: use: network
+"# FIXME: use: unmapped library: network
)
# ipv6ifname
qt_config_compile_test(ipv6ifname
LABEL "IPv6 ifname"
+ CODE
"
#include <sys/types.h>
#include <sys/socket.h>
@@ -55,12 +57,13 @@ if_freenameindex(if_nameindex());
/* END TEST: */
return 0;
}
-"# FIXME: use: network
+"# FIXME: use: unmapped library: network
)
# linux-netlink
qt_config_compile_test(linux_netlink
LABEL "Linux AF_NETLINK sockets"
+ CODE
"
#include <asm/types.h>
#include <linux/netlink.h>
@@ -88,6 +91,7 @@ ci.ifa_prefered = ci.ifa_valid = 0;
# sctp
qt_config_compile_test(sctp
LABEL "SCTP support"
+ CODE
"
#include <sys/types.h>
#include <sys/socket.h>
@@ -105,12 +109,15 @@ socklen_t sctpInitMsgSize = sizeof(sctpInitMsg);
/* END TEST: */
return 0;
}
-"# FIXME: use: network
+"# FIXME: use: unmapped library: network
)
# openssl11
qt_config_compile_test(openssl11
LABEL "OpenSSL 1.1 support"
+ LIBRARIES
+ OpenSSL::SSL
+ CODE
"
#include <openssl/opensslv.h>
#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L
@@ -124,12 +131,14 @@ int main(int argc, char **argv)
/* END TEST: */
return 0;
}
-"# FIXME: use: openssl
-)
+")
# dtls
qt_config_compile_test(dtls
LABEL "DTLS support in OpenSSL"
+ LIBRARIES
+ OpenSSL::SSL
+ CODE
"
#include <openssl/ssl.h>
#if defined(OPENSSL_NO_DTLS) || !defined(DTLS1_2_VERSION)
@@ -143,12 +152,14 @@ int main(int argc, char **argv)
/* END TEST: */
return 0;
}
-"# FIXME: use: openssl
-)
+")
# ocsp
qt_config_compile_test(ocsp
LABEL "OCSP stapling support in OpenSSL"
+ LIBRARIES
+ OpenSSL::SSL
+ CODE
"
#include <openssl/ssl.h>
#include <openssl/ocsp.h>
@@ -163,12 +174,12 @@ int main(int argc, char **argv)
/* END TEST: */
return 0;
}
-"# FIXME: use: openssl
-)
+")
# netlistmgr
qt_config_compile_test(netlistmgr
LABEL "Network List Manager"
+ CODE
"
#include <netlistmgr.h>
#include <wrl/client.h>