Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Aug 2004 09:19:12 +0200 (CEST)
From:      Harti Brandt <harti@freebsd.org>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        kris@obsecurity.org
Subject:   Re: World broken in stage 1.1
Message-ID:  <20040812091334.F25699@beagle.kn.op.dlr.de>
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
On Wed, 11 Aug 2004, M. Warner Losh wrote:

MWL>In message: <20040811221348.GB93983@ip.net.ua>
MWL>            Ruslan Ermilov <ru@FreeBSD.org> writes:
MWL>: On Wed, Aug 11, 2004 at 04:04:20PM -0600, M. Warner Losh wrote:
MWL>: > In message: <20040810231044.GA70020@xor.obsecurity.org>
MWL>: >             Kris Kennaway <kris@obsecurity.org> writes:
MWL>: > : More fallout from the wonderful new make(1) semantics? 
MWL>: > 
MWL>: > I think it is speficially related to the changes to src/Makefile and
MWL>: > src/Makefile.inc1.  If I s/${_+_}//g on those two files, it appears
MWL>: > that I can buildworld again (at least it doesn't die right away).
MWL>: > 
MWL>: How exactly does it die for you, please provide some logs.
MWL>
MWL>The problem is due to the following in share/mk/sys.mk:
MWL>
MWL>.if !empty(.MAKEFLAGS:M-n) && ${.MAKEFLAGS:M-n} == "-n"
MWL>_+_             ?=
MWL>.else
MWL>_+_             ?=      +
MWL>.endif
MWL>
MWL>This should have a third clause:
MWL>
MWL>.if ${MAKE_VERSION} >= 5200408030 && !empty(.MAKEFLAGS:M-n) && ${.MAKEFLAGS:M-n} == "-n"
MWL>
MWL>so that _+_ is defined to be nothing for those versions of make that
MWL>don't yet support this new feature of posix.

That should just 'not happen'. There has been one problem here: a bug in 
crunchgen emitting a line causing the wrong make to be used. This should 
not and was not fixed by causing the new .mk files to be usable with the 
old make but causing the right make to use in rescue. Otherwise you should 
obviously not forcibly use the old make with new .mk scripts or the other 
way around. The makefiles are usually smart enough to use either the new 
make and the new .mk files or the old, installed make and the old, 
installed .mk scripts. Any mismatch is either cause by a bug somewhere (as 
in the case of crunchgen) or forced by the user.

harti



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