Mail Archives: djgpp-workers/2002/06/11/13:51:20
Hello.
I just updated a file in the Fileutils 4.1 sources - lib/getdate.y - and tried
to rebuild. It failed, because it was trying to rename a file y_tab.c to
getdate.c in lib/. bison had created a file called y.tab.c, as you might
expect, because I'm running with LFNs.
lib/Makefile has a fragment for generating C parsers:
.y.c:
$(YACCCOMPILE) $< && mv y_tab.c $@
if test -f y_tab.h; then \
if cmp -s y_tab.h $*.h; then \
rm -f y_tab.h; \
else \
mv y_tab.h $*.h; \
fi; \
fi
I looked at the automake installed files and it appears to come from
share/automake/am/yacc.am. But in yacc.am, the names are y.tab.<whatever>. I
haven't found what does changes '.' to '_' yet.
I think the automake fragment above is broken in some cases, because 'bison
-y' only generates y_tab.c in an SFN environment. But the code above is used
unconditionally of SFN/LFN, I think.
I suggest that the DJGPP port of automake should force the file stem to be
y_tab, so that the above Makefile fragment will work in all cases.
(Note that this should not be an issue in the DJGPP port of Fileutils 4.1,
because I will include a manually generated file.)
Bye, Rich =]
--
Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]
- Raw text -