I have 3 problems with SHELL assignment on Windows (mingw32-make):

   1. You must use a full name for SHELL, including the extension (SHELL=sh
   doesn't work. SHELL=sh.exe does, if sh.exe exists in PATH). PATHEXT should
   be used for the executable detection.
   2. It looks like if PATH contains quotes, they're treated in a strange
   manner. Instead of just removing (unescaping) them, make looks for <run
   directory>\"some directory in quotes" (observed with Process Monitor). The
   quotes must be removed before calling _access().
   3. If the shell is not found, make crashes. do_variable_definition()
   reaches lookup_variable(), which returns NULL. Then the NULL v is
   dereferenced (v->append = append etc.)
   I tried adding NULL validations. This prevents the crash, but then
   SHELL=sh becomes the target instead of declaring a variable (*** No rule to
   make target 'SHELL=sh'.  Stop.)

Thanks,
- Orgad
_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to