Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Jul 2014 16:45:02 -0600
From:      Ian Lepore <ian@FreeBSD.org>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>, Dag-Erling =?ISO-8859-1?Q?Sm=F8rgrav?= <des@freebsd.org>
Subject:   Re: svn commit: r268877 - head/share/mk
Message-ID:  <1405809902.85788.39.camel@revolution.hippie.lan>
In-Reply-To: <CAJ-Vmo=ierXk5irsau2EX-5VUkEhzt0ztrOCBYW5LfdUVZh9rg@mail.gmail.com>
References:  <201407191426.s6JEQ4en083862@svn.freebsd.org> <1405805007.85788.24.camel@revolution.hippie.lan> <CAJ-Vmo=ierXk5irsau2EX-5VUkEhzt0ztrOCBYW5LfdUVZh9rg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 2014-07-19 at 15:19 -0700, Adrian Chadd wrote:
> On 19 July 2014 14:23, Ian Lepore <ian@freebsd.org> wrote:
> > On Sat, 2014-07-19 at 14:26 +0000, Dag-Erling Sm=F8rgrav wrote:
> >> Author: des
> >> Date: Sat Jul 19 14:26:04 2014
> >> New Revision: 268877
> >> URL: http://svnweb.freebsd.org/changeset/base/268877
> >>
> >> Log:
> >>   Use -o (output to file) instead of -t (print to stdout) and a redi=
rect.
> >>
> >>   MFC after:  1 week
> >>
> >> Modified:
> >>   head/share/mk/bsd.dep.mk
> >>
> >> Modified: head/share/mk/bsd.dep.mk
> >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
> >> --- head/share/mk/bsd.dep.mk  Sat Jul 19 14:10:31 2014        (r2688=
76)
> >> +++ head/share/mk/bsd.dep.mk  Sat Jul 19 14:26:04 2014        (r2688=
77)
> >> @@ -82,7 +82,7 @@ ${_S:R}.o: ${_S}
> >>  .for _LSRC in ${SRCS:M*.l:N*/*}
> >>  .for _LC in ${_LSRC:R}.c
> >>  ${_LC}: ${_LSRC}
> >> -     ${LEX} -t ${LFLAGS} ${.ALLSRC} > ${.TARGET}
> >> +     ${LEX} ${LFLAGS} -o ${.TARGET} ${.ALLSRC}
> >>  .if !exists(${.OBJDIR}/${DEPENDFILE})
> >>  ${_LC:R}.o: ${_LC}
> >>  .endif
> >>
> >
> > This change breaks the ability to bootstrap from versions prior to 10=
.0
> > because the older lex requires "-ofilename" rather than "-o filename".
> > Even more annoying, it's not possible to fix it by building the new l=
ex
> > earlier in bootstrap because the new lex requires a newer m4 be built
> > first, and building the new m4 requires running this rule which doesn=
't
> > work with the old lex.  Grrrr.
> >
> > It seems like the path of least resistance would be to remove the spa=
ce
> > between -o and ${TARGET}, which I'll leave for you if you agree, so t=
hat
> > you can MFC them together when the time comes.
>=20
> Hm, why not build lex as a bootstrap tool then, or is this too early
> in the process?
>=20
>=20
> -a
>=20
>=20

Lex is a bootstrap tool and so is m4 and they're interdependant:  Lex
invokes m4 and pipes data through it, and it does so using command args
that don't exist in old versions of m4, so the new m4 has to exist
before the new lex will work.  But building m4 requires lex, so it has
to be possible to build m4 with the old lex before you can use the new
lex.

-- Ian





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1405809902.85788.39.camel>