[build] Properly track GCC language configure fragments

The 'gcc/configure' script sources all 'gcc/*/config-lang.in' files, but fails
to emit such dependency information into the build machinery.  That means,
currently, when something gets changed in a 'gcc/*/config-lang.in' file, this
is not noticed, and doesn't propagate through the build machinery.

Handling of configure fragments is modelled in the same way as it already
exists for Makefile fragments.

	gcc/
	* Makefile.in (LANG_CONFIGUREFRAGS): Define.
	(config.status): Use/depend on it.
	* configure.ac (all_lang_configurefrags): Track, 'AC_SUBST'.
	* configure: Regenerate.

From-SVN: r278035
This commit is contained in:
Thomas Schwinge 2019-11-11 09:05:27 +01:00 committed by Thomas Schwinge
parent 48f657953f
commit 223bf296b2
4 changed files with 20 additions and 5 deletions

View File

@ -1,3 +1,10 @@
2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
* Makefile.in (LANG_CONFIGUREFRAGS): Define.
(config.status): Use/depend on it.
* configure.ac (all_lang_configurefrags): Track, 'AC_SUBST'.
* configure: Regenerate.
2019-11-11 Jiufu Guo <guojiufu@linux.ibm.com>
PR tree-optimization/88760

View File

@ -1122,6 +1122,7 @@ endif
# Support for additional languages (other than C).
# C can be supported this way too (leave for later).
LANG_CONFIGUREFRAGS = @all_lang_configurefrags@
LANG_MAKEFRAGS = @all_lang_makefrags@
# Used by gcc/jit/Make-lang.in
@ -1910,7 +1911,7 @@ cstamp-h: config.in config.status
# Really, really stupid make features, such as SUN's KEEP_STATE, may force
# a target to build even if it is up-to-date. So we must verify that
# config.status does not exist before failing.
config.status: $(srcdir)/configure $(srcdir)/config.gcc
config.status: $(srcdir)/configure $(srcdir)/config.gcc $(LANG_CONFIGUREFRAGS)
@if [ ! -f config.status ] ; then \
echo You must configure gcc. Look at http://gcc.gnu.org/install/ for details.; \
false; \

10
gcc/configure vendored
View File

@ -701,6 +701,7 @@ build_exeext
all_selected_languages
all_languages
all_lang_makefrags
all_lang_configurefrags
all_gtfiles
all_compilers
srcdir
@ -18937,7 +18938,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 18940 "configure"
#line 18941 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -19043,7 +19044,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 19046 "configure"
#line 19047 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -29928,7 +29929,8 @@ lang_tree_files=
all_languages=
all_compilers=
all_outputs='Makefile'
# List of language makefile fragments.
# List of language configure and makefile fragments.
all_lang_configurefrags=
all_lang_makefrags=
# Additional files for gengtype
all_gtfiles="$target_gtfiles"
@ -30014,6 +30016,7 @@ do
esac
$ok || continue
all_lang_configurefrags="$all_lang_configurefrags \$(srcdir)/$gcc_subdir/config-lang.in"
all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$gcc_subdir/Make-lang.in"
if test -f $srcdir/$gcc_subdir/lang.opt; then
lang_opt_files="$lang_opt_files $srcdir/$gcc_subdir/lang.opt"
@ -30184,6 +30187,7 @@ fi
# Echo link setup.

View File

@ -6333,7 +6333,8 @@ lang_tree_files=
all_languages=
all_compilers=
all_outputs='Makefile'
# List of language makefile fragments.
# List of language configure and makefile fragments.
all_lang_configurefrags=
all_lang_makefrags=
# Additional files for gengtype
all_gtfiles="$target_gtfiles"
@ -6421,6 +6422,7 @@ changequote([,])dnl
esac
$ok || continue
all_lang_configurefrags="$all_lang_configurefrags \$(srcdir)/$gcc_subdir/config-lang.in"
all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$gcc_subdir/Make-lang.in"
if test -f $srcdir/$gcc_subdir/lang.opt; then
lang_opt_files="$lang_opt_files $srcdir/$gcc_subdir/lang.opt"
@ -6528,6 +6530,7 @@ AC_SUBST(subdirs)
AC_SUBST(srcdir)
AC_SUBST(all_compilers)
AC_SUBST(all_gtfiles)
AC_SUBST(all_lang_configurefrags)
AC_SUBST(all_lang_makefrags)
AC_SUBST(all_languages)
AC_SUBST(all_selected_languages)