diff options
Diffstat (limited to 'src/corelib/configure.json')
-rw-r--r-- | src/corelib/configure.json | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/src/corelib/configure.json b/src/corelib/configure.json index a5b69a2df6..8067ca70f1 100644 --- a/src/corelib/configure.json +++ b/src/corelib/configure.json @@ -251,6 +251,23 @@ ] } }, + "cxx11_future": { + "label": "C++11 <future>", + "type": "compile", + "test": { + "include": "future", + "main": [ + "std::future<int> f = std::async([]() { return 42; });", + "(void)f.get();" + ], + "qmake": "unix:LIBS += -lpthread" + } + }, + "cxx11_random": { + "label": "C++11 <random>", + "type": "compile", + "test": "unix/cxx11_random" + }, "eventfd": { "label": "eventfd", "type": "compile", @@ -264,6 +281,26 @@ ] } }, + "futimens": { + "label": "futimens()", + "type": "compile", + "test": "unix/futimens" + }, + "futimes": { + "label": "futimes()", + "type": "compile", + "test": "unix/futimes" + }, + "getauxval": { + "label": "getauxval()", + "type": "compile", + "test": "unix/getauxval" + }, + "getentropy": { + "label": "getentropy()", + "type": "compile", + "test": "unix/getentropy" + }, "posix-iconv": { "label": "POSIX iconv", "type": "compile", @@ -349,6 +386,28 @@ ] } }, + "renameat2": { + "label": "renameat2()", + "type": "compile", + "test": { + "head": "#define _ATFILE_SOURCE 1", + "include": [ "fcntl.h", "stdio.h" ], + "main": "renameat2(AT_FDCWD, argv[1], AT_FDCWD, argv[2], RENAME_NOREPLACE | RENAME_WHITEOUT);" + } + }, + "statx": { + "label": "statx() in libc", + "type": "compile", + "test": { + "head": "#define _ATFILE_SOURCE 1", + "include": [ "sys/types.h", "sys/stat.h", "unistd.h", "fcntl.h" ], + "main": [ + "struct statx statxbuf;", + "unsigned int mask = STATX_BASIC_STATS;", + "return statx(AT_FDCWD, \"\", AT_STATX_SYNC_AS_STAT, mask, &statxbuf);" + ] + } + }, "syslog": { "label": "syslog", "type": "compile", @@ -395,11 +454,36 @@ "condition": "features.doubleconversion && libs.doubleconversion", "output": [ "privateFeature" ] }, + "cxx11_future": { + "label": "C++11 <future>", + "condition": "tests.cxx11_future", + "output": [ "publicFeature" ] + }, "eventfd": { "label": "eventfd", "condition": "tests.eventfd", "output": [ "feature" ] }, + "futimens": { + "label": "futimens()", + "condition": "!config.win32 && tests.futimens", + "output": [ "privateFeature" ] + }, + "futimes": { + "label": "futimes()", + "condition": "!config.win32 && !features.futimens && tests.futimes", + "output": [ "privateFeature" ] + }, + "getauxval": { + "label": "getauxval()", + "condition": "config.linux && tests.getauxval", + "output": [ "privateFeature" ] + }, + "getentropy": { + "label": "getentropy()", + "condition": "config.unix && tests.getentropy", + "output": [ "privateFeature" ] + }, "glib": { "label": "GLib", "autoDetect": "!config.win32", @@ -516,11 +600,21 @@ "condition": "features.statemachine", "output": [ "publicFeature" ] }, + "renameat2": { + "label": "renameat2()", + "condition": "config.linux && tests.renameat2", + "output": [ "privateFeature" ] + }, "slog2": { "label": "slog2", "condition": "libs.slog2", "output": [ "privateFeature" ] }, + "statx": { + "label": "statx() in libc", + "condition": "config.linux && tests.statx", + "output": [ "privateFeature" ] + }, "syslog": { "label": "syslog", "autoDetect": false, @@ -771,6 +865,11 @@ or are able to read the logged output from journald, syslog or slog2." }, { "type": "error", + "condition": "!tests.cxx11_random", + "message": "C++11 <random> is required and is missing or failed to compile." + }, + { + "type": "error", "condition": "input.doubleconversion == 'no' && !tests.xlocalescanprint", "message": "Your C library does not provide sscanf_l or snprintf_l. You need to use libdouble-conversion for double/string conversion." |