diff options
-rw-r--r-- | configure.cmake | 11 | ||||
-rw-r--r-- | src/corelib/configure.cmake | 31 | ||||
-rw-r--r-- | src/gui/configure.cmake | 93 | ||||
-rw-r--r-- | src/network/configure.cmake | 29 |
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> |