I just happened to debug a makefile by adding a 'ulimit -a' command to a
recipe, and was surprised to see it fail.  :-)

So I went through the list of builtins from other shells in job.c and
came up with this patch that I think you need for a bit more safety on
unixy shells.

Thanks for maintaining GNU make,

2009-07-29  Ralf Wildenhues  <ralf.wildenh...@gmx.de>

        * job.c (construct_command_argv_internal): Add "ulimit" and
        "unset" to the sh_cmds for Unixy shells.

Index: job.c
RCS file: /cvsroot/make/make/job.c,v
retrieving revision 1.193
diff -u -r1.193 job.c
--- job.c       9 Jun 2009 15:35:38 -0000       1.193
+++ job.c       29 Jul 2009 18:06:38 -0000
@@ -2327,7 +2327,7 @@
                              "eval", "exec", "exit", "export", "for", "if",
                              "login", "logout", "read", "readonly", "set",
                              "shift", "switch", "test", "times", "trap",
-                             "umask", "wait", "while", 0 };
+                             "ulimit", "umask", "unset", "wait", "while", 0 };
   /* This is required if the MSYS/Cygwin ports (which do not define
      WINDOWS32) are compiled with HAVE_DOS_PATHS defined, which uses

Bug-make mailing list

Reply via email to