I’ll be at OSCON all next
week, and on Thursday I’ll be giving a talk about the state of free
JVMs. Come by and talk to me if you’re in the Portland area. I’m
really looking forward to this conference, it is the first really big
one where I’m giving a gcj-related talk.
Patch Tracking
Thanks to the omnipresent Dan Berlin, GCC has a patch tracker.
We’ve needed one of these for a long time.
I was hoping monotone would fill the role — what better to track
patches than a version control system? — but that, unfortunately,
still seems distant. Still, that is where I would rather see things
go; it is very convenient to have everything directly in version
control. It seems to me that the difference between patches being
submitted and those checked in is really a matter of approval and not
a difference in how we want to manipulate them, and that having two
different systems to handle patches whose only difference is an “OK”
from rth is clumsy.
Not Automake
I saw a note about gaudi on
Planet Gnome recently. This is an automake-like program written pure
using GNU make constructs. I think this is a great idea whose time
has finally come — let’s just kill the other make variants. Ten
years ago it made sense to cater to weird system; I even did automake
testing on an Ultrix machine. Nowadays, well, we’re better off making
the world follow us.
I think this will never be my ideal build tool, unless someone
adds a second syntax to GNU make to make it less insane (not to
mention some feature upgrades like file signature tracking). But,
with work, this tool could be a viable and better-performing
replacement for the autotools.
What I would like to see is the various configure checks rewritten
as make rules. This sounds crazy, and it kind of is, but it would
have some very nice benefits. First, it would mean that configury
would be parallelizable. Second, done properly (meaning: no more
recursive make invocations), it would mean that even in big
multi-configure trees you could just do each check a single time.
Third, it could simplify maintenance — remove a dependency and the
corresponding configure checks would disappear.