Skip site navigation (1)Skip section navigation (2)
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>