World broken in stage 1.1
Ruslan Ermilov
ru at freebsd.org
Wed Aug 11 15:43:27 PDT 2004
On Wed, Aug 11, 2004 at 04:26:40PM -0600, M. Warner Losh wrote:
> In message: <20040811221348.GB93983 at ip.net.ua>
> Ruslan Ermilov <ru at FreeBSD.org> writes:
> : On Wed, Aug 11, 2004 at 04:04:20PM -0600, M. Warner Losh wrote:
> : > In message: <20040810231044.GA70020 at xor.obsecurity.org>
> : > Kris Kennaway <kris at obsecurity.org> writes:
> : > : More fallout from the wonderful new make(1) semantics?
> : >
> : > 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).
> : >
> : How exactly does it die for you, please provide some logs.
>
> The problem is due to the following in share/mk/sys.mk:
>
> .if !empty(.MAKEFLAGS:M-n) && ${.MAKEFLAGS:M-n} == "-n"
> _+_ ?=
> .else
> _+_ ?= +
> .endif
>
> This should have a third clause:
>
> .if ${MAKE_VERSION} >= 5200408030 && !empty(.MAKEFLAGS:M-n) && ${.MAKEFLAGS:M-n} == "-n"
>
> so that _+_ is defined to be nothing for those versions of make that
> don't yet support this new feature of posix.
>
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,
--
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20040812/a0c4c918/attachment.bin
More information about the freebsd-current
mailing list