Ian Lance Taylor wrote :
Kai Ruottu <[EMAIL PROTECTED]> writes:
Ok, the traditional "evolutionary" method is to not reinvent the wheel
with the already tested target components but let then be as they are
and produce only the stuff required for the new $host, the GNU
binutils and the GCC sources. NOT the target C libraries because
they already are there for the existing targets! The Kegel's idealism
says that also all these MUST be built with the new GCC. The glibc,
the X11 libraries, the Gnome libraries, the KDE libraries, the termcap,
the ncurses,.... Horrible "bolshevism/bullshitism" I would say....
What in the world are you talking about?
Some stupid typos like 'then' instead of 'them', 'sources' appearing
after 'GCC',
could have caused you to write this, but I don't think it being the case...
crosstool is a one stop shop for people who don't want to figure out
how everything fits together. Given that, it clearly must build the
target libraries. It can't assume that they already exist.
This has no typos I think, but despite ot that it sounds like asking
that "if the sun
is a star, why we don't see it among the other stars at night"? Quite
clear question
but very hard to answer...
So what in the world are you then talking about? That everyone should
rebuild the
target glibc already having its runtimes already installed on the target
system? That
those "installed runtimes" really don't exist there? One sees them
there but what one
sees isn't really true? Everyone can see the sun go around the earth
but that isn't the
case? When everyone knows how a star looks like and that stars can be
seen only at
night, the sun cannot be a star when it is so big and it really cannot
be seen at night?
Maybe I'm stupid when for instance seeing a glibc for Linux/PPC in many
Linux distros
and I really believe it working as the "target C library" when producing
a crosstoolchain
for any Linux/PPC :-(
For which existing targets the prebuilt C libraries are missing? Or
which are the
targets which don't have any "suitable", "compatible" or something C library
which could serve as that temporary bootstrap "target C library" during
the GCC
build? In those "special optimized for something" toolchain cases...
I'm sorry crosstool doesn't fit your philosophical notions (which are,
moreover, incorrect as stated). If you have something substantive to
say about crosstool--like, say, it doesn't work, or doesn't do what
people want--then say that.
Ok, crosstool doesn't work and it doesn't do what the ignorant people
think it
doing!
The cases are many where it has no sanity, but lets take two very
common from
the "embedded Linux" world for which "crosstool" was made :
1. remote debugging - the libs on the cross-host and the target must be
identical
2. Java - for some totally unclear reason mixing a self-made 'libgcj.so'
with existing
installed C and C++ runtimes doesn't work. Not even in cases where
both the
installed system and the crosstoolchain have used totally identical
sources, the
libraries for the cross-host only being prebuilt on some other
system than the
libraries on the installed system.
Generally the case is about producing a crosstoolchain for an existing
Linux system,
and the goal is to produce apps for this system, not replace it with
something totally
self-built. And in these cases the replacement of the target libraries
with self-built
ones is not recommended by me. Others may disagree but I have the right
to tell
my own....