forked from enlightenment/efl
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.
This commit is contained in:
parent
63c32295a0
commit
5b9285ee7f
|
@ -57,6 +57,19 @@ header_checks = [
|
||||||
'crt_externs.h'
|
'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_checks = [
|
||||||
# function name | headers that are needed | libraries to include | Defines that are needed
|
# function name | headers that are needed | libraries to include | Defines that are needed
|
||||||
['alloca', ['alloca.h']],
|
['alloca', ['alloca.h']],
|
||||||
|
@ -191,7 +204,7 @@ if jpeg.found() == false
|
||||||
jpeg = cc.find_library('jpeg')
|
jpeg = cc.find_library('jpeg')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if config_h.has('HAVE_KEVENT')
|
if sys_bsd == true
|
||||||
config_h.set('HAVE_NOTIFY_KEVENT', '1')
|
config_h.set('HAVE_NOTIFY_KEVENT', '1')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue