aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2025-03-28 15:45:03 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2025-03-28 15:45:03 +0100
commitb9f08c8631c2c1a393d7d2bdd41b1b0fe76b1663 (patch)
tree30326f9827b0206a3ca25b0fe4013ab860e0613c /gcc
parentbb389fb04b07a491d2ca0380db08b8c43b4239b9 (diff)
downloadgcc-b9f08c8631c2c1a393d7d2bdd41b1b0fe76b1663.zip
gcc-b9f08c8631c2c1a393d7d2bdd41b1b0fe76b1663.tar.gz
gcc-b9f08c8631c2c1a393d7d2bdd41b1b0fe76b1663.tar.bz2
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}.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/Makefile.in2
-rw-r--r--gcc/c/Make-lang.in3
-rw-r--r--gcc/cobol/Make-lang.in5
3 files changed, 5 insertions, 5 deletions
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index ead9c01..ebfcd8a 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 049b266..2517b64 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 eb64554..02c867e 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