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: <5.1.0.14.2.20010625170322.026ebc10@pop3.cris.com> X-Sender: rrschulz AT pop3 DOT cris DOT com X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Mon, 25 Jun 2001 17:04:24 -0700 To: Earl Chew From: Randall R Schulz Subject: Re: Shell avoidance in make-3.79.1-3 Cc: cygwin AT cygwin DOT com In-Reply-To: <3B37D068.1F797DA8@agilent.com> References: <3B37B58B DOT F87EA366 AT agilent DOT com> <3B37B58B DOT F87EA366 AT agilent DOT com> <5 DOT 1 DOT 0 DOT 14 DOT 2 DOT 20010625161345 DOT 0257c1d8 AT pop3 DOT cris DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Earl, I stand corrected. Now that you mention it, that does sound familiar. That leaves only the question: Why are you asking when you know already? Randy At 16:59 2001-06-25, you wrote: >Randall R Schulz wrote: > > What are you trying to do? What do you mean by "/bin/sh avoidance?" > > > > Make has no ability to interpret commands, and relies on a shell to do > > that for each command it decides to invoke. > >I you look at the source code (construct_command_argv in in job.c) >you'll find some code that looks carefully at the command line. > >If the command line is sufficiently simply (eg sleep 15), make >will perform an optimization whereby it starts the command >directly. That is, instead of: > > sh -c 'sleep 15' > >make will invoke the following directly: > > sleep 15 > >thus avoiding the overhead of a fork/exec of /bin/sh. > >Earl -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple