This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Is -mno-cygwin support being removed????


-mno-cygwin works just fine (for me) with cygwin 1.1.2, but additional
headers and run-time libraries are needed.  Its best to custom craft a specs
file for the compiler to do this.  Its not as simple as adding a -I
directive and a -L directive.  Something like the attached specs file would
work, but only if the headers and libraries from the mingw distribution
(latest, 27 March version) are installed where the specs file expects them.
Note that in the specs file I disable searching through the "standard system
include directories", as is needed to avoid mixing mingw and cygwin headers.
I know of no such protection from the library search paths other than making
sure that the mingw libraries are found first, and then checking that the
resulting executable does not refer to the undesired DLL's.

With the right specs file, 1.1.2 seems to work find for what I have tried
(C, C++, fortran).  No warranties.  The enclosed specs file is a bit of a
hack, and some of the hacks may break for future releases of gcc/cygwin.
There is no good definition/specification for the specs file that I am aware
of other than the source code, so I assume that the specs file is fair game
for reformatting with each revision of the compiler.

I use the following mingw packages
   gcc-2.95.2-1-msvcrt.zip
      (use the lib/gcc-lib/i386-mingw32msvc therein by moving or copying
       it into /usr/lib/gcc-lib to make it parallel to
/usr/lib/gcc-lib/i686-pc-cygwin
                  (this gives you /usr/lib/gcc-lib/i386-mingw32msvc)

       use the include/g++-3 therein by moving or copying it
       into /usr/mingw/include                 (this directory must be
created)

       and use the files i386-mingw32msvc/include/*.h therein by moving or
       copying them into /usr/mingw/include
      )
   bin-msvcrt-2000-03-27.zip
      (unpacking under /usr, and then
  THIS IS TRICKY:
           from a true MSDOS shell (using command.com or cmd.com), go into
/usr/bin.
           If you see a single file called mingwm10.dll move it to /bin
       You must then also undo some damage to the file structure caused by
the
       unpack by going into the /usr directory and remove the undesired bin
directory:
               rd bin
       You may now exit the MSDOS shell.
       from a cygwin shell (like an rxvt window)
             cp -a /usr/i386-mingw32msvc/lib/*.o /usr/i686-pc-cygwin/lib
      )

It works for me.  100k lines of C/C++/fortran do just fine.

I expect that the above hacks will be unnecessary and probably broken when
Mumit Khan  returns to the scene.

Hope this helps.
Dale Goudey


specs

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]