How to break the bootstrapping chain
Daniel Eischen
deischen at freebsd.org
Fri Dec 8 14:25:20 PST 2006
On Fri, 8 Dec 2006, Karel Miklav wrote:
> I'm trying to maintain the gnat-gcc* Ada compiler ports,
> currently there are gnat-gcc34 and 41. I'd like to
> introduce newer versions, and retire experimental 34,
> which is built from an ancient binary which requires
> FreeBSD 4 compatibility. I'd like to know:
>
> 1. what do I have to do that gnat-gcc packages will
> appear on FreeBSD FTP sites?
>
> 2. can I use one of FreeBSD packages to bootstrap
> others or do I have to somehow provide my own
> binary?
>
> In case I was not clear enough: the GNAT compiler can
> only be bootstrapped with another GNAT. If I base the
> procedure on a FreeBSD package, I can no longer provide
> the port for that package ... or do I? Damn, who
> invented this chicken and egg thing :)
You'll have to do the same thing as the lang/gnat
port and provide your own bootstrapping compiler.
No matter what you do (*), it will require FreeBSD-X
compat. AFAIK, we are currently supporting FreeBSD
5, 6, and 7, so the bootstrap should be based on
FreeBSD-5, so it can work for 6 and 7 as well.
If it is based on 6 or 7, then it will not be
able to work on the other two.
(*) The only way you can avoid this, is to provide
3 different bootstrap compilers (one for 5, 6,
and 7) and teach the port to depend on the
appropriate bootstrapper.
--
DE
More information about the freebsd-ports
mailing list