Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com From: "Dave Korn" To: Subject: RE: pwd vs $PWD, bash, cygwin vs Linux Date: Wed, 4 May 2005 16:38:08 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit In-Reply-To: <20050504150540.43048.qmail@web30212.mail.mud.yahoo.com> Message-ID: X-OriginalArrivalTime: 04 May 2005 15:38:13.0799 (UTC) FILETIME=[48A9CB70:01C550BF] Note-from-DJ: This may be spam ----Original Message---- >From: Peter Farley >Sent: 04 May 2005 16:06 > But what if it is *not* your Makefile, but someone > else's, e.g. the many GNU source packages that expect > bash behavior? Surely you don't intend that ordinary > users (well, OK, anyone compiling from a source > package isn't really "ordinary") should modify every > package maintained by GNU in order to make it under > cygwin, do you? HELLO? CAN ANYONE HEAR ME? Testing, testing, is this thing on? Am I invisible all of a sudden? Has everyone in the world gone mad except me? Why is everyone coming out with awkward solutions involving remounting mounts or fiddling with symlinks or hacking around every poorly-written-makefile-containing-nonportable-bashisms-in-the-whole-world? I did actually post the answer to this problem six hours and four posts ago. I guess it must be stuck somewhere behind a heavy flow of spam and not made it to the list yet. Anyway here it is again. make SHELL=/bin/bash.exe This FIXES your original testcase. Look, if you don't believe me: dk AT mace ~/maketest> make -C topdir SHELL=/bin/bash.exe make: Entering directory `/home/dk/maketest/topdir' In topdir, TOPDIR=/home/dk/maketest/topdir In topdir, PWD=/home/dk/maketest/topdir make -C subdir all make[1]: Entering directory `/home/dk/maketest/topdir/subdir' in subdir, TOPDIR=/home/dk/maketest/topdir in subdir, PWD=/home/dk/maketest/topdir/subdir make[1]: Leaving directory `/home/dk/maketest/topdir/subdir' make: Leaving directory `/home/dk/maketest/topdir' dk AT mace ~/maketest> > P.S. - If there have already been discussions or if > there already exists documentation on why ash vs. bash > (I gather it is for performance reasons), I'd ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > appreciate (a) pointer(s) so I could better learn the See the phrase between brackets in your previous line! When you run a big configure or build of something of the scale gcc there may be anywhere between tens and hundreds of thousands of sub-shell invocations in the entire process, and given that forks are already quite a bit slow on cygwin, it's really worth shaving time off them by using a leaner meaner shell. cheers, DaveK -- Can't think of a witty .sigline today.... -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/