On 2010-10-14 21:23, Jung-uk Kim wrote:
On Thursday 14 October 2010 03:11 pm, Dmitry Morozovsky wrote:
On Thu, 14 Oct 2010, Jung-uk Kim wrote:
...
cc -O2 -pipe -nostdinc -I/usr/include -I.
-I/FreeBSD/src.current.svn/sys/dev/aic7xxx/aicasm -std=gnu99
-Wsystem-headers -Werror -Wall -Wno-format-y2k -W
-Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes
-Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch
-Wshadow -Wunused-parameter -Wcast-align -Wno-pointer-sign -c
aicasm_scan.c
cc1: warnings being treated as errors
/FreeBSD/src.current.svn/sys/dev/aic7xxx/aicasm/aicasm_scan.l:840:
warning: function declaration isn't a prototype
...
Hmm...  That means "make buildkernel" did not pick up newly built lex.
That's bad. :-(

I know it's very, very late to respond to this, but I just had an email
conversation with Peter Grehan, where he ran into this problem when
attempting to build -CURRENT on 8.1-RELEASE.  This doesn't have the
followup r214779 yet, where the needed update to lex is merged.

Of course, I also know that building -CURRENT on 8.1-RELEASE is
officially not supported, but if there is a relatively simple fix to
make it work, it should not be a problem to apply, right? :)

The root of the problem is that, even if buildworld is completed, the
"stage 2.3: build tools" (kernel-specific) part of Makefile.inc1 uses
lex and yacc from /usr/bin, *not* the ones built under ${WORLDTMP}
(usually in /usr/obj/usr/src/tmp/legacy/usr/bin).

Therefore, I propose to set PATH to ${BPATH}:${PATH} in this stage, so
the "good" versions of lex and yacc are used.  As per attached diff.

(NOTE: even with this diff applied, doing 'make buildkernel' without
first doing 'make buildworld' or 'make kernel-toolchain' will not work,
because there will be no copy of lex and yacc in /usr/obj.)
Index: Makefile.inc1
===================================================================
--- Makefile.inc1	(revision 229979)
+++ Makefile.inc1	(working copy)
@@ -832,6 +832,7 @@
 	@echo ">>> stage 2.3: build tools"
 	@echo "--------------------------------------------------------------"
 	cd ${KRNLOBJDIR}/${_kernel}; \
+	    PATH=${BPATH}:${PATH} \
 	    MAKESRCPATH=${KERNSRCDIR}/dev/aic7xxx/aicasm \
 	    ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF \
 	    -f ${KERNSRCDIR}/dev/aic7xxx/aicasm/Makefile
@@ -839,6 +840,7 @@
 .if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KERNSRCDIR}/modules)
 .for target in obj depend all
 	cd ${KERNSRCDIR}/modules/aic7xxx/aicasm; \
+	    PATH=${BPATH}:${PATH} \
 	    MAKEOBJDIRPREFIX=${KRNLOBJDIR}/${_kernel}/modules \
 	    ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF ${target}
 .endfor
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to