[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: