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

Christopher Faylor wrote:
On Wed, May 04, 2005 at 11:08:43AM +1000, John Williams wrote:

Essentially under Cygwin the PWD variable seems to be "frozen" at its
value upon first launching Make from the commandline, while under Linux
it is being updated for each child process spawned by `make -C XXX`

I know that Cygwin != Linux, however is it a reasonable expectation
that under the same shells, the same behaviour should apply?

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!

It's easy for me to say, but it seems cleaner for the compatability layer (e.g. Cygwin) to model the expected behaviour (even behaviour which might be considered buggy), than to push changes on fairly standard and widely distributed source/build packages.

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.



-- Unsubscribe info: Problem reports: Documentation: FAQ:

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