[Bug ada/81878] --disable-bootstrap --enable-languages=ada fails
aoliva at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Nov 20 00:08:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81878
--- Comment #54 from Alexandre Oliva <aoliva at gcc dot gnu.org> ---
Author: aoliva
Date: Tue Nov 20 00:07:47 2018
New Revision: 266290
URL: https://gcc.gnu.org/viewcvs?rev=266290&root=gcc&view=rev
Log:
PR81878: fix --disable-bootstrap --enable-languages=ada
gnattools build machinery uses just-build xgcc and xg++ as $(CC) and
$(CXX) in native builds. However, if C and C++ languages are not
enabled, it won't find them. So, enable C and C++ if Ada is enabled.
Most of the time, this is probably no big deal: C is always enabled
anyway, and C++ is already enabled for bootstraps.
We need not enable those for cross builds, however. At first I just
took the logic from gnattools/configure, but found it to be lacking:
it would use the just-built tools even in cross-back settings, whose
tools just built for the host would not run on the build machine. So
I've narrowed down the test to rely on autoconf-detected cross-ness
(build->host only), but also to ensure that host matches build, and
that target matches host.
I've considered sourcing ada/config-lang.in from within
gnattools/configure, and testing lang_requires as set by it, so as to
avoid a duplication of tests that ought to remain in sync, but decided
it would be too fragile, as ada/config-lang.in does not expect srcdir
to refer to gnattools.
for gcc/ada/ChangeLog
PR ada/81878
* gcc-interface/config-lang.in (lang_requires): Set to "c c++"
when gnattools wants it.
for gnattools/ChangeLog
PR ada/81878
* configure.ac (default_gnattools_target): Do not mistake
just-built host tools as native in cross-back toolchains.
* configure: Rebuilt.
Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/gcc-interface/config-lang.in
trunk/gnattools/ChangeLog
trunk/gnattools/configure
trunk/gnattools/configure.ac
More information about the Gcc-bugs
mailing list