This is the mail archive of the
mailing list for the GCC project.
Re: libada configure contains wrong code and GNAT as a cross compiler in general
- From: "Luke A. Guest" <laguest at archeia dot com>
- To: Arnaud Charlet <charlet at adacore dot com>
- Cc: GCC ML <gcc at gcc dot gnu dot org>
- Date: Wed, 09 Jan 2013 16:49:09 +0000
- Subject: Re: libada configure contains wrong code and GNAT as a cross compiler in general
- References: <1357720991.14424.13.camel@rogue> <20130109085701.GA22546@adacore.com>
On Wed, 2013-01-09 at 09:57 +0100, Arnaud Charlet wrote:
> > 2) I also want to point out that inside
> > gcc/ada/gcc-interface/Makefile.in there are lines such as:
> > GNATLIB_SHARED = gnatlib-shared-dual
> > Is these relics?
> No, these are correct settings. If there's a mistake, it might be in libada.
These don't get picked up in libada and AFAICS there is no way for it to
be passed from gcc/ada/gcc-interface/Makefile.in to libada, much like
the next part below...
> > If so, shouldn't the above configure script also use
> > the "-dual" and the other options available to it?
> > 3) Coming back to gnattools, there are tests in there to set the
> > TOOLS_TARGET_PAIRS variable, which are also set in
> > gcc/ada/gcc-interface/Makefile.in, are the ones set in the Makefile.in
> > also relics? Can they be removed from there?
> No, these are not relics, these are actually the reference settings,
When using --libada, these don't get used, you have to manually patch
the configure in gnattools to get the correct working version of mlib,
i.e. you won't get an mlib that supports library building on
> and used e.g. when using --disable-libada
Ok, so they are used when that flag is in force?
> > 4) What is the point of the --disable-libada flag exactly? I've seen a
> To disable automatic build of gnatlib and gnattools. This is used e.g. at
> AdaCore to configure in a more fine grained manner how gnatlib and gnattools
> are built. Ideally we'd like to use the libada/gnatools mechanism, but
> this mechanism isn't quite working as we'd need it, so this hasn't happened
How is this mechanism supposed to work? What is it really supposed to
do? Is there a doc or spec somewhere that outlines what it was meant
for? We need a bit more information if it is to be fixed.