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