X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=AWL,BAYES_40,SARE_RMML_Stock10,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com connect(): No such file or directory From: Eric Backus Subject: Re: 'cp' utility bug when <dest-name>.exe file exist. Date: Thu, 10 Jun 2010 22:26:12 +0000 (UTC) Lines: 45 Message-ID: References: <1276042636 DOT 1651 DOT 9 DOT camel AT erebor> <20100609044034 DOT GB9305 AT ednor DOT casa DOT cgf DOT cx> <4C0FA1CA DOT 4070000 AT redhat DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit User-Agent: Loom/3.14 (http://gmane.org/) X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Eric Blake writes: > A first step would be teaching gcc to not append .exe. Many configure > scripts (certainly almost all scripts based on autoconf) determine > $(EXEEXT) based on gcc behavior, and will just do the right thing > throughout the rest of the build with $(EXEEXT) empty (as evidenced by > their behavior on Linux). > > But even with that gcc change, we'd have to keep .exe magic in > cygwin1.dll until everything in the distro has been rebuilt without an > .exe suffix. > > However, I'm starting to like the idea, if we can get buy-in from the > gcc packager. Dave? This is really an interesting discussion. I too find some of the existing behavior strange, and perhaps there is room for improvement. However, when I see this kind of thing, I try to remember what Cygwin really is (for me anyway). It is not *just* a POSIX environment. If I wanted *just* a POSIX environment, I'd run Linux, perhaps in a virtual machine, and I would have a better POSIX environment than Cygwin can ever provide. For me, Cygwin is a nearly-POSIX environment that cooperates and interoperates nicely with the Windows operating system. In Windows, executables end in .exe, and Windows shells (and other Windows programs) rely on that. If you want to be able to execute a cygwin executable from a Windows shell, you need that .exe. Sure, we've seen some interesting ways to configure some windows shells to work around this, but 99.9% of users won't know that (I certainly didn't until now). So this reasoning leads me to think that the .exe magic is probably a good idea, though it may still need tweaking to make is as benign as possible. As a side note, this same kind of reasoning is why I think Cygwin bash should default the igncr option to on. Also why Cygwin symlinks should probably default to using real Windows symlinks. And why Cygwin should probably go back to reading/setting/clearing the DOS read-only attribute. And why more effort should be put into supporting text-mode mounts. There, is that enough controversy? -- Eric Backus -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple