On Hurd, do not look for functions unimplemented in libc
authorPino Toscano <pino@debian.org>
Sun, 14 Aug 2022 16:55:39 +0000 (17:55 +0100)
committerAurélien COUDERC <coucouf@debian.org>
Sun, 14 Aug 2022 16:55:39 +0000 (17:55 +0100)
Last-Update: 2022-02-22
Forwarded: not-needed

The check_function_exists() function of cmake does not keep into account the
defines that glibc provides for the stubs (i.e. unimplemented functions that
always return ENOSYS), so some functions are detected as available.
Unfortunately, due to --fatal-warnings for the linker, linking will fail.
Hence, do not attempt to look for functions that are currently unimplemented
on GNU/Hurd's libc.

Gbp-Pq: Name hurd_disable_unimplemented.diff

src/ioslaves/file/ConfigureChecks.cmake

index ccc9353520272487b0e1729c59d934cb3514fc06..76a4a680c431e3ce4f8ee15f880f1cec7971fe3b 100644 (file)
@@ -13,9 +13,13 @@ check_include_files(sys/xattr.h   HAVE_SYS_XATTR_H)
 # On FreeBSD extattr.h doesn't compile without manually including sys/types.h
 check_include_files("sys/types.h;sys/extattr.h" HAVE_SYS_EXTATTR_H)
 
-check_function_exists(copy_file_range HAVE_COPY_FILE_RANGE)
+if (NOT (CMAKE_SYSTEM_NAME STREQUAL "GNU"))
+    check_function_exists(copy_file_range HAVE_COPY_FILE_RANGE)
+endif()
 
-check_function_exists(posix_fadvise    HAVE_FADVISE)                  # kioslave
+if (NOT (CMAKE_SYSTEM_NAME STREQUAL "GNU"))
+    check_function_exists(posix_fadvise    HAVE_FADVISE)                  # kioslave
+endif()
 
 check_struct_has_member("struct dirent" d_type dirent.h HAVE_DIRENT_D_TYPE LANGUAGE CXX)