From: Jakub Jelinek Date: Fri, 28 Mar 2025 14:45:03 +0000 (+0100) Subject: srcextra fixes X-Git-Tag: basepoints/gcc-16~543 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b9f08c8631c2c1a393d7d2bdd41b1b0fe76b1663;p=thirdparty%2Fgcc.git 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 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 --git a/gcc/Makefile.in b/gcc/Makefile.in index ead9c015fb2..ebfcd8a8a0d 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 049b266dd71..2517b64439f 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 eb64554f33b..02c867ea22a 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