endif
endforeach
+if cc.compiles('''
+ #include <stdlib.h>
+ extern void *make() __attribute__((malloc(free)));
+ int main(void) { return 0; }
+''')
+ cdata.set('HAVE_ATTR_MALLOC_WITH_ARG', 1,
+ description: 'support for __attribute__((malloc(deallocator)))')
+endif
+
if cc.compiles('''
_Static_assert(1, "ok");
int main(void) { return 0; }
'sys/ioctl.h',
'sys/mman.h',
'sys/param.h',
+ 'sys/random.h',
'sys/resource.h',
'sys/socket.h',
'sys/stat.h',
check_functions = [
'asprintf',
'daemon',
+ 'explicit_bzero',
+ 'explicit_memset',
'fchmod',
+ 'getentropy',
'gettimeofday',
+ 'memset_s',
'mlockall',
'putenv',
'strsignal',
src_lib_common = [
'conf.c',
+ 'console.c',
'dropin.c',
'keys.c',
'list.c',
'protocol_key.c',
'protocol_misc.c',
'protocol_subnet.c',
+ 'proxy.c',
'raw_socket_device.c',
'route.c',
'subnet.c',
if not dep_readline.found()
dep_readline = cc.find_library('readline', required: opt_readline, static: static)
endif
+ if not dep_readline.found()
+ dep_readline = cc.find_library('libedit', required: opt_readline, static: static)
+ endif
if dep_readline.found() and \
cc.has_header('readline/readline.h', dependencies: dep_readline) and \
cc.has_header('readline/history.h', dependencies: dep_readline)