running autogen-waf.sh as part of waf dist

simo idra at samba.org
Tue Apr 13 05:56:38 MDT 2010


On Tue, 2010-04-13 at 14:32 +1000, tridge at samba.org wrote:
> Hi Simo,
> 
> Thanks for your TODO updates for the waf page!
> 
> Regarding the last one
> 
>   http://wiki.samba.org/index.php/Waf#Run_autogen-waf.sh_within_waf_dist
> 
> where you ask for autogen-waf.sh to be run as part of 'waf dist', that
> is indeed the intention if/when we get to stage 3 of the waf adoption
> where waf is the standard build system.
> 
> For now I haven't done that as I didn't want to presume that the waf
> build was going to replace the autoconf build. I proposed a staged
> adoption of any new build system where there would be an opportunity
> for team and community feedback between each stage:
> 
>   http://lists.samba.org/archive/samba-technical/2010-March/070065.html
> 
> (I'm not sure if you saw this, as you were away)

Yes I saw it, but didn't realize you proposed waf dist as a standard way
to build tarballs when not using waf, given it copies all the waf stuff
within the tarball.

> At the moment we are at stage 2 for s4 (and thus also for the
> dependent libs - talloc, tdb, tevent, ldb etc). During stage 2 the old
> build system is the official one, so I left the old autogen.sh in
> place, even if the tarball is created by waf.
> 
> So far I have had very positive comments from a lot of people on the
> waf build in s4, so I will probably propose to move to stage 3
> sometime soon. 

Speed-wise looks very promising, I still need to get used to where
libraries and binaries are placed and how they are called, ./bin has
become a bit of a mess imo, with lots of directories and symlinks.

I was wondering why you haven't adopted a more common approach of
building into a ./build directory for the various .o/.a files and then
put the resulting binaries into ./bin and ./bin/lib without a deep
hierarchical set of directories under ./bin

> We still need to sort out if the standard build for the dependent libs
> should also be waf if we move to stage 3 for s4. I think we should,
> but you had some concerns about that. I'd be interested in knowing if
> you are happier with the idea of waf for ldb now you've had a chance
> to try it.

In general it is not a big deal for me, if I have to be selfish I can
see that both Fedora and RHEL do not really have issues with python as a
dependency, but my concerns are more for people building for embedded
systems or old Unices. If you have to use S4 you pretty much need python
anyway, but the sub-libraries really don't, it would just be a build
complication.

I think we need to carefully consider how much this dependency affects
usability for non-AD-Server code.

> If you like, we could create a ldb-waf build in the build farm first.

Yes, this would be a good idea in any case.

Even better if we could do this by building each library dependency
first so that we can test the full shared library approach.

Simo.

-- 
Simo Sorce
Samba Team GPL Compliance Officer <simo at samba.org>
Principal Software Engineer at Red Hat, Inc. <simo at redhat.com>



More information about the samba-technical mailing list