https://gcc.gnu.org/g:b9f08c8631c2c1a393d7d2bdd41b1b0fe76b1663
commit r15-9010-gb9f08c8631c2c1a393d7d2bdd41b1b0fe76b1663 Author: Jakub Jelinek <ja...@redhat.com> Date: Fri Mar 28 15:45:03 2025 +0100 srcextra fixes Here is a patch which uses sed to fix up the copies of the generated files by flex/bison in the source directories (i.e. what we ship in release tarballs). In that case the generated files are in the same directory as the files they are generated from, so there should be no absolute or relative directories, just the filenames. Furthermore, c.srcextra was duplicating the work of gcc.srcextra, there is nothing C FE specific on gengtype-lex.l. 2025-03-28 Jakub Jelinek <ja...@redhat.com> gcc/ * Makefile.in (gcc.srcextra): Use sed to turn .../gcc/gengtype-lex.l in #line directives into just gengtype-lex.l. gcc/c/ * Make-lang.in (c.srcextra): Don't depend on anything and don't copy anything. gcc/cobol/ * Make-lang.in (cobol.srcextra): Use sed to turn .../gcc/cobol/*.{y,l,h,cc} and cobol/*.{y,l,h,cc} in #line directives into just *.{y,l,h,cc}. Diff: --- gcc/Makefile.in | 2 +- gcc/c/Make-lang.in | 3 +-- gcc/cobol/Make-lang.in | 5 +++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in index ead9c015fb25..ebfcd8a8a0d3 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -2508,7 +2508,7 @@ s-mlib: $(srcdir)/genmultilib Makefile srcextra: gcc.srcextra lang.srcextra gcc.srcextra: gengtype-lex.cc - -cp -p $^ $(srcdir) + -sed -e '/^#line/s,".*/gcc/gengtype-lex\.l","gengtype-lex.l",' $^ > $(srcdir)/$^ AR_OBJS = file-find.o AR_LIBS = @COLLECT2_LIBS@ diff --git a/gcc/c/Make-lang.in b/gcc/c/Make-lang.in index 049b266dd710..2517b64439fe 100644 --- a/gcc/c/Make-lang.in +++ b/gcc/c/Make-lang.in @@ -131,8 +131,7 @@ c.all.cross: c.start.encap: c.rest.encap: c.srcinfo: -c.srcextra: gengtype-lex.cc - -cp -p $^ $(srcdir) +c.srcextra: c.tags: force cd $(srcdir)/c; $(ETAGS) -o TAGS.sub *.cc *.h; \ $(ETAGS) --include TAGS.sub --include ../TAGS.sub diff --git a/gcc/cobol/Make-lang.in b/gcc/cobol/Make-lang.in index eb64554f33bc..02c867ea22a1 100644 --- a/gcc/cobol/Make-lang.in +++ b/gcc/cobol/Make-lang.in @@ -272,8 +272,9 @@ cobol/scan.o: cobol/scan.cc \ # output, and do not require those tools to be installed. # cobol.srcextra: cobol/parse.cc cobol/cdf.cc cobol/scan.cc - -cp -p $^ cobol/parse.h cobol/cdf.h $(srcdir)/cobol/ - + -for i in $^ cobol/parse.h cobol/cdf.h; do \ + sed -e '/^#line/s,"\(.*gcc/\)\?cobol/\([^/]*\.\([ylh]\|cc\)\)","\2",' $$i \ + > $(srcdir)/$$i; done # And the cobol1 front end