bin/155000: make(1) doesn't handle .POSIX: correctly

Bruce Evans brde at optusnet.com.au
Fri Feb 25 00:16:26 UTC 2011


On Thu, 24 Feb 2011, Colin Percival wrote:

>> Description:
>
> make(1) doesn't handle .POSIX: correctly.  It sucks in sys.mk before it
> reads the Makefile, and sys.mk has several instances of
> .if defined(%POSIX)
> to switch between POSIX and non-POSIX mode; because sys.mk is processed
> first, there is no opportunity for a .POSIX: directive to take effect.
>
>> How-To-Repeat:
> $ echo .POSIX: > Makefile
> $ make -V CC
> (prints "cc"; it should print "c89".)

Except that there is the opportunity to set %POSIX using make -D.  This
might be enough in practice.  The namespace pollution avoidance is
too perfect -- there seems to be no way to set %POSIX or .POSIX in the
environment.

Bruce


More information about the freebsd-bugs mailing list