[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu-arch-users] Re: darcs vs tla

From: John A Meinel
Subject: Re: [Gnu-arch-users] Re: darcs vs tla
Date: Thu, 18 Nov 2004 15:59:16 -0600
User-agent: Mozilla Thunderbird 0.9 (Windows/20041103)

Adrian Irving-Beer wrote:
On Thu, Nov 18, 2004 at 03:02:57PM -0600, John A Meinel wrote:

hackerlab creates a temporary executable to generate an output file
and then deletes it. But on cygwin/windows the file ends with a
.exe, so rm cannot find it to delete it.

I know there is no 'gcc contract', but doesn't saying 'ld -o foo' or
'gcc -o foo' and getting foo.exe (a) violate the expectation of using
-o, and (b) break almost every other Makefile out there?

Not saying it's not a problem.  Just confuses me why Cygwin would do
this.  As I recall, all their system executables end in .exe too,
although you call them without like in Unix.

Does Windows literally only run files with a .exe extension?  I haven't
used Cygwin or Windows in years.

Windows will only run files with a .exe, .com, .bat, maybe a couple more. Windows determines what is executable from the extension (it has no X bit)

cygwin works around this by pretending when you say
That you really meant

A lot of makefiles I've seen have this workaround


myprog$(EXE) : <dependencies>

You can also get make to work by supplying

  rm ,es$(EXE) <other stuff>

or using
  -rm ,es <other stuff>

which won't actually remove ,es.exe

I think most tools convert the filename to exe as needed. For instance:

$ ls /bin/ls
$ ls /bin/ls*

Notice that there does not exist a file named "/bin/ls" it is actually /bin/ls.exe

I'm guessing that rm is an exception because they didn't want to remove something you didn't exactly say (since you are deleting). Playing nice with ls, find, etc is all good, but secretly deleting something would be bad.


Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]