Rewrite build system to be non-recursive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

After a couple of updates on my Gentoo systems (I'm a developer and I take
care of automated testing, so I have a few installs around) I noticed that
util-linux-ng takes an unexpected "long" time to build from scratch.

The problem is that by using recursive make, it cannot run all of it in
parallel (I have an 8-way system), as it synchronises on each
directory. Also, the recursion itself is quite expensive for make to
handle.

I'm sending a series of patches that transform the build system from the
current recursive Makefiles system to a non-recursive one. It's quite easy
to deal with it, in general, you only have to remember that the target
variables are prefixed with the relative path of the output (so it's
misc_utils_blkid for instance, rather than simply blkid).

I documented most of what is needed for non-recursive automake in my guide
http://www.flameeyes.eu/autotools-mythbuster/ and if anybody have further
doubts about it, feel free to drop me an email and I'll gladly extend the
documentation. One thing that I have (yet) to document there is the
handling of multiple .am files (module.am is what I called them) to avoid
creating one huge Makefile.am file, and instead keep the rules tied with
the sources themselves.

Finally, I have wired out the testsuite to "make check"... it's mostly
working although it fails for out-of-tree builds (and thus with make
distcheck)... I can probably fix it but I wanted to make sure the rest is
accepted first.

I'll keep a git branch with these changes at
http://gitorious.org/~flameeyes/util-linux-ng/nonrecursive-util-linux-ng
to avoid having to fetch all the patches for those interested.

P.S.: please do CC me on replies.

-- 
HTH,
Diego Elio Pettenò -- Flameeyes

--
To unsubscribe from this list: send the line "unsubscribe util-linux-ng" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux