From 539f513773b2e651d987a7bdbdffd8b5164d58cf Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Sun, 28 Nov 2004 23:11:23 +0000 Subject: Fix for bug #1276: Handle SHELL according to POSIX requirements. POSIX requires that the value of SHELL in the makefile NOT be exported to sub-commands. Instead, the value in the environment when make was invoked should be passed to the environment of sub-commands. Note that make still uses SHELL to _run_ sub-commands; it just doesn't change the value of the SHELL variable in the environment of sub-commands. As an extension to POSIX, if the makefile explicitly exports SHELL then GNU make _will_ use it in the environment of sub-commands. --- ChangeLog | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 6ec8a1d..b1dcefd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2004-11-28 Paul D. Smith + + Fix for bug #1276: Handle SHELL according to POSIX requirements. + + * main.c (main): Set SHELL to v_noexport by default. Remember the + original environment setting of SHELL in the env_shell variable. + * main.h: Export new env_shell variable. + * variable.c (target_environment): If we find a v_noexport + variable for SHELL, add a SHELL variable with the env_shell value. + * doc/make.texi (Quick Reference): Document the POSIX behavior. + * doc/make.texi (Variables/Recursion): Ditto. + 2004-11-28 Paul D. Smith * main.c (find_and_set_default_shell) [WINDOWS32]: check for -- cgit v1.2.3