diff options
author | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2019-03-01 12:06:26 +0000 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2019-03-01 12:06:26 +0000 |
commit | 5b9285ee7face73a360b50b8298935a9534f3ad1 (patch) | |
tree | 57587aa59cb4ff329c53fe5c943ec7423c1a9a52 | |
parent | 63c32295a004ab03cc7fc77f0b85ba3de2957fab (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.
-rw-r--r-- | header_checks/meson.build | 15 |
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 | |||
60 | function_checks = [ | 73 | function_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') |
192 | endif | 205 | endif |
193 | 206 | ||
194 | if config_h.has('HAVE_KEVENT') | 207 | if sys_bsd == true |
195 | config_h.set('HAVE_NOTIFY_KEVENT', '1') | 208 | config_h.set('HAVE_NOTIFY_KEVENT', '1') |
196 | endif | 209 | endif |
197 | 210 | ||