This is the mail archive of the mailing list for the eCos 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: #! magic for finding Cygwin Tcl shell

Gary Thomas wrote:
> Jonathan Larmour wrote:
>> John Dallaway wrote:
>>> I was looking at support for UNC file paths in the eCos Configuration
>>> Tool today. The convoluted #! magic we use in our Tcl scripts to find a
>>> Cygwin Tcl shell is getting in the way when calling (eg) heapgen.tcl via
>>> a UNC repository path. This code is only needed to support installations
>>> of Cygwin that are more than 5 years old.
>>> Rather than increase the complexity of the #! magic still further, I
>>> think it now makes sense to revert to a simple "#! /usr/bin/tclsh"
>>> within our Tcl scripts. However, this would break compatibility with old
>>> Cygwin installations providing only tclsh8*.exe or cygtclsh80.exe.
>>> Any objections?
>> Yes, it may not be in /usr/bin. I don't mind the cygwin-specific cygpath
>> bits being dropped, but I'd still want it to be found from the PATH by some
>> means.
> Does CygWin have '/usr/bin/env'?  This is the "modern" way
> to handle this:
>  #! /usr/bin/env tclsh
>  ...

I'd forgotten about that because I'm a bit wary of it in general as you
can't pass arguments to it, e.g. this doesn't work as you'd expect:
#! /usr/bin/env echo "$@"

But that problem probably doesn't apply to most if not all our cases - the
arguments are passed as-is, so yes this should probably work.

eCosCentric Limited     The eCos experts
Barnwell House, Barnwell Drive, Cambridge, UK.       Tel: +44 1223 245571
Registered in England and Wales: Reg No 4422071.
------["Si fractum non sit, noli id reficere"]------       Opinions==mine

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