Re: 2.6.18-rc1 build error (YACC): followup

From: H. Peter Anvin
Date: Fri Jul 07 2006 - 19:53:16 EST


Sam Ravnborg wrote:
On Fri, Jul 07, 2006 at 03:24:42PM -0500, Bob Tracy wrote:
I wrote:
$YACC now seems to be undefined when I do a "make bzImage" and the
build process gets to drivers/scsi/aic7xxx/aicasm (with the aic7xxx
driver configured as a built-in). As a workaround, it's possible to
"cd" into the indicated directory and run "make" directly. Once the
default build completes, restarting "make bzImage" from the kernel
source root continues as expected.
Found it. The main "Makefile" has "MAKEFLAGS += -rR" uncommented as
of 2.6.18-rc1. The deleted comment about "possibly random breakage"
that used to be just above that line pretty much says it all :-).
I have now applied a patch where YACC= bison is dined in
aicasm/Makefile.
There are no other $(YACC) users in the kernel - the others specify bison
direct.


I propose the following as a global yacc rule; already used in usr/dash in the klibc tree, and which seems to work for both bison and BSD yacc:

quiet_cmd_yacc = YACC $@
cmd_yacc = $(YACC) -d -o $@ $<

$(obj)/%.c %(obj)/%.h: $(src)/%.y
$(call cmd,yacc)


Note that bison seems to make smaller code than yacc, so I definiteily think we should default to bison over yacc.

-hpa

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/