Date: Mon, 22 Sep 1997 22:57:18 +0800 From: Peter Wemm <peter@netplex.com.au> To: Stephen McKay <syssgm@dtir.qld.gov.au> Cc: Bruce Evans <bde@zeta.org.au>, freebsd-stable@FreeBSD.ORG, peter@FreeBSD.ORG Subject: Re: No-go with read-only src tree Message-ID: <199709221457.WAA25252@spinner.netplex.com.au> In-Reply-To: Your message of "Tue, 23 Sep 1997 00:05:32 %2B1000." <199709221405.AAA17411@troll.dtir.qld.gov.au>
next in thread | previous in thread | raw e-mail | index | archive | help
Stephen McKay wrote:
> On Monday, 22nd September 1997, Bruce Evans wrote:
>
> >>If this fixes all my problems, -DNOLIB will go. If not, I'll have to add a
> >>little extra cruft to specifically rebuild the lex/lib obj directory.
> >>
> >>If you know why there was a -DNOLIB there in the first place, speak up!
> >
> >See the revision log.
>
> I see you haven't become unnecessarily verbose, or succumbed to the temptatio
n
> to spoon feed people. :-)
>
> Yes, I came to my senses shortly after posting, and read the log:
>
> >revision 1.6
> >date: 1996/08/07 13:25:59; author: peter; state: Exp; lines: +3 -2
> >Move tsort back to lib-tools where it belongs, and add a "specially
> >for bootstrap" tweak to the lex Makefile to stop it building the library
> >too early.
> >
> >This untangles things a bit more, it stops new bootstraps failing because
> >libl/libfl uses 'ld -O' before ld is updated.
>
> So, if we still care about 'make world' bootstrapping from 2.1.x, which
> I expect we do, then the -DNOLIB has to stay. I'll have to tweak around
> it since without -DNOLIB my compile breezed past the usual trouble spot
> to die messily with:
>
> /usr/src/lib/libc/i386/DEFS.h: No such file or directory
>
> But we know all about that one already. I'm thinking of adding a warning
> early in the build process. Just idle thinking. :-)
>
> Peter, if you have any insight you want to pass on, please chime in here.
``Urk''.
Perhaps change:
cd ${.CURDIR}/usr.bin/lex && ${MAKE} bootstrap && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} -DNOLIB all install ${CLEANDIR} ${OBJDIR}
To something like:
cd ${.CURDIR}/usr.bin/lex && ${MAKE} bootstrap && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} -DNOLIB all install ${CLEANDIR}
.if !defined(NOOBJDIR)
cd ${.CURDIR}/usr.bin/lex && ${MAKE} obj
.endif
Or even:
cd ${.CURDIR}/usr.bin/lex && ${MAKE} bootstrap && ${MAKE} depend && \
${MAKE} ${MK_FLAGS} -DNOLIB all install clean cleandepend
One of those might do it. Otherwise, taking out the -DNOLIB makes lex
descend into it's library, which causes ld -O to be used, and ld hasn't
been built yet. (And, incidently, ld in binutils-2.8 uses lex during the
build :-] /home/src/contrib/binutils/ld/ldlex.l )
> Stephen.
Cheers,
-Peter
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709221457.WAA25252>
