On Fri, Aug 22, 2008 at 03:52:35PM +0100, Phil Betts wrote: >John Emmas wrote on Friday, August 22, 2008 1:54 PM:: > >> Just doing some searches on the internet, there seems to be an awful >> lot of misinformation / misunderstanding about what the various >> Cygwin-gcc compiler and linker flags do. >> >> For example, I saw one article that said that that flag -mno-cygwin >> causes an executable to be generated which does *not* require >> cygwin1.dll to be present on the host machine. That doesn't seem to >> be true (I've tried it). > >If you link with cygwin DLLs, it is the DLLs that require cygwin1.dll, >not the executable. If you compile with -mno-cygwin, do not link with >any cygwin DLLs. You wouldn't link with a cygwin DLL if you were >cross-compiling for Linux; the -mno-cygwin is essentially specifying >a cross-compilation for a cygwin-free architecture. > >Think of it like this: > gcc -mvegan spaghetti.c -o meal -lparmesan >will not give you a vegan meal. > > >$ cat >hw.c <<'EOF' >> #include <stdio.h> >> >> int main (int argc, char **argv) >> { >> puts ("Hello World"); >> return 0; >> } >> EOF >$ gcc -mno-cygwin hw.c -o hw.exe >$ cygcheck ./hw.exe >.\hw.exe > C:\WINDOWS\system32\msvcrt.dll > C:\WINDOWS\system32\KERNEL32.dll > C:\WINDOWS\system32\ntdll.dll >$ ./hw.exe >Hello World >$ > >I see no trace of cygwin1.dll in the cygcheck output. > > >> I saw another article which said that if you >> don't use the flag -mwindows, a DOS terminal will open every time you >> launch your app. That doesn't seem to be true either (at least, not >> on my machine). > >How are you launching it? If you're doing it from a prompt, there's no >need to open another window. If you double-click on it in an Explorer >window, you WILL get a DOS box unless you specified -mwindows. Try the >above example and double click on it. You'll get a DOS box flash up >momentarily. Recompile using -mwindows, and you won't. > >> Is there any resource available where I can find out some >> (authoritative) information about what the various flags actually do? > >From the examples you've given, it seems you've already found some >authoritative information, but instead of doubting your ability to >comprehend, you've chosen to doubt the words of others and criticize >them in a public forum without providing any evidence to back up your >assertions. Not only is that arrogant, but now YOUR misinformation / >misunderstanding is out there to cause confusion for others. > >It would be nice if the cygwin-specific options were documented in the >gcc info file, but they don't appear to be. Don't expect -mno-cygwin >to appear there soon either, because my understanding is that the >-mno-cygwin option will be removed soon because of the surprising >number of people who can't seem to grasp the concept of no-cygwin.
Phil is 100% correct here. It's heartening to see someone so thoroughly getting it after having to so frequently deal with the misconceptions about -mno-cygwin. Confusion about -mwindows is new though. I'm counting the days until -mno-cygwin disappears. It is a blight that must be expunged. I know that as soon as it is gone there will be a general wail from people who use it but it really should never have been implemented. -- Christopher Faylor spammer? -> [EMAIL PROTECTED] Cygwin Co-Project Leader Netapp, Inc. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/