[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Build environment
Re: Build environment
Sun, 06 Aug 2006 19:59:06 -0500
On Sat, 2006-08-05 at 05:16 -0700, Jeff Bailey wrote:
> I'll start by saying that I have nothing but hate for the build
> environment in grub2.
In general I'd agree with that.
> I realise that automake can be equally confusing in many ways, but it
> has two main advantages: 1) Everyone knows it already, 2) Other people
> are helping solve bugs with it.
As far as I've seen, most projects using automake barely understand it.
"Everyone knows it already" sounds like a huge overstatement to me.
> Assuming that we're stuck with this, is it home grown or is there some
> upstream project using it? The types of problems that I've seen:
It seems to be some homegrown Ruby that Okuji wrote.
> * No autodetection of Makefile snippet, to auto update them. No
> generic rules to handle the updating when testing.
> * No obvious well to tell how it's getting to any given phase. No
> * Dependancy generation is run too early. Initial dependancies are
> * No obvious way to add dependancies to specific files that need them.
> * Order in .mk files is important even for seemingly unrelated clauses.
Adding or deleting files results in incredibly frustrating "can't
find .d file" messages, even when trying to run "make clean"! That one
has caused me a lot of aggravation.
> The build system for grub2 just gets in the way of coding the program
> itself. I have a working version of grub-emu now for hppa-ipl, but most
> of my coding time has been spent staring at Makefiles, wondering how the
> other targets work, and copying segments of .rmk files that are
> essentially identical in other files. Done right, I suspect that I
> could've done the port to this point in about 4 lines of Makefile
I agree, there is also a huge amount of duplication in the "mk" files.
They can and should be refactored to simplify them.
> I've hated the build system for years, and the fact that none of the
> people in #grub seem to understand it either doesn't help. I've offered
> to fix it up using the usual set of autotools a number of times, and the
> offer still stands.
I'm no fan of autotools.