bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU make 3.82 is now available


From: Eric Blake
Subject: Re: GNU make 3.82 is now available
Date: Wed, 28 Jul 2010 07:31:52 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.7) Gecko/20100720 Fedora/3.1.1-1.fc13 Lightning/1.0b2pre Mnenhy/0.8.3 Thunderbird/3.1.1

On 07/28/2010 12:50 AM, Paul Smith wrote:
> * WARNING: Backward-incompatibility!
>   The POSIX standard for make was changed in the 2008 version in a
>   fundamentally incompatible way: make is required to invoke the shell as if
>   the '-e' flag were provided.  Because this would break many makefiles that
>   have been written to conform to the original text of the standard, the
>   default behavior of GNU make remains to invoke the shell with simply '-c'.
>   However, any makefile specifying the .POSIX special target will follow the
>   new POSIX standard and pass '-e' to the shell.  See also .SHELLFLAGS
>   below.

It's not obvious from this announcement (and I haven't been following
the make lists) whether you are aware: The POSIX 2008 wording has a bug.
 The intent of the Austin Group is that -e must NOT be provided if some
other mechanism ignores errors for a particular shell invocation (such
as starting a command with - or invoking 'make -i'):
 http://austingroupbugs.net/view.php?id=257

> 
> * New special variable: .SHELLFLAGS allows you to change the options passed
>   to the shell when it invokes recipes.  By default the value will be "-c"
>   (or "-ec" if .POSIX is set).

Given that recent POSIX ruling, I'm not sure what impact it should have
on .SHELLFLAGS.

-- 
Eric Blake   address@hidden    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]