delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/05/04/09:50:22

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Date: Wed, 4 May 2005 09:49:53 -0400
From: Christopher Faylor <cgf-no-personal-reply-please AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: pwd vs $PWD, bash, cygwin vs Linux
Message-ID: <20050504134953.GA29451@trixie.casa.cgf.cx>
Reply-To: cygwin AT cygwin DOT com
References: <4278209B DOT 1050903 AT itee DOT uq DOT edu DOT au> <20050504011021 DOT GC23476 AT trixie DOT casa DOT cgf DOT cx> <42785047 DOT 2020505 AT itee DOT uq DOT edu DOT au> <20050504045236 DOT GF24661 AT trixie DOT casa DOT cgf DOT cx> <42785B91 DOT 6060601 AT itee DOT uq DOT edu DOT au> <Pine DOT GSO DOT 4 DOT 61 DOT 0505040921280 DOT 1454 AT slinky DOT cs DOT nyu DOT edu>
Mime-Version: 1.0
In-Reply-To: <Pine.GSO.4.61.0505040921280.1454@slinky.cs.nyu.edu>
User-Agent: Mutt/1.5.8i

On Wed, May 04, 2005 at 09:27:15AM -0400, Igor Pechtchanski wrote:
>On Wed, 4 May 2005, John Williams wrote:
>
>> Christopher Faylor wrote:
>>
>> > > > In this case, the operative observation is bash != ash.  PWD is a
>> > > > bash construct.  You would be much better off just using the gnu
>> > > > make "CURDIR" variable.  Changing PWD to CURDIR in your examples
>> > > > makes things work as you'd expect.
>> > >
>> > > Thanks for the quick response and workaround.
>> > >
>> > > While what you say might be a true statement, "better off" means
>> > > different things to different people!
>> >
>> > > What surprised me was that the same shell, and same make, resulted
>> > > in different behaviour.  I guess this is just reflecting differences
>> > > in the underlying process architectures of Linux vs Windows.
>> >
>> > Again, it *isn't* the same shell.  You have now learned that it isn't
>> > the same shell and you now know that this is the reason for the
>> > inconsistency.  ash isn't normally used as /bin/sh on linux.  A
>> > stripped down version of ash is used as /bin/sh for performance
>> > purposes on cygwin.  ash does not set PWD.
>>
>> OK - I see the confusion.  Make is spawning ash as the subshell, not
>> bash. Now everything you said makes sense.  Out of interest, can that
>> behaviour be modified at the runtime/user/Makefile level?
>
>In addition to what Gary said, you could also try the following (WARNING:
>untested), which isn't as drastic:
>
>mount -u -f -b -x "`cygpath -aw /bin/bash.exe`" /bin/sh.exe
>mount -u -f -b -x "`cygpath -aw /bin/bash`" /bin/sh
>make
>umount -u /bin/sh.exe
>umount -u /bin/sh
>
>I may have gotten some flags slightly wrong -- "man mount" should help
>with that.
>HTH,

I really don't understand why using CURDIR isn't the ultimate solution
here.  If you can mess with your mount table or copy bash to sh, then
you really should be able to also change your Makefile to use $(CURDIR)
rather than $$PWD.

cgf

--
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019