Hi Bruno, At 2025-12-08T11:21:54+0100, Bruno Haible wrote: > G. Branden Robinson wrote: > > how do I patch "build-aux/ylwrap" in situ > > so that I can hobble along until gnulib has an official fix? > > https://www.gnu.org/software/gnulib/manual/html_node/Extending-Gnulib.html
Thanks! I'll study that.
> > While compiling groff recently I had a failure.
> >
> > YACC src/preproc/pic/pic.cpp
> > /.../src/GIT/groff/build/../src/preproc/pic/pic.ypp:93.1-7: warning: POSIX
> > Yacc does not support %expect [-Wyacc]
> > 93 | %expect 2
> > | ^~~~~~~
> > /.../src/GIT/groff/build/../src/preproc/pic/pic.ypp:1456.11-1461.17:
> > warning: rule useless in parser due to conflicts [-Wother]
> > 1456 | | ORDINAL LAST object_type relative_path
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > updating src/preproc/pic/pic.output
> > mv: cannot move 'tmp-pic.output' to '../src/preproc/pic/pic.output': No
> > such file or directory
> > ../build-aux/ylwrap: line 206: ../src/preproc/pic/pic.cpp: No such file or
> > directory
> > updating src/preproc/pic/pic.hpp
> > mv: cannot move 'tmp-pic.hpp' to '../src/preproc/pic/pic.hpp': No such file
> > or directory
> > make[2]: *** [Makefile:11822: src/preproc/pic/pic.cpp] Error 1
>
> Usually it's the responsibility the of the Makefile to create
> directories.
Agreed.
> When you compile a .c file to a .o file, or when you create a file in
> some other ways — from 'cat' to 'sed' — the creation of the target
> directory is part of the Makefile rule, not of the 'gcc', 'cat', or
> 'sed' command. Why should it be different for 'ylwrap'?
Another part of the GNU build system claimed responsibility for this
task.
> So, how does your Makefile rule for src/preproc/pic/pic.cpp look like?
I don't have one. I'm relying on Automake.
Here's what it puts in groff's build/Makefile.
.ypp.cpp:
$(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h
`echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE)
Just that one line.
Regards,
Branden
signature.asc
Description: PGP signature
