avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [avr-gcc-list] WinCVS and WinAVR Conflict


From: Dave Hylands
Subject: RE: [avr-gcc-list] WinCVS and WinAVR Conflict
Date: Fri, 16 Apr 2004 15:48:31 -0700

> > It is possible to get 1.3 and 1.5 versions of cygwin to 
> > coexist, but it requires patching the dll to change the 
> > name of the shared memory region. There are also a 
> > couple of restrictions associated with doing this, but 
> > I've been able to successfully use the technique and have 
> > three different versions of cygwin1.dll being used in our 
> > build environment (some of the compilers we use come with 
> > cygwin1.dll, and most of our developers use the bash shell 
> > from cygwin as their normal shell).
> 
> 1. Have you ever mentioned this on the Cygwin list? Also, did 
> they ever give any reason why they designed it this way and 
> not use different names for the shared memory for different 
> versions of the DLL?

Yes, it was mentioned on the cygwin list. This is actually how we
learned about the name of the shared memory section. We got sympathies
from others who were running into the same issues, but nothing official
from the cygwin people.

> 2. Curious: Which compilers / targets are you using?

VxWorks, pSOS, Win32 (gcc), ZSP, and MIPS generic gcc are all
cygwin1.dll based compilers that we use in our build environment. We
also use the cygwin tools themselves as part of our build, and these
tools (as well as the compilers) are under source control (so that all
developers use the exact same tools/compilers). Some of the developers
also use cygwin as their shell, so you can see the potential for
problems here. We found that once we patched the dll's we just had to
make sure that if app A luanched app B, they both had to use the same
version of cygwin. Since make is the primary program launcher, we
rebuilt make.exe as a Win32 native app and we just need to make sure
that we don't use stuff like:

        foo.o : foo.c
                gcc -c -o foo.o foo.c || rm -f foo.o

Because this causes make to launch bash, which might use a different
version of the cygwin1.dll than the compiler in question.

--
Dave Hylands
Vancouver, BC, Canada
http://www.DaveHylands.com/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]