From owner-freebsd-stable Mon Sep 22 07:59:03 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id HAA17392 for stable-outgoing; Mon, 22 Sep 1997 07:59:03 -0700 (PDT) Received: from spinner.netplex.com.au (spinner.netplex.com.au [202.12.86.3]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id HAA17382; Mon, 22 Sep 1997 07:58:17 -0700 (PDT) Received: from spinner.netplex.com.au (localhost.dialix.com.au [127.0.0.1]) by spinner.netplex.com.au with ESMTP id WAA25252; Mon, 22 Sep 1997 22:57:19 +0800 (WST) (envelope-from peter@spinner.netplex.com.au) Message-Id: <199709221457.WAA25252@spinner.netplex.com.au> X-Mailer: exmh version 2.0zeta 7/24/97 To: Stephen McKay cc: Bruce Evans , freebsd-stable@FreeBSD.ORG, peter@FreeBSD.ORG Subject: Re: No-go with read-only src tree In-reply-to: Your message of "Tue, 23 Sep 1997 00:05:32 +1000." <199709221405.AAA17411@troll.dtir.qld.gov.au> Date: Mon, 22 Sep 1997 22:57:18 +0800 From: Peter Wemm Sender: owner-freebsd-stable@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk 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