Subject: Re: Cygwin 1.3.10 : problems with make (3.79.1) when using windows mode (--win32 switch)
From: Pavel Tsekov <[email-masked]>
To: Falser Klaus <[email-masked]>
Cc: "[email-masked]'" <[email-masked]>
Date: Thu, 28 Mar 2002 10:09:20 +0100

Hello Falser,

Thursday, March 28, 2002, 9:50:39 AM, you wrote:

FK> Hello.
FK> Since my upgrade to the latest make and cygwin a previously working makefile stopped to work.

FK> The make program tries to execute the commandline directly and cygwin execvp() could not find the file.

FK> The command line is in the form "c:\directory\sub\prog  parameter ... " and the called program is a dos program.
FK> The make program returnes the error "make : "C:\directory\sub\prog" Command not found".

This is in the mailing list archives from 22 March ... You might find
it interesting to take a look at that thread.

FK> I was able to solve the problem by forcing make to use always the shell when in windows mode.

Btw when posting a patch there is a good chance that it will be
noticed if it's not at the end f your message prepended with some xx
kilobytes of cygcheck output :)

[snip]

FK> The following is the patch to the make programm.

FK> *** ./job.c     Wed Mar 27 11:29:32 2002
FK> --- ../make-3.79.1-5.new/job.c  Wed Mar 27 09:34:56 2002
FK> ***************
FK> *** 2278,2285 ****
FK>     switch (errno)
FK>       {
FK>       case ENOENT:
FK> !       error (NILF, _("%s: Command not found"), argv[0]);
FK> !       break;
FK>       case ENOEXEC:
FK>         {
FK>         /* The file is not executable.  Try it as a shell script.  */
FK> --- 2278,2285 ----
FK>     switch (errno)
FK>       {
FK>       case ENOENT:
FK> !       error (NILF, _("%s: Command not found"), argv[0]);
FK> !       break;
FK>       case ENOEXEC:
FK>         {
FK>         /* The file is not executable.  Try it as a shell script.  */
FK> ***************
FK> *** 2515,2522 ****
FK> --- 2515,2527 ----
FK>         sh_cmds  = sh_cmds_dos;
FK>       }
FK>   #else  /* not __MSDOS__ */
FK> + #ifdef __CYGWIN__
FK> +   else if (!unixy_shell)
FK> +       goto slow;
FK> + #else
FK>     else if (strcmp (shell, default_shell))
FK>       goto slow;
FK> + #endif
FK>   #endif /* not __MSDOS__ */
FK>   #endif /* not WINDOWS32 */

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/