From 3bb8b5e4517a720d178dbe5c53b4a444d718bcf1 Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Fri, 14 Sep 2018 15:19:48 +0300 Subject: [PATCH] cmake: check for GNU compatible glob support The GLOB_TILDE flag is a GNU extension. musl libc does not implement this extension, which leads to build failure: .../libssh-0.8.1/src/config.c: In function 'local_parse_glob': /home/buildroot/autobuild/run/instance-1/output/build/libssh-0.8.1/src/config.c:329:10: error: 'glob_t {aka struct }' has no member named 'gl_flags'; did you mean 'gl_offs'? .gl_flags = 0, ^~~~~~~~ gl_offs .../libssh-0.8.1/src/config.c:334:25: error: 'GLOB_TILDE' undeclared (first use in this function); did you mean '_IO_FILE'? rt = glob(fileglob, GLOB_TILDE, NULL, &globbuf); ^~~~~~~~~~ _IO_FILE Check for GLOB_TILDE directly to make sure the libc provides the required extension. Signed-off-by: Baruch Siach --- Upstream status: https://www.libssh.org/archive/libssh/2018-09/0000020.html ConfigureChecks.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index f91bd038f5a3..dac61bcf678e 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -156,7 +156,7 @@ check_function_exists(explicit_bzero HAVE_EXPLICIT_BZERO) check_function_exists(memset_s HAVE_MEMSET_S) if (HAVE_GLOB_H) - check_function_exists(glob HAVE_GLOB) + check_symbol_exists(GLOB_TILDE "glob.h" HAVE_GLOB) endif (HAVE_GLOB_H) if (NOT WIN32) -- 2.18.0