]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[build] Properly track GCC language configure fragments
authorThomas Schwinge <thomas@codesourcery.com>
Mon, 11 Nov 2019 08:06:25 +0000 (09:06 +0100)
committerThomas Schwinge <tschwinge@gcc.gnu.org>
Mon, 11 Nov 2019 08:06:25 +0000 (09:06 +0100)
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.

Backport from trunk r278035.

From-SVN: r278036

gcc/ChangeLog
gcc/Makefile.in
gcc/configure
gcc/configure.ac

index 433b7d91d0a2c4a0076e6d5a141cb20a03fbcfaf..52d867db50a1bff9ce17d554f2c563a141357b48 100644 (file)
@@ -1,3 +1,11 @@
+2019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
+
+       Backport from trunk:
+       * Makefile.in (LANG_CONFIGUREFRAGS): Define.
+       (config.status): Use/depend on it.
+       * configure.ac (all_lang_configurefrags): Track, 'AC_SUBST'.
+       * configure: Regenerate.
+
 2019-11-09  John David Anglin  <danglin@gcc.gnu.org>
 
        Backport from mainline
index 5f43d9de00ecf0c6f828cbe91e82284e82c6009c..abae872cd638dec77b1b230470c93993c156b7f0 100644 (file)
@@ -1120,6 +1120,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
@@ -1894,7 +1895,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; \
index 481071b426519212f87ccac5088f952547c871ca..b4d80d140b5755202aab7946c985c961f29a636e 100755 (executable)
@@ -701,6 +701,7 @@ build_exeext
 all_selected_languages
 all_languages
 all_lang_makefrags
+all_lang_configurefrags
 all_gtfiles
 all_compilers
 srcdir
@@ -18646,7 +18647,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18649 "configure"
+#line 18650 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18752,7 +18753,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18755 "configure"
+#line 18756 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -29559,7 +29560,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"
@@ -29645,6 +29647,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"
@@ -29815,6 +29818,7 @@ fi
 
 
 
+
 
 
 # Echo link setup.
index ce2825580c68ebad8f98e8914a65feb35a47b803..8243716589fab295126fa6b2290c4c9b8bd839bc 100644 (file)
@@ -6188,7 +6188,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"
@@ -6276,6 +6277,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"
@@ -6383,6 +6385,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)