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  <jakub@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}.
This commit is contained in:
Jakub Jelinek 2025-03-28 15:45:03 +01:00 committed by Jakub Jelinek
parent bb389fb04b
commit b9f08c8631
3 changed files with 5 additions and 5 deletions

View file

@ -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@

View file

@ -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

View file

@ -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