Date: Thu, 12 Aug 2004 01:43:17 +0300 From: Ruslan Ermilov <ru@freebsd.org> To: "M. Warner Losh" <imp@bsdimp.com> Cc: kris@obsecurity.org Subject: Re: World broken in stage 1.1 Message-ID: <20040811224317.GE96867@ip.net.ua> In-Reply-To: <20040811.162640.00482545.imp@bsdimp.com> References: <20040810231044.GA70020@xor.obsecurity.org> <20040811.160420.34008155.imp@bsdimp.com> <20040811221348.GB93983@ip.net.ua> <20040811.162640.00482545.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--h56sxpGKRmy85csR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Aug 11, 2004 at 04:26:40PM -0600, M. Warner Losh wrote: > In message: <20040811221348.GB93983@ip.net.ua> > Ruslan Ermilov <ru@FreeBSD.org> writes: > : On Wed, Aug 11, 2004 at 04:04:20PM -0600, M. Warner Losh wrote: > : > In message: <20040810231044.GA70020@xor.obsecurity.org> > : > Kris Kennaway <kris@obsecurity.org> writes: > : > : More fallout from the wonderful new make(1) semantics?=20 > : >=20 > : > I think it is speficially related to the changes to src/Makefile and > : > src/Makefile.inc1. If I s/${_+_}//g on those two files, it appears > : > that I can buildworld again (at least it doesn't die right away). > : >=20 > : How exactly does it die for you, please provide some logs. >=20 > The problem is due to the following in share/mk/sys.mk: >=20 > .if !empty(.MAKEFLAGS:M-n) && ${.MAKEFLAGS:M-n} =3D=3D "-n" > _+_ ?=3D > .else > _+_ ?=3D + > .endif >=20 > This should have a third clause: >=20 > .if ${MAKE_VERSION} >=3D 5200408030 && !empty(.MAKEFLAGS:M-n) && ${.MAKEF= LAGS:M-n} =3D=3D "-n" >=20 > so that _+_ is defined to be nothing for those versions of make that > don't yet support this new feature of posix. >=20 Why? It's not supposed that you try an old make(1) binary with the new share/mk/sys.mk. src/Makefile will upgrade make(1) if necessary, then use it (or the old make if it's adequate) with new share/mk stuff to call Makefile.inc1. If you throw away the -m from your "make" command in your build script, it will work. We want to be able to use the new make(1) features in our share/mk files right after when they made available. That was one of the main ideas of the make(1) regression testing feature in src/Makefile. It's like we now handle backward issues in our C sources -- we agreed not to pollute sources with __FreeBSD_version checks, and we keep the necessary bootstrapping glue in a separate place. The same applies here -- one is free to use new make(1) features in src/ makefiles and in share/mk support files. src/Makefile and tools/regression/usr.bin/make guarantee that we'll always use the make(1) binary compatible with the feature set used in our .mk and makefiles. Please update your build scripts... Cheers, --=20 Ruslan Ermilov ru@FreeBSD.org FreeBSD committer --h56sxpGKRmy85csR Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFBGqEFqRfpzJluFF4RAvkuAJ0R3k4hB0Xu1w1L4M5T7+VMoU7HwwCgiFxu j8Uqv9BNfOSeUkXFensNnb0= =caSi -----END PGP SIGNATURE----- --h56sxpGKRmy85csR--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040811224317.GE96867>