forked from AuroraMiddleware/gtk
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
This commit is contained in:
parent
19c362f638
commit
9f64202a60
27
meson.build
27
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.
|
||||
|
Loading…
Reference in New Issue
Block a user