From 7148dfc67ff20c1c625d203aa47b574b3aaa5db1 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 18 Mar 2019 07:46:15 -0700 Subject: Accept that glibc's statx() falls back for us So we don't need to have a high kernel requirement on its account. I needed to introduce a configure-time check because we need to include a header to get the __GLIBC__ macro, but we can't include any header in assembler until we know it's glibc (we need to know that the header is assembler-safe). glibc, uClibc and MUSL do provide an assembler-safe features.h, but Bionic does not. And we need to know that it's glibc's implementation, since the fallback was not required. The other three libraries may not implement such a thing when they get around to adding the system call. Fixes: QTBUG-74526 Change-Id: I1004b4b819774c4c9296fffd158d14da98bf571c Reviewed-by: Fabian Vogt Reviewed-by: Simon Hausmann --- src/corelib/configure.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/corelib/configure.json') diff --git a/src/corelib/configure.json b/src/corelib/configure.json index a22a7459bd..5f5a00a64f 100644 --- a/src/corelib/configure.json +++ b/src/corelib/configure.json @@ -374,6 +374,16 @@ ] } }, + "glibc": { + "label": "GNU libc", + "type": "compile", + "test": { + "include": "stdlib.h", + "main": [ + "return __GLIBC__;" + ] + } + }, "inotify": { "label": "inotify", "type": "compile", @@ -593,6 +603,12 @@ "condition": "libs.glib", "output": [ "privateFeature", "feature" ] }, + "glibc": { + "label": "GNU libc", + "autoDetect": "config.linux", + "condition": "tests.glibc", + "output": [ "privateFeature" ] + }, "iconv": { "label": "iconv", "purpose": "Provides internationalization on Unix.", -- cgit v1.2.3 From 3449042f5b6a112c9984ff49ee8e5fbdea597bae Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 22 Mar 2019 15:53:34 -0700 Subject: QMimeDatabase: allow building without our internal copy Saves 234kB of read-only data (when compressed with zstd) in QtCore, plus one load-time execution. With Zlib, the size was 315 kB. [ChangeLog][QtCore][QMimeDatabase] Added configure option -no-mimetype-database that tells Qt not to bundle its own copy of the XDG MIME database. If this option is passed, QMimeDatabase will only work if there's a system copy in $XDG_DATA_DIRS/mime. This option is useful for Linux distributions that ensure the data is always present. Change-Id: I1004b4b819774c4c9296fffd158e69c490e88fb6 Reviewed-by: David Faure --- src/corelib/configure.json | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/corelib/configure.json') diff --git a/src/corelib/configure.json b/src/corelib/configure.json index ed31299603..b7eefb58c8 100644 --- a/src/corelib/configure.json +++ b/src/corelib/configure.json @@ -11,6 +11,7 @@ "icu": "boolean", "inotify": "boolean", "journald": "boolean", + "mimetype-database": "boolean", "pcre": { "type": "enum", "values": [ "qt", "system" ] }, "posix-ipc": { "type": "boolean", "name": "ipc_posix" }, "pps": { "type": "boolean", "name": "qqnx_pps" }, @@ -678,6 +679,11 @@ "condition": "features.textcodec", "output": [ "publicFeature", "feature" ] }, + "mimetype-database": { + "label": "Built-in copy of the MIME database", + "condition": "features.mimetype", + "output": [ "privateFeature" ] + }, "system-pcre2": { "label": "Using system PCRE2", "disable": "input.pcre == 'qt'", @@ -1048,6 +1054,7 @@ Please apply the patch corresponding to your Standard Library vendor, found in "glib", "iconv", "icu", + "mimetype-database", { "message": "Tracing backend", "type": "firstAvailableFeature", -- cgit v1.2.3