On Fri, 28 Mar 2025, Jakub Jelinek wrote: > Hi! > > sed -i is not portable, it is supported by GNU sed and perhaps some BSDs, > but not elsewhere. > Furthermore, I think it is far better to always use > #include "../../libgcobol/something.h" > paths rather than something depending on the build directory. > And because we require GNU make, we don't have to have two different > rules for those, can use just one for both. > The l variable in there is just to make it fit into 80 columns. > > Ok for trunk?
OK if this passes build. Richard. > 2025-03-28 Jakub Jelinek <ja...@redhat.com> > > * Make-lang.in (cobol/charmaps.cc, cobol/valconv.cc): Used sed -e > instead of cp and multiple sed -i commands. Always prefix libgcobol > header names in #include directives with ../../libgcobol/ rather than > something depending on $(LIB_SOURCE). > > --- gcc/cobol/Make-lang.in.jj 2025-03-28 15:08:29.431543005 +0100 > +++ gcc/cobol/Make-lang.in 2025-03-28 15:31:14.886182633 +0100 > @@ -87,29 +87,10 @@ cobol1_OBJS = \ > # Various #includes in the files copied from gcc/libgcobol need to be > modified > # so that the .h files can be found. > > -cobol/charmaps.cc: $(LIB_SOURCE)/charmaps.cc > - cp $^ $@ > - sed -i "s|\"ec[.]h\"|\"$(LIB_SOURCE)/ec.h\"|g" $@ > - sed -i "s|\"common-defs[.]h\"|\"$(LIB_SOURCE)/common-defs.h\"|g" $@ > - sed -i "s|\"io[.]h\"|\"$(LIB_SOURCE)/io.h\"|g" $@ > - sed -i "s|\"gcobolio[.]h\"|\"$(LIB_SOURCE)/gcobolio.h\"|g" $@ > - sed -i "s|\"libgcobol[.]h\"|\"$(LIB_SOURCE)/libgcobol.h\"|g" $@ > - sed -i "s|\"gfileio[.]h\"|\"$(LIB_SOURCE)/gfileio.h\"|g" $@ > - sed -i "s|\"charmaps[.]h\"|\"$(LIB_SOURCE)/charmaps.h\"|g" $@ > - sed -i "s|\"valconv[.]h\"|\"$(LIB_SOURCE)/valconv.h\"|g" $@ > - sed -i "s|\"exceptl[.]h\"|\"$(LIB_SOURCE)/exceptl.h\"|g" $@ > - > -cobol/valconv.cc: $(LIB_SOURCE)/valconv.cc > - cp $^ $@ > - sed -i "s|\"ec[.]h\"|\"$(LIB_SOURCE)/ec.h\"|g" $@ > - sed -i "s|\"common-defs[.]h\"|\"$(LIB_SOURCE)/common-defs.h\"|g" $@ > - sed -i "s|\"io[.]h\"|\"$(LIB_SOURCE)/io.h\"|g" $@ > - sed -i "s|\"gcobolio[.]h\"|\"$(LIB_SOURCE)/gcobolio.h\"|g" $@ > - sed -i "s|\"libgcobol[.]h\"|\"$(LIB_SOURCE)/libgcobol.h\"|g" $@ > - sed -i "s|\"gfileio[.]h\"|\"$(LIB_SOURCE)/gfileio.h\"|g" $@ > - sed -i "s|\"charmaps[.]h\"|\"$(LIB_SOURCE)/charmaps.h\"|g" $@ > - sed -i "s|\"valconv[.]h\"|\"$(LIB_SOURCE)/valconv.h\"|g" $@ > - sed -i "s|\"exceptl[.]h\"|\"$(LIB_SOURCE)/exceptl.h\"|g" $@ > +cobol/charmaps.cc cobol/valconv.cc: cobol/%.cc: $(LIB_SOURCE)/%.cc > + -l='ec\|common-defs\|io\|gcobolio\|libgcobol\|gfileio\|charmaps'; \ > + l=$$l'\|valconv\|exceptl'; \ > + sed -e '/^#include/s,"\('$$l'\)\.h","../../libgcobol/\1.h",' $^ > $@ > > LIB_SOURCE_H=$(wildcard $(LIB_SOURCE)/*.h) > > > Jakub > > -- Richard Biener <rguent...@suse.de> SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)