CMake Proposal

Andrew Bartlett abartlet at
Wed Feb 24 15:57:07 MST 2010

On Wed, 2010-02-24 at 15:44 +0100, Andreas Schneider wrote:
> On Tuesday 23 February 2010 23:59:03 tridge at wrote:
> > As I mentioned previously, I've been experimenting with using waf for
> > Samba builds. So far it looks very promising.
> Hello,
> I've talked to tridge on Monday and he showed me waf. I've played a bit with 
> it and I think it is a nice tool. I think you can do the same things with waf 
> as with CMake. Here are my objections:
> I've downloaded the latest version of waf and tried to compile the stuff 
> Tridge migrated. It crashed so I had to use a version Tridge fixed. This 
> didn't give a good impression of waf on me.

I'm sure it doesn't - but it also shows up one of the really useful
things about taking the waf approach: 

If Samba exercises CMake in a way that crashes or misbehaves on the
default CMake on your platform (which may be quite old, as we will want
most users to be able to run it from their systems), then the user must
install (either by trusting a binary download, or compling from source)
a new CMake. 

With the approach suggested by the waf developers, we supply waf with
Samba, and know that combination works.  

> If I look at waf then I think Samba will end up creating sambawaf maintaining 
> a build tool and supporting all those platforms and compilers.

It does look like we will have a library of Samba support code for waf,
but from what I've seen, that's not a bad thing!  Tridge's waf-wip
branch includes wrapper constructs for many of the build rules with
semantics very similar to many of the things we currently do in
These Samba-specific wrappers make for very concise, readable build rule
files - certainly much better than I've seen from CMake or our current
system - which in turn makes it much easier to comprehend the build of
our largest and most complex piece of Samba software: Samba4.  

Anyway, that library is written to the public waf API, so we should not
need to maintain waf itself, just include a recent version of it. 

(I'm not sure about the compiler/platform side of the question, I'll
leave that for others to comment on).

Andrew Bartlett
Andrew Bartlett                      
Authentication Developer, Samba Team 
Samba Developer, Cisco Inc.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the samba-technical mailing list