gcc -mno-cygwin creates cygwin executables!

egor duda deo@logos-m.ru
Wed Dec 12 12:30:00 GMT 2001


Wednesday, 12 December, 2001 Teun Burgers a.rburgers@freeler.nl wrote:

TB> To sum up this thread:
TB> consider the following program:

TB> main () {
TB>         pthread_create();
TB> }

TB> gcc -mno-cygwin -o zz.exe zz.c -lpthread will compile and build.
TB> A cygcheck on zz.exe reveals that libcygwin.a is linked in. The
TB> problem with this is that a configure script with CC='gcc -mno-cygwin'
TB> will incorrectly find that libpthread.a is available with
TB> AC_SEARCH_LIBS(pthread_create, -lpthread)

TB> This comes about since gcc -mno-cygwin searches for libs in /usr/lib
TB> and libpthread.a is a symlink to libcygwin.a

you're fixing specific symptoms instead of the problem itself. this
had been discussed already and the general consensus (at least as i
understand it) is the following: -mno-cygwin is a _hack_. it's
supposed to be used only when absolutely necessary and when you
absolutely know what you're doing.

*** if you want to build executables for mingw platform you should use
mingw toolchain, either native or cross. ***

you don't suppose cygwin gcc to have -msolaris or -mdjgpp options, do
you? i believe mingw is no different.

the reason -mno-cygwin still exists in official cygwin gcc is that
cygwin contains several utilities that should not depend on
cygwin1.dll (setup, cygcheck, strace). those utilities are built with
-mno-cygwin and people maintaining them take special care to make sure
libcygwin.a won't creep in.

Egor.            mailto:deo@logos-m.ru ICQ 5165414 FidoNet 2:5020/496.19

Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

More information about the Cygwin mailing list