This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: pwd vs $PWD, bash, cygwin vs Linux


----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?    <tap-tap-tap>  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@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@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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]