diff options
author | Matthias Clasen <mclasen@redhat.com> | 2023-02-18 09:37:36 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2023-02-18 09:37:36 -0500 |
commit | 9f64202a60e587871cfcd60a150ca814b1d75970 (patch) | |
tree | b1bfeaed1b1daa03366ca582e8237ac5eaebc70d /meson.build | |
parent | 19c362f638e383417ecf08b8f3bf1d581e69abb4 (diff) | |
download | gtk+-9f64202a60e587871cfcd60a150ca814b1d75970.tar.gz |
meson: Consolidate function checks
Put all the function checks in one place.
Remove functions we don't actually use,
and add ones that we have #ifdefs for in
in the code. Also add enough includes to
make these checks actually work.
Fixes: #5070
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/meson.build b/meson.build index 4fff2394bd..81c5a459eb 100644 --- a/meson.build +++ b/meson.build @@ -187,23 +187,28 @@ endforeach libm = cc.find_library('m', required: false) check_functions = [ - 'dcgettext', 'getpagesize', 'getresuid', - 'lstat', + 'madvise', 'memfd_create', + 'mkostemp', + 'mlock', 'mmap', 'posix_fallocate', - '_lock_file', - 'flockfile', - 'mkstemp', - 'mallinfo2', 'sincos', 'sincosf', ] foreach func : check_functions - if cc.has_function(func, dependencies: libm) + if cc.has_function(func, + args: '-D_GNU_SOURCE', + prefix: + '#include <stdlib.h>\n' + + '#include <unistd.h>\n' + + '#include <sys/mman.h>\n' + + '#include <fcntl.h>\n' + + '#include <math.h>', + dependencies: libm) cdata.set('HAVE_' + func.underscorify().to_upper(), 1) endif endforeach @@ -230,14 +235,6 @@ if cc.compiles(uint128_t_src, name : '__uint128_t available') cdata.set('HAVE_UINT128_T', 1) endif -# Check for mlock and madvise -if cc.has_function('mlock', prefix: '#include <sys/mman.h>') - cdata.set('HAVE_MLOCK', 1) -endif -if cc.has_function('madvise', prefix: '#include <sys/mman.h>') - cdata.set('HAVE_MADVISE', 1) -endif - # Disable deprecation checks for all libraries we depend on on stable branches. # This is so newer versions of those libraries don't cause more warnings with # a stable GTK version. |