proposal: merge waf build of s4 to master

tridge at tridge at
Mon Apr 5 03:36:54 MDT 2010

Hi Volker,

 > Code-wise I agree, but why does the build system have to be
 > the same for both branches? 

because you can then say "depends on XXX" and XXX will mean exactly
the same thing in both branches.

It also affects includes handling. When you do #include "foo.h" then
it is the build system that maps that to what header you get, by
adding the -I options in the right order. Right now that is done
incorrectly in the old build system (for example, it uses the in-tree
talloc.h, whether or not you are linking against the in-tree talloc).

Next, it's all the defines. We have a whole bunch of defines, some
from configure tests, some that are setup by configure options and
some that are hard coded. If you have two build systems then these
will inevitably diverge, which means that the code may not behave the
same in both systems.

Then there are the pidl rules, the asn1 rules, the errtable rules
etc. All of these need to match or you get problems, such as different
generated files, which might just lead to "git diff" showing an
unnecessary change, or it might lead to real code differences.

Finally, there is testing. We've had problems in the past where code
is committed to common libraries which breaks one branch but not
another. If the common code is built using exactly the same rules in
both branches then that lowers the chance that will happen.

Cheers, Tridge

More information about the samba-technical mailing list