[Top][All Lists]
[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
signature.asc
Description: OpenPGP digital signature