diff options
author | Pino Toscano <toscano.pino@tiscali.it> | 2021-11-21 08:59:56 +0100 |
---|---|---|
committer | Pino Toscano <toscano.pino@tiscali.it> | 2022-01-19 01:53:14 +0100 |
commit | 099e0fff61f080e2d628c8f472df78f6fd2f5234 (patch) | |
tree | f0ad74018f6ec3bdb435469fafbf52b7ab0e13ce /src/corelib | |
parent | 6e5c7b9e4fe28308d6ddf8ac7f68814a2bd0382c (diff) |
CMake: add support for GNU/Hurd
Add a "HURD" CMake platform specification, so it can be properly
checked in the build system.
Set QT_DEFAULT_MKSPEC to the existing hurd-g++ mkspec.
Hurd supports $ORIGIN in RPATH, so enable it.
Hurd uses X11, so add it to the X11_SUPPORTED list.
Enable few more feature checks that apply to Hurd as well: either
because they are provided by GNU libc itself, or because they are
implemented on Hurd.
Check and set the ELF interpreter, as it is a common functionality of
the GNU toolchain.
Change-Id: Id347033560bbc5a2a4e2c3abb493c948c002b40e
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/corelib/configure.cmake | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index c1259150ab..be4bc7b2de 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -339,7 +339,7 @@ set_property(TARGET Core APPEND PROPERTY PRIVATE_HEADER "${CMAKE_CURRENT_BINARY_DIR}/global/qconfig_p.h") # Find ELF interpreter and define a macro for that: -if (LINUX AND NOT CMAKE_CROSSCOMPILING AND BUILD_SHARED_LIBS) +if ((LINUX OR HURD) AND NOT CMAKE_CROSSCOMPILING AND BUILD_SHARED_LIBS) if (NOT DEFINED ELF_INTERPRETER) execute_process(COMMAND ${CMAKE_COMMAND} -E env LC_ALL=C readelf -l /bin/ls RESULT_VARIABLE readelf_ok diff --git a/src/corelib/configure.cmake b/src/corelib/configure.cmake index 08d1e0d976..71e237ae9c 100644 --- a/src/corelib/configure.cmake +++ b/src/corelib/configure.cmake @@ -578,7 +578,7 @@ qt_feature("glib" PUBLIC PRIVATE qt_feature_definition("glib" "QT_NO_GLIB" NEGATE VALUE "1") qt_feature("glibc" PRIVATE LABEL "GNU libc" - AUTODETECT LINUX + AUTODETECT ( LINUX OR HURD ) CONDITION TEST_glibc ) qt_feature("icu" PRIVATE @@ -612,7 +612,7 @@ qt_feature("system-libb2" PRIVATE # Currently only used by QTemporaryFile; linkat() exists on Android, but hardlink creation fails due to security rules qt_feature("linkat" PRIVATE LABEL "linkat()" - AUTODETECT LINUX AND NOT ANDROID + AUTODETECT ( LINUX AND NOT ANDROID ) OR HURD CONDITION TEST_linkat ) qt_feature("std-atomic64" PUBLIC @@ -669,7 +669,7 @@ qt_feature("qqnx_pps" PRIVATE ) qt_feature("renameat2" PRIVATE LABEL "renameat2()" - CONDITION LINUX AND TEST_renameat2 + CONDITION ( LINUX OR HURD ) AND TEST_renameat2 ) qt_feature("slog2" PRIVATE LABEL "slog2" @@ -677,7 +677,7 @@ qt_feature("slog2" PRIVATE ) qt_feature("statx" PRIVATE LABEL "statx() in libc" - CONDITION LINUX AND TEST_statx + CONDITION ( LINUX OR HURD ) AND TEST_statx ) qt_feature("syslog" PRIVATE LABEL "syslog" |