Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <2407239113CD914CBA855A47698F01B06220FA@SUGAH2.triscend.com> From: Craig Hackney To: "'cygwin AT cygwin DOT com'" Subject: make 3.79.1-4 'make: /bin/sh.exe: Command not found' when running without sh.exe Date: Thu, 15 Nov 2001 19:00:13 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" There appears to be a problem with this version of make please see below. The ChangeLog.Cygnus file contains information on a change that causes an error if sh.exe is not in /bin when make is run. --------- * main.c (main): Avoid setting no_default_sh_exe to 0 in all cases. Default to /bin/sh.exe on Cygwin. Lookup COMSPEC for --win32. --------- The default shell is set to a unix style shell, ie. /bin/sh, main.c contains code that checks the MAKE_MODE environment variable see below.. --------- /* Read the environment variable MAKE_MODE */ /* If it's "UNIX", set unixy_shell to 1. If it's "WIN32" or anything else, stay with the default of 0. */ make_mode_env = getenv ("MAKE_MODE"); if (make_mode_env && strcaseequ (make_mode_env, "UNIX")) unixy_shell = 1; --------- The above code checks to see if the MAKE_MODE is 'unix' and, if it is sets unixy_shell (which is already set since the default shell is now /bin/sh). Any other setting, i.e. WIN32, will use the default, which is a unix shell. So make is looking for /bin/sh even when MAKE_MODE is set to WIN32, the only workaround is to specify --win32 as a command line option to make. -- 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/