From: | "Simon 'corecode' Schubert" <corecode@xxxxxxxxxxxx> |
Date: | Thu, 18 Nov 2004 18:33:39 +0100 |
Ah.. yuck. What about this, then?We can't if YFLAGS include -d. Because our yacc has a slightlyThe question is, whether we can change .y.c rule in sys.mk to make it -jN (as pointed out by Brad).
surprising
meaning of the -o option. It does set the name of the c-file and ALSO
alters
the prefix for the headre file.
-# XXX not -j safe +# XXX hopefully -j safe.. .y.c: - ${YACC} ${YFLAGS} ${.IMPSRC} - mv y.tab.c ${.TARGET} + ${YACC} ${YFLAGS} -b $$$$ ${.IMPSRC} + mv $$$$.tab.c ${.TARGET} +.if !empty(${YFLAGS:M-d}) + mv $$$$.tab.h y.tab.h +.endifThis didn't actually work, but the below should(still need tweaking): .y.c: @echo "WARNING: using messy implicit rule..." 1>&2 .if !empty(YFLAGS:M-d) { pid=$$$$; ${YACC} ${YFLAGS} -b $$pid ${.IMPSRC} && \ mv $$pid.tab.c ${.TARGET} && \ mv $$pid.tab.h ${.TARGET:S/.c/.h/}; } .else ${YACC} ${YFLAGS} ${.IMPSRC} .endif
This is really evil. Don't we want to just kick this questionable "portability"? We already broke much more legacy things...Do we need to add a magic word to compile 3rd party codes that depend on this rule?
cheers simon
-- /"\ \ / \ ASCII Ribbon Campaign / \ Against HTML Mail and News
Attachment:
PGP.sig
Description: This is a digitally signed message part