diff --git a/gcc/configure b/gcc/configure index 1a3154270cbb..41641c643956 100755 --- a/gcc/configure +++ b/gcc/configure @@ -31174,7 +31174,12 @@ do $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 "x$language" = xc && test -n "$all_lang_makefrags"; then + # Put c/Make-lang.in fragment first to match serialization languages order. + all_lang_makefrags="\$(srcdir)/$gcc_subdir/Make-lang.in $all_lang_makefrags" + else + all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$gcc_subdir/Make-lang.in" + fi if test -f $srcdir/$gcc_subdir/lang.opt; then lang_opt_files="$lang_opt_files $srcdir/$gcc_subdir/lang.opt" all_opt_files="$all_opt_files $srcdir/$gcc_subdir/lang.opt" diff --git a/gcc/configure.ac b/gcc/configure.ac index f2ba3a3589d6..ff4d3dc078bc 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -6975,7 +6975,12 @@ changequote([,])dnl $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 "x$language" = xc && test -n "$all_lang_makefrags"; then + # Put c/Make-lang.in fragment first to match serialization languages order. + all_lang_makefrags="\$(srcdir)/$gcc_subdir/Make-lang.in $all_lang_makefrags" + else + all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$gcc_subdir/Make-lang.in" + fi if test -f $srcdir/$gcc_subdir/lang.opt; then lang_opt_files="$lang_opt_files $srcdir/$gcc_subdir/lang.opt" all_opt_files="$all_opt_files $srcdir/$gcc_subdir/lang.opt"