[PROPOSAL] To retire autoconf for 4.1

Matthieu Patou mat at samba.org
Wed May 22 22:41:16 MDT 2013


On 05/22/2013 02:49 PM, Andrew Bartlett wrote:
> On Wed, 2013-05-22 at 10:21 -0700, Matthieu Patou wrote:
>
>> As I pointed on IRC, we should reduce the number of groups so that
>> linking can kick up while some stuff are still compiling (if possible)
>> and potentially not do the symbol checks if we have specified --targets=
>> on the command line so that we don't force to rebuild every thing that
>> depends on this change.
> The duplicate symbol checker is run on make test, not on make for this
> reason.
>
> The --symbol-check option is not enabled by default, nor is it turned on
> by --enable-developer.
>
> The ABI checker can be disabled by configuring with --abi-check-disable,
> and as I understand the code only runs on libraries that have been
> changed or re-linked.
True but let's say you modified talloc but want to see the changes only 
smbtorture because you are iterating on this, as we have the abi-check 
before the linking of the binaries (but after the linking of dynamic 
libraries) waf will insists on relinking all the libraries even thoses 
not needed by your target.

Also I suspect that we have too broad dependencies as sometime changing 
stuff for DRS replication trigger relinking in the VFS modules.
>    That said, I do agree that waf tends to prefer to
> re-link over being sure that it doesn't need to.
>
>> This should make the speed of waf build --targets=smbtorture much faster
>> when you change something in talloc.c or whatsoever.
> One of the key reasons to make this change is so that if we can find
> ways to make waf both totally reliable and a bit faster for developers,
> that we have those resources, rather than also spending those on
> maintaining a parallel build system.
>
> It is however really important that our build systems are totally
> reliable.  It is no benefit being a bit faster building if we loose that
> time again debugging an 'impossible' Samba crash, that doesn't reproduce
> anywhere but the customer's production environment, because they patched
> Samba and didn't rebuild from 'git clean -x -f -d' or a fresh tarball
> checkout.
>
> The fact that waf always builds correctly, without special rules is a
> key feature that *saves* developer time in the long run, by ensuring
> that our users (who overall, build samba even more than we do) always
> get a correct build.
I do agree, I don't think that reducing groups or forcing the abi-check 
to occur at the very last stage will actually change the reliability of 
the build.
I think it will be harder to be as fast as the autoconf build (on 
rebuilds) as it was skipping some stuff but we can most probably speed 
up the --target= stuff without impacting reliability.

Matthieu.



-- 
Matthieu Patou
Samba Team
http://samba.org



More information about the samba-technical mailing list