WAF 2.x broken a lot of configure checks

Alexander Bokovoy ab at samba.org
Wed Sep 5 13:29:27 UTC 2018


On ke, 05 syys 2018, Stefan Metzmacher via samba-technical wrote:
> Hi,
> 
> I just found that the values in
> bin/c4che/default.cache.py differ between
> the old and new versions of waf.
> 
> The old one had = () for undefined values
> the new one has = 0 for undefined values
> 
> This is related to change to define/undefine/define_cond in
> third_party/waf/wafadmin/Tools/config_c.py
> vs.
> third_party/waf/waflib/Tools/c_config.py
> 
> And we now have buildtools/wafsamba/samba_waf18.py,
> which also provides define() and undefine().
> 
> I found that by building on FreeBSD 11 with gcc.
> 
> The check for HAVE_WORKING_STRPTIME was broken
> as CONFIG_SET() returned True if HAVE_WORKING_STRPTIME is 0,
> while it returned False when it was ().
> 
> Adding this to CONFIG_SET fixed it:
> if v == 0:
>     return False
> 
> But I'm wondering about what else might be affected.
> 
> Should we better try to get '= ()' again in
> bin/c4che/default.cache.py?
> 
> On my Linux box I had this before:
> 
> less bin/c4che/default.cache.py | grep '= 0'
> HAVE_DECL_KRB5_AUTH_CON_SET_REQ_CKSUMTYPE = 0
> HAVE_DECL_KRB5_GET_CREDENTIALS_FOR_USER = 0
> 
> and now I have this:
> 
> less bin/c4che/default_cache.py | grep '= 0'
> HAVE_BSD_STRTOLL = 0
> HAVE_DECL_KRB5_AUTH_CON_SET_REQ_CKSUMTYPE = 0
> HAVE_DECL_KRB5_GET_CREDENTIALS_FOR_USER = 0
> HAVE_INCOHERENT_MMAP = 0
> 
> Any idea?
I think it comes from work which started with 
850e9ad5fcdd3d0216298c4d2a990df27b196ef0 in waf git repo:
$ git tag --contains 850e9ad5fcdd3d0216298c4d2a990df27b196ef0 | head -2
rm
waf-1.9.0

This could explain why it wasn't before as we were on 1.8.

Added to my TODO list.

-- 
/ Alexander Bokovoy



More information about the samba-technical mailing list