Message: previous - next
Month: February 2014

list of packages supporting --enable-final, is the option worth it?

From: "David C. Rankin" <drankinatty@...>
Date: Mon, 17 Feb 2014 15:38:08 -0600
Darrell, Slavek, Michele, Fancios, All,

  Does anybody have a list of automake packages that build/support
--enable-final configure option. I haven't saved all configure file options --
yet, but before I start I thought I would check and see if anyone had a list?
Apparently there are optimization opportunities provided when --enable-final is
used, but there is a downside to using it if you are building on a build-farm. I
would like to experiment with it, but before undertaking the effort, I thought I
would ask if anyone has already done something like this?

  There are only scattered references to this configure option, but I was able
to find a KDE related explanation:

--enable-final makes the build system concatenate all sourcefiles in a directory
(say, Konqueror's sourcefiles) into one big file.

Technically, this is achieved by creating a dummy file which simply includes
every C++ sourcefile. The advantage of this is that the compile a- takes less
time since there is only little scattered file opening involved and b- produces
usually more optimized code, since the compiler can see more code at once and
thus there are more chances to optimize. Of course this eats a lot more memory,
but that is not an issue nowadays.

Now, it's clear why this makes distcc useless: there is just one huge file per
project, and outsourcing that file via distcc to other nodes will just delay the
build since the sourcecode (and it's a lot) has to be transferred over the
network, and there is no way to pararellize this.


David C. Rankin, J.D.,P.E.