[gnu.utils.bug] GNU Make 3.56: Feature: no variables in environment

chip@ateng.ateng.com (Chip Salzenberg) (10/11/89)

[FEATURE]

Include all variables in child environment only if VARS_IN_ENV is defined.
   Large variable definitions can swamp a child's environment, resulting
   in exec() failure with E2BIG.
You may want to reverse the #ifdef and make NO_VARS_IN_ENV definable
   from make's Makefile.

Index: variable.c
***************
*** 383,389 ****
  	      register char *p = v->name;
  
! 	      if (v->origin == o_default
! 		  || streq (p, "MAKELEVEL"))
  		continue;
  
  	      if (*p != '_' && (*p < 'A' || *p > 'Z')
--- 383,395 ----
  	      register char *p = v->name;
  
! #ifdef VARS_IN_ENV
! 	      if (v->origin == o_default)
  		continue;
+ #else
+ 	      if ((v->origin != o_env) && (v->origin != o_env_override))
+ 		continue;
+ #endif
+ 	      if (streq (p, "MAKELEVEL"))
+ 		continue;
  
  	      if (*p != '_' && (*p < 'A' || *p > 'Z')