summaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-02-18 09:37:36 -0500
committerMatthias Clasen <mclasen@redhat.com>2023-02-18 09:37:36 -0500
commit9f64202a60e587871cfcd60a150ca814b1d75970 (patch)
treeb1bfeaed1b1daa03366ca582e8237ac5eaebc70d /meson.build
parent19c362f638e383417ecf08b8f3bf1d581e69abb4 (diff)
downloadgtk+-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.build27
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.