Hi! On 2019-10-25T20:48:58+0000, Joseph Myers <jos...@codesourcery.com> wrote: > This patch is OK.
Thanks. See attached; as posted, committed to trunk in r278035, gcc-9-branch in r278036, gcc-8-branch in r278037, gcc-7-branch omitted as that one's frozen for the final release, and this fix isn't important enough. Grüße Thomas
From 5ba7804033a285907cfda88c9de5acc103c9881a Mon Sep 17 00:00:00 2001 From: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Mon, 11 Nov 2019 08:05:27 +0000 Subject: [PATCH] [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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@278035 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 7 +++++++ gcc/Makefile.in | 3 ++- gcc/configure | 10 +++++++--- gcc/configure.ac | 5 ++++- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 96efa4224bd7..a1e928bf804d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-11-11 Thomas Schwinge <tho...@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 <guoji...@linux.ibm.com> PR tree-optimization/88760 diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 95f054c4d4f3..ac21401af391 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -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; \ diff --git a/gcc/configure b/gcc/configure index a2df82e021f5..be58e1a4d5f5 100755 --- a/gcc/configure +++ b/gcc/configure @@ -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" @@ -30165,6 +30168,7 @@ fi + diff --git a/gcc/configure.ac b/gcc/configure.ac index 5f32fd4d5e4d..6bce1e3b6d9f 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -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) -- 2.17.1
From 04d94d2a609e80f2a3892e682fc44199e036b3a6 Mon Sep 17 00:00:00 2001 From: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Mon, 11 Nov 2019 08:06:25 +0000 Subject: [PATCH] [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. Backport from trunk r278035. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@278036 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 8 ++++++++ gcc/Makefile.in | 3 ++- gcc/configure | 10 +++++++--- gcc/configure.ac | 5 ++++- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 433b7d91d0a2..52d867db50a1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2019-11-11 Thomas Schwinge <tho...@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 <dang...@gcc.gnu.org> Backport from mainline diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 5f43d9de00ec..abae872cd638 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -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; \ diff --git a/gcc/configure b/gcc/configure index 481071b42651..b4d80d140b57 100755 --- a/gcc/configure +++ b/gcc/configure @@ -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" @@ -29796,6 +29799,7 @@ fi + diff --git a/gcc/configure.ac b/gcc/configure.ac index ce2825580c68..8243716589fa 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -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) -- 2.17.1
From 52bf3828e9177cff76373be9474825c9e7361b3a Mon Sep 17 00:00:00 2001 From: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Mon, 11 Nov 2019 08:06:44 +0000 Subject: [PATCH] [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. Backport from trunk r278035. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@278037 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 8 ++++++++ gcc/Makefile.in | 3 ++- gcc/configure | 10 +++++++--- gcc/configure.ac | 5 ++++- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2ec0a1d2b338..80bf2e121c63 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2019-11-11 Thomas Schwinge <tho...@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 <dang...@gcc.gnu.org> Backport from mainline diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 20bee0494b1b..ad07f0561370 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1114,6 +1114,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 @@ -1877,7 +1878,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; \ diff --git a/gcc/configure b/gcc/configure index 6d2f088c2666..7313088fc2cf 100755 --- a/gcc/configure +++ b/gcc/configure @@ -666,6 +666,7 @@ build_exeext all_selected_languages all_languages all_lang_makefrags +all_lang_configurefrags all_gtfiles all_compilers srcdir @@ -18448,7 +18449,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 18451 "configure" +#line 18452 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -18554,7 +18555,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 18557 "configure" +#line 18558 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -29512,7 +29513,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" @@ -29598,6 +29600,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" @@ -29739,6 +29742,7 @@ fi + diff --git a/gcc/configure.ac b/gcc/configure.ac index 2d5e9aca63a6..9bed32ad43f6 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -6139,7 +6139,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" @@ -6227,6 +6228,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" @@ -6328,6 +6330,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) -- 2.17.1
signature.asc
Description: PGP signature