Re: Packages which need themselves to compile?
On Thursday 23 June 2005 20:04, John Skaller wrote:
[...]
> That cannot be allowed, the build must proceed without
> ever installing anything: if you really need something
> installed you will need to provide a separate package,
> and then the build interaction cannot be cyclic.
Ung. The build scripts do assume that as they build things, those things
become available to use. For example, in order to build the libraries for
each target architecture, they use the code generator and librarian tool that
they've just built...
I suspect that the only way to cleanly package this for Debian (and for most
other architectures) would be to split it up into (a) tools, (b) code
generators, (c) compilers, (d) libraries. Each one would be a different
Debian package and build and install seperately (but possibly from the same
source package).
This does mean that building it all in one pass would be tricky, though.
> Otherwise, if you have a cyclic process in the build,
> then there is no alternative than to provide an initial
> value for it, hopefully one such that the recursion
> fixes fairly quickly ..
How about this: supply a prebuilt parser; llgen builds using this parser, and
then uses itself to generate a new parser. The build will then *fail* if this
new parser does not match the prebuilt one.
While this doesn't get around the bootstrap problem, it will eliminate gotchas
due to the pregenerated file being out of sync.
> BTW: is this vbccz you're talking about?
No, this is the ACK, the toolchain that was written for Minix. It's been open
sourced and, despite having timestamps over twenty years old, still works
rather well --- if you can get it to build.
http://tack.sourceforge.net
--
"Curses! Foiled by the chilled dairy treats of righteousness!" --- Earthworm
Jim (evil)
Reply to: