committed: merge with libada-branch

Zack Weinberg zack@codesourcery.com
Tue Feb 10 19:56:00 GMT 2004


Laurent GUERBY <laurent@guerby.net> writes:

> (moved to gcc from gcc-patches)
>
> I successfully built and tested c,ada on x86-linux by
> following the new instructions (ie: not doing the previously needed
> additional "make -C ada gnatlib_and_tools"). No regressions.
>
> I hope this will make it easier for GCC people to build
> and test Ada when the backend is changed :).

It's a step in the right direction; there's still a long way to go.

> The GNAT library has always been built by first
> copying ("ln -s" where available) the appropriate
> set of runtime sources in a clean directory (ada/rts).
> The new libada stuff works the same.
>
> Moving the Makefile code makes sense, but I don't
> see clearly the point in moving the runtime 
> sources around in CVS.

Well, /a priori/ it seems to me that moving the sources will allow the
build system to be made simpler and easier to understand.  It's also a
golden opportunity - since you are renaming them all anyway - to
switch to a more comprehensible naming scheme (you can't build GCC on
a filesystem limited to 8.3 names anyway - so using krunched names
doesn't gain anything anymore - and how about config/OSNAME/foobar.adb
instead of XYfoobar.adb?)

I know very little about the way multilibs work.  It may or may not be
feasible to do something that doesn't involve moving the source code.
I am pretty sure moving the source code will make it easier, though.

There are cleanups to the gcc subdirectory build infrastructure, such
as eliminating the lang/Makefile.in facility, that are blocked by the
current structure of the Ada sources.

> Is there any overview and may be detailed explanation of what
> multilibs are and how they work Makefile-wise? Any way to
> make use of multilibs on a regular x86-linux box?

There is brief documentation of how to specify a set of multilibs in
the GCC internals manual, but I don't know of any documentation
anywhere of how to write a multilib-enabled language runtime Makefile.

The set of multilibs is determined entirely by the target
architecture.  Building a cross compiler to just about any
embedded target (mips-elf for example) will involve multilibs.

zw



More information about the Gcc mailing list