Subject: Re: g77 -mno-cygwin I/O problems in bash
From: Earnie Boyd <[email-masked]>
To: Michael Lemke <[email-masked]>
Cc: [email-masked]
Date: Tue, 28 Nov 2000 13:43:12 -0800 (PST)

--- Michael Lemke <[email-masked]> wrote:
> >
> > As for the read problem, how is your CYGWIN environment variable set?  You
> > can't communicate properly with non-Cygwin programs with tty mode set.
> 
> It isn't set at all.
> 

Good.

> >
> >
> > As for MinGW specific libraries, I will eventually get a round tuit.  The
> > w32api and the mingw runtime are now released as separate packages from
> Cygwin
> > and when the update happens the list will be informed.
> 
> Is there a way that I can compile the stuff myself?   I still don't see what
> I need to
> to do so.   Plain gcc package won't do I suppose.
> 

Well, yes.  Get the
http://download.sourceforge.net/mingw/mingw-runtime-0.4-20001122-src.tar.gz
snapshot, unarchive it and
  export CC="gcc -mno-cygwin"
  cd mingw-runtime-0.4-20001122
  mkdir bld
  cd bld
  ../configure --prefix=/mingw --host=mingw32
  make
All of the resulting libraries will be mingw specific.

> And how does mingw as it comes with the net release relate to what is
> on www.mingw.org?  Are these separate projects?  I really find this
> confusing.
> 

No, they come from the same source.  Yes, I understand the confusion.  Just
remember that -mno-cygwin is a special cross case and that you have to have the
supporting libraries for the target.

> What I really like to do is build executables *under cygwin* that run without
> cygwin1.dll.  I am not really interested in having a gcc (executable) that
> works
> without cygwin1.dll.
> 

This is doable.  One way that I've found is to use chroot.  To do that you need
to create a separate tree.  Let's say d:\MinGW will be the root for that tree. 
You need a bin directory containing a few tools from the Cygwin/bin directory. 
I don't have a definitive answer to all that you need but start with
cygwin1.dll, sh, bash, cp, mv, chmod, awk, m4, rm, sed, the GCC set of tools,
others I've forgotten but you'll soon learn what you need.  You also need to
copy Cygwin/lib/gcc-lib.  You then put the mingw-runtime headers in
/usr/include and the mingw-runtime libraries in /usr/lib and the
include/w32api/ headers in /usr/include.

Then, `chroot /d/MinGW/' if you have d:/ mounted as /d or `chroot
/cygdrive/d/MinGW/' if you don't.  The trick here is to remember to update the
copies if they get updated, especially cygwin1.dll.  Make sure that you export
CC="gcc -mno-cygwin" or modify your specs file and then you should be able to
configure and build programs without including the cygwin1.dll runtime as long
as the package is ANSI compliant and doesn't require POSIX.

As always, most of what I've concocted is experimental and prone to error. 
I've used it to do just what you want.  However, YMMV.

Oh, I almost forgot the G77 specific library will need to be gotten from the
GCC distribution from http://www.mingw.org.  You can throw the parts you don't
need away.

HTH,

=====
Earnie Boyd
mailto:[email-masked]

---         <http://earniesystems.safeshopper.com>         ---
--- Cygwin: POSIX on Windows <http://gw32.freeyellow.com/> ---
---   Minimalist GNU for Windows <http://www.mingw.org/>   ---

__________________________________________________
Do You Yahoo!?
Yahoo! Shopping - Thousands of Stores. Millions of Products.
http://shopping.yahoo.com/

--
Want to unsubscribe from this list?
Send a message to [email-masked]