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)
downloadefl-5b9285ee7face73a360b50b8298935a9534f3ad1.tar.gz
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 = [
'crt_externs.h'
]
+#### The below is logically broken
+#### the declaration of symbol + headers when you look the symbols up
+#### in man pages you'll find that, for example, kevent needs you to
+#### include ALL of the headers listed below. same for setxattr,
+#### listxattr, pthread_getcpuclockid ... i stopped looking at this
+#### point because it seems this is the pattern, but the foreach below
+#### does not do this. it includes one header at a time from the list
+#### then checks to see if the symbol exists. this leads to failures
+#### in the checks (specifically i noticed kevent on bsd). so the whole
+#### construct for this is wrong. it needs a rethink. i'm putting this
+#### comment here as a note that this is the case for now as i'm just
+#### trying to fix the meson build on freebsd for now
+
function_checks = [
# function name | headers that are needed | libraries to include | Defines that are needed
['alloca', ['alloca.h']],
@@ -191,7 +204,7 @@ if jpeg.found() == false
jpeg = cc.find_library('jpeg')
endif
-if config_h.has('HAVE_KEVENT')
+if sys_bsd == true
config_h.set('HAVE_NOTIFY_KEVENT', '1')
endif