diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/configure.json | 34 | ||||
-rw-r--r-- | src/gui/configure.json | 33 |
2 files changed, 59 insertions, 8 deletions
diff --git a/src/corelib/configure.json b/src/corelib/configure.json index 81448174b6..eb213398ca 100644 --- a/src/corelib/configure.json +++ b/src/corelib/configure.json @@ -277,7 +277,10 @@ "cxx11_random": { "label": "C++11 <random>", "type": "compile", - "test": "unix/cxx11_random" + "test": { + "include": "random", + "main": "std::mt19937 mt(0);" + } }, "eventfd": { "label": "eventfd", @@ -295,22 +298,43 @@ "futimens": { "label": "futimens()", "type": "compile", - "test": "unix/futimens" + "test": { + "include": "sys/stat.h", + "main": "futimens(-1, 0);", + "qmake": [ + "# Block futimens() on Apple platforms unless it's available on ALL", + "# deployment targets. This simplifies the logic at the call site", + "# dramatically, as it isn't strictly needed compared to futimes().", + "darwin: QMAKE_CXXFLAGS += -Werror=unguarded-availability" + ] + } }, "futimes": { "label": "futimes()", "type": "compile", - "test": "unix/futimes" + "test": { + "include": "sys/time.h", + "main": "futimes(-1, 0);" + } }, "getauxval": { "label": "getauxval()", "type": "compile", - "test": "unix/getauxval" + "test": { + "include": "sys/auxv.h", + "main": "(void) getauxval(AT_NULL);" + } }, "getentropy": { "label": "getentropy()", "type": "compile", - "test": "unix/getentropy" + "test": { + "include": "unistd.h", + "main": [ + "char buf[32];", + "(void) getentropy(buf, sizeof(buf));" + ] + } }, "posix-iconv": { "label": "POSIX iconv", diff --git a/src/gui/configure.json b/src/gui/configure.json index 67378114ca..caa6f065f0 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json @@ -521,7 +521,23 @@ }, "vulkan": { "label": "Vulkan", - "test": "qpa/vulkan", + "test": { + "comment": "Note: Qt does not rely on linking to a Vulkan library directly.", + "tail": [ + "// The pData parameter has changed from uint32_t* to void* at some point.", + "// Ensure the headers have the updated one to prevent compile errors later on.", + "PFN_vkCmdUpdateBuffer cmdUpdBuf;", + "void testUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)", + "{", + " cmdUpdBuf(commandBuffer, dstBuffer, dstOffset, dataSize, pData);", + "}" + ], + "main": [ + "VkInstanceCreateInfo info;", + "testUpdateBuffer(0, 0, 0, 0, 0);" + ] + }, + "headers": "vulkan/vulkan.h", "sources": [ { "type": "pkgConfig", "args": "vulkan" }, { "type": "makeSpec", "spec": "VULKAN" } @@ -776,7 +792,15 @@ }, "xrender": { "label": "XRender for native painting", - "test": "x11/xrender", + "test": { + "tail": [ + "#if RENDER_MAJOR == 0 && RENDER_MINOR < 5", + "# error Required Xrender version 0.6 not found.", + "#endif" + ], + "main": "XRenderPictFormat *format = 0;" + }, + "headers": "X11/extensions/Xrender.h", "sources": [ "-lXrender" ], @@ -1030,7 +1054,10 @@ "opengles32": { "label": "OpenGL ES 3.2", "type": "compile", - "test": "unix/opengles32", + "test": { + "include": "GLES3/gl32.h", + "main": "glFramebufferTexture(GL_TEXTURE_2D, GL_DEPTH_STENCIL_ATTACHMENT, 1, 0);" + }, "use": "opengl_es2" }, "qpa_default_platform": { |