[PROPOSAL] To retire autoconf for 4.1

Andrew Bartlett abartlet at samba.org
Sun May 26 20:14:49 MDT 2013


On Mon, 2013-05-27 at 00:43 +0200, Jelmer Vernooij wrote:
> On Sun, May 26, 2013 at 02:06:46PM +0200, Volker Lendecke wrote:
> > On Sun, May 26, 2013 at 08:14:52PM +1000, Andrew Bartlett wrote:
> > > I appreciate your willingness to work on a solution for your concerns
> > > here, as I think you understand your specific needs best.  I'm always
> > > happy to advise, and it will be really good to move this from the
> > > general to the specific as we discuss what exact patches we could apply
> > > to improve your situation.
> > 
> > So to summarize, I have a few complaints:
> > 
> > Long startup time: No idea where the time is spent, but 6
> > seconds on a clean build seems really excessive.
> > 
> > Always compile everything before linking: I'm told that this
> > is due to broken dependencies, but I haven't followed this
> > exactly. I had thought that the main advantage of waf over
> > autoconf is that it is perfect with dependencies, so I
> > probably have just not listened right. If waf's way to
> > dependency perfection is to compile almost everything
> > always, I think that should be doable with autoconf as well.
> > 
> > Compile individual C files: It seems not possible without a
> > gross hack to compile just one file on demand without all
> > that long startup phase etc.
> > 
> > Change CFLAGS between runs: Nobody has commented on this one
> > so far.
> > 
> > The first two are certainly the most annoying ones, but
> > probably the two that are hardest to fix. If Tridge failed
> > to fix something (startup time), this is my very definition
> > of "unfixable". So I can only ask everybody to keep the old
> > build system around.
> That's not a very constructive approach...
> 
> Keeping two buildsystems around indefinitely is impractical and time-consuming.
> As far as I know nobody has looked at what it would take to fix the issues in
> waf you raised just now. Let's see what we can do to address these issues, and
> which ones we consider acceptable regressions.

Jelmer,

I totally agree that waf isn't autoconf, and measuring it as autoconf
will always cause it to come up short, no matter how much effort we put
in.  I also totally agree that keeping two buildsystems around
indefinitely is impractical, time-consuming and totally unrealistic.  We
have to be able to move on, and not always face yet another
requirement.  

That said, I'm actually really positive about where we are now.  I've
reduced significantly the build times Volker and others doing one-target
builds will face.  We have a workable solution addressing directly the
two issues Volker said were his most annoying issues. 

We also have to take Volker's willingness to "hack things up" at face
value.  The suggestions made so far about ways to handle the remaining
requirements *are* hacks, but I trust that having met Volker half-way,
with changes to waf, that he may be willing to manually invoke GCC when
needed, or keep two built trees (one with each set of CFLAGS), or find
an even better solution.  Between all of us, I think we really have a
good compromise, and a way to release us of the two-build-system burden.

Thanks,

Andrew Bartlett

-- 
Andrew Bartlett                                http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org




More information about the samba-technical mailing list