+2018-11-19 Alexandre Oliva <oliva@adacore.com>
+
+ PR ada/81878
+ * gcc-interface/config-lang.in (lang_requires): Set to "c c++"
+ when gnattools wants it.
+
2018-11-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/cuintp.c (UI_From_gnu): Remove code for 32-bit hosts.
outputs="ada/gcc-interface/Makefile ada/Makefile"
+# gnattools native builds use both $(CC) and $(CXX), see PR81878.
+# This is not too onerous: C is always enabled anyway, and C++ is
+# always enabled for bootstrapping. Use here the same logic used in
+# gnattools/configure to decide whether to use -native or -cross tools
+# for the build.
+if test "x$cross_compiling/$build/$host" = "xno/$host/$target" ; then
+ lang_requires="c c++"
+fi
+
target_libs="target-libada"
lang_dirs="gnattools"
+2018-11-19 Alexandre Oliva <oliva@adacore.com>
+
+ PR ada/81878
+ * configure.ac (default_gnattools_target): Do not mistake
+ just-built host tools as native in cross-back toolchains.
+ * configure: Rebuilt.
+
2018-11-06 Eric Botcazou <ebotcazou@adacore.com>
PR ada/81878
ac_unique_file="Makefile.in"
ac_subst_vars='LTLIBOBJS
LIBOBJS
+default_gnattools_target
warn_cflags
OBJEXT
EXEEXT
ADA_CFLAGS
EXTRA_GNATTOOLS
TOOLS_TARGET_PAIRS
-default_gnattools_target
LN_S
target_noncanonical
host_noncanonical
fi
-# Determine what to build for 'gnattools'
-if test $build = $target ; then
- # Note that build=target is almost certainly the wrong test; FIXME
- default_gnattools_target="gnattools-native"
-else
- default_gnattools_target="gnattools-cross"
-fi
-
-
# Target-specific stuff (defaults)
TOOLS_TARGET_PAIRS=
# From user or toplevel makefile.
+# This is testing the CC passed from the toplevel Makefile, not the
+# one we will select below.
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
fi
+# Determine what to build for 'gnattools'. Test after the above,
+# because testing for CC sets the final value of cross_compiling, even
+# if we end up using a different CC. We want to build
+# gnattools-native when: (a) this is a native build, i.e.,
+# cross_compiling=no, otherwise we know we cannot run binaries
+# produced by the toolchain used for the build, not even the binaries
+# created within ../gcc/; (b) build and host are the same, otherwise
+# this is to be regarded as a cross build environment even if it seems
+# that we can run host binaries; (c) host and target are the same,
+# otherwise the tools in ../gcc/ generate code for a different
+# platform. If you change this test, be sure to adjust
+# ../gcc/ada/gcc-interface/config-lang.in as well.
+if test "x$cross_compiling/$build/$host" = "xno/$host/$target" ; then
+ default_gnattools_target="gnattools-native"
+else
+ default_gnattools_target="gnattools-cross"
+fi
+
+
# Output: create a Makefile.
ac_config_files="$ac_config_files Makefile"
# Need to pass this down for now :-P
AC_PROG_LN_S
-# Determine what to build for 'gnattools'
-if test $build = $target ; then
- # Note that build=target is almost certainly the wrong test; FIXME
- default_gnattools_target="gnattools-native"
-else
- default_gnattools_target="gnattools-cross"
-fi
-AC_SUBST([default_gnattools_target])
-
# Target-specific stuff (defaults)
TOOLS_TARGET_PAIRS=
AC_SUBST(TOOLS_TARGET_PAIRS)
# From user or toplevel makefile.
AC_SUBST(ADA_CFLAGS)
+# This is testing the CC passed from the toplevel Makefile, not the
+# one we will select below.
AC_PROG_CC
warn_cflags=
if test "x$GCC" = "xyes"; then
fi
AC_SUBST(warn_cflags)
+# Determine what to build for 'gnattools'. Test after the above,
+# because testing for CC sets the final value of cross_compiling, even
+# if we end up using a different CC. We want to build
+# gnattools-native when: (a) this is a native build, i.e.,
+# cross_compiling=no, otherwise we know we cannot run binaries
+# produced by the toolchain used for the build, not even the binaries
+# created within ../gcc/; (b) build and host are the same, otherwise
+# this is to be regarded as a cross build environment even if it seems
+# that we can run host binaries; (c) host and target are the same,
+# otherwise the tools in ../gcc/ generate code for a different
+# platform. If you change this test, be sure to adjust
+# ../gcc/ada/gcc-interface/config-lang.in as well.
+if test "x$cross_compiling/$build/$host" = "xno/$host/$target" ; then
+ default_gnattools_target="gnattools-native"
+else
+ default_gnattools_target="gnattools-cross"
+fi
+AC_SUBST([default_gnattools_target])
+
# Output: create a Makefile.
AC_CONFIG_FILES([Makefile])