On Tue, Jul 10, 2012 at 4:34 AM, Aaron Schneider wrote:
You're right that cygwin shell tries to emulate bash, I just twisted things.
You're still wrong. Cygwin is a POSIX library for Windows. Bash is a
shell capable of being built with that POSIX library for use on
Windows but it isn't an emulation of Bash, it *is* Bash. Other shells
available on *nix is also available for Cygwin.
The problem is that in unix executables don't have extension but they
actually do in cygwin so I think that's the root of the problem.
They don't need one in Cygwin either; as a matter of fact it was an
addition to binutils in the second generation of Cygwin that added the
.exe to the executable because it was more natural for Windows and
Windows at the time wouldn't execute the binary without the .exe
extension.
Probably compiling binaries under cygwin without the exe extension,
like unix, is not an alternative, or is it? Cygwin may detect if it is executable
checking if it's PE format; if it is perl script. Just check if file is
present in path or run. /file
False. It is wholly possible, you just have to pass the correct flags
to the linker process. Current windows versions since at least XP and
maybe before would run files that did not contain a .exe extension.