> I cross compile just enough of a native environment to be able to
> recompile itself, and then I boot it under qemu (where I have unlimited
> memory, hard drive, and can leverage cheap x86 CPU power) and native
> compile under an emulator. Native compiling is MUCH easier than cross
> compiling, in general.
Wow, that's weird. I'm not sure it's a common use case to be worth making
changes for, but it's not as if this change is huge. :)
(I haven't found setting up cross compilers to be remotely as hard as you
have, though, even without crosstool to help. For kernel builds (thus
without libraries), it verges on trivial, certainly much easier than
getting qemu working.)
> No, I'm saying that gratuitous environmental dependencies more or less
> killed the gnucash project
g-wrap, and endless backend thrashing, more or less killed the gnucash
project :) every distro on earth has guile and GNOME packaged. More recent
gnucashes have dropped g-wrap and moved to SWIG, thank goodness.
> build process would now involve knowing three languages (Because nothing
> says "maintainability" like perl. Or for that matter, having to know
> four different programming languages (C, BASH, gnu make, perl) to follow
> the build.)
Call me an elitist but I'd be inclined to say that if you can't pick up
languages as simple as C, the subset of make used in kernel makefiles, and
so forth you probably shouldn't be hacking the kernel at all. (And I don't
think I've ever met a kernel hacker who doesn't know shell: perl is
similar enough to the shell that you can pick up enough to read it in a
few hours, or less.)
You really are setting up some seriously weak straw men here. Your real
motive is obviously minimalism for the sake of it, so why on earth not
admit it?
> Of course Python is just as widely deployed, so let's add that too. (I
> love Python. It doesn't belong in the kernel build unless perhaps you
> use it to REMOVE the dependencies on make and bash.) And java's GPLv2
> now, why not throw that in as well? Did you know PHP can be used
> standalone outside of web browsers? And there are tons of fans of emacs
> lisp...
I'm not sure if this is straw men or taking the mickey. I'd expect random
slashdotters to spot the logical fallacies here.
(Regarding Perl not being a language, you're probably right, at least in
regard to Perl 5. Perl 6 *does* have a language spec, though.)
> My objection is over adding complexity to the build process (in the form
> of environmental dependencies) without a compelling reason that
> outweighs the added complexity.
Yet you seem to have no objection to adding complexity by reimplementing
the wheel in the actual code to avoid the environmental overheads. That
would be strange if your reasons weren't actually minimalism for the sake
of it :)