summaryrefslogtreecommitdiff
path: root/header_checks
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-03-01 12:06:26 +0000
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-03-01 12:06:26 +0000
commit5b9285ee7face73a360b50b8298935a9534f3ad1 (patch)
tree57587aa59cb4ff329c53fe5c943ec7423c1a9a52 /header_checks
parent63c32295a004ab03cc7fc77f0b85ba3de2957fab (diff)
meson - fix some more fbsd building and make notes on broken checks
i found the header checks are logically broken. i was about to replace with a cc.compiles() check but that requires that every check also have full working code not just a symbol to check the existence form so for now just fix the HAVE_NOTIFY_KEVENT define that makes eio build properly again on bsd and note the broken state for a future rethink on how these checks are done.
Diffstat (limited to 'header_checks')
-rw-r--r--header_checks/meson.build15
1 files changed, 14 insertions, 1 deletions
diff --git a/header_checks/meson.build b/header_checks/meson.build
index 066d228a83..8355eda8e8 100644
--- a/header_checks/meson.build
+++ b/header_checks/meson.build
@@ -57,6 +57,19 @@ header_checks = [
57 'crt_externs.h' 57 'crt_externs.h'
58] 58]
59 59
60#### The below is logically broken
61#### the declaration of symbol + headers when you look the symbols up
62#### in man pages you'll find that, for example, kevent needs you to
63#### include ALL of the headers listed below. same for setxattr,
64#### listxattr, pthread_getcpuclockid ... i stopped looking at this
65#### point because it seems this is the pattern, but the foreach below
66#### does not do this. it includes one header at a time from the list
67#### then checks to see if the symbol exists. this leads to failures
68#### in the checks (specifically i noticed kevent on bsd). so the whole
69#### construct for this is wrong. it needs a rethink. i'm putting this
70#### comment here as a note that this is the case for now as i'm just
71#### trying to fix the meson build on freebsd for now
72
60function_checks = [ 73function_checks = [
61# function name | headers that are needed | libraries to include | Defines that are needed 74# function name | headers that are needed | libraries to include | Defines that are needed
62 ['alloca', ['alloca.h']], 75 ['alloca', ['alloca.h']],
@@ -191,7 +204,7 @@ if jpeg.found() == false
191 jpeg = cc.find_library('jpeg') 204 jpeg = cc.find_library('jpeg')
192endif 205endif
193 206
194if config_h.has('HAVE_KEVENT') 207if sys_bsd == true
195 config_h.set('HAVE_NOTIFY_KEVENT', '1') 208 config_h.set('HAVE_NOTIFY_KEVENT', '1')
196endif 209endif
197 210