X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fmeson.build;h=1d195cfa7254870386f597cc7e22adc4e5fb18c2;hb=d93d4f9dbd09bc5e53a9b5eeb1cc94939fee32bc;hp=d2b76cbe108ddb4421091033213318c0b32a5ed1;hpb=ccbe79c03b8c64432bbf1ce82dc0e123cc02bd6d;p=tinc diff --git a/src/meson.build b/src/meson.build index d2b76cbe..1d195cfa 100644 --- a/src/meson.build +++ b/src/meson.build @@ -18,6 +18,15 @@ foreach attr : ['malloc', 'nonnull', 'warn_unused_result', 'packed', 'format'] endif endforeach +if cc.compiles(''' + #include + 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,11 +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', @@ -115,7 +130,6 @@ src_lib_common = [ 'utils.c', 'version.c', 'xoshiro.c', - 'logger.c', ] src_tinc = [ @@ -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', @@ -163,6 +178,10 @@ deps_common = [] deps_tinc = [] deps_tincd = [cc.find_library('m', required: false)] +if os_name != 'windows' + src_lib_common += 'random.c' +endif + if os_name in ['linux', 'android'] subdir('linux') elif os_name.endswith('bsd') or os_name in ['dragonfly', 'darwin'] @@ -330,6 +349,10 @@ endif subdir(opt_crypto) +if opt_crypto != 'openssl' + src_lib_crypto += 'crypto.c' +endif + if opt_crypto != 'nolegacy' src_lib_crypto += ['cipher.c', 'digest.c'] endif