Ada: yes or no?

Matthias Benkmann matthias at
Thu May 16 13:36:07 PDT 2002

Now that GCC 3's inclusion in the LFS book is approaching I believe we
should think about whether we want to make building Ada a part of the
regular LFS instructions. The Ada frontend is special because it needs
itself to build. This means that

..if we *do* include it in the regular instructions, then we'll increase
the build time, need another package on the download list (a precompiled
GNAT because the host distro could be an LFS system without it) only used
for chapter 5 and we would make the GCC compilation in chapter 5 more
complicated because we need to add instructions on installing the
precompile GNAT. This is not pretty.

..if we *don't* include it in the regular instructions, then a regular LFS
system will be incapable of building Ada later on without introducing a
precompiled binary into your LFS system first. You cannot just recompile
GCC to get Ada support. I don't like this from a philosophical POV. A
regular LFS system should be able to build a full-featured GCC without the
need for precompiled binaries.

It all comes down to philosophy. There are a lot of good reasons against
including it in the LFS book:

1. most people don't need it (at least right now)
2. it goes against the minimality principle of LFS
3. makes chapter 5 more difficult
4. increases compile time

The reasons for adding Ada are fewer

1. without it, GCC can't rebuild itself full-featured.
2. if we provide our own precompile Ada-package it doesn't make chapter 5
that much more difficult.

But at least point 1 has a lot of philosophical weight.

I'm not sure about my opinion on this. *I* will definitely build Ada but I
don't know if it's the right thing for the LFS book. I do know one thing
though: Adding a paragraph saying "Now you have to decide whether you want
to add Ada support to GCC or not. Mind that if you don't you
will...blabla.." is NOT the right thing to do. Most LFS readers don't
know/care enough about Ada to make this decision. Those who do, don't need
the LFS book to tell them they need to make this decision. They'll either
bug the mailing lists for more explanation or add Ada "just in case" which
makes it kind of pointless to offer the decision in the first place. IMO
we need to pick one of the following:

1. just ignore Ada, i.e. keep the book as it is. Most people won't notice,
I guess. So far there don't seem to be many (important) open source
projects written in Ada. This could change of course, now that GCC
officially includes Ada. I, for example, am considering Ada for use in
future projects now.

2. add it to the instructions with a small 1-sentence explanation "The Ada
frontend is built because rebuilding GCC full-featured later is not
possible without it."


Black holes are where God divided by zero.

Unsubscribe: send email to listar at
and put 'unsubscribe lfs-dev' in the subject header of the message

More information about the lfs-dev mailing list