CI: run all test flavors on BSDs
[tinc] / src / meson.build
index d96dd71..351124e 100644 (file)
@@ -18,6 +18,15 @@ foreach attr : ['malloc', 'nonnull', 'warn_unused_result', 'packed', 'format']
   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; }
@@ -73,8 +82,11 @@ endif
 check_functions = [
   'asprintf',
   'daemon',
+  'explicit_bzero',
+  'explicit_memset',
   'fchmod',
   'gettimeofday',
+  'memset_s',
   'mlockall',
   'putenv',
   'strsignal',
@@ -103,12 +115,14 @@ subdir('chacha-poly1305')
 
 src_lib_common = [
   'conf.c',
+  'console.c',
   'dropin.c',
   'keys.c',
   'list.c',
   'logger.c',
   'names.c',
   'netutl.c',
+  'pidfile.c',
   'script.c',
   'splay_tree.c',
   'sptps.c',
@@ -152,6 +166,7 @@ src_tincd = [
   'protocol_key.c',
   'protocol_misc.c',
   'protocol_subnet.c',
+  'proxy.c',
   'raw_socket_device.c',
   'route.c',
   'subnet.c',
@@ -263,6 +278,9 @@ else
   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)