On 3/7/2011 14:00, Edward Diener wrote:
> I was able to install cygwin with these tools. Googling "identity mount"
> and mingw did not give me much. I think you are telling me that I need
> to set an MSYS mount in /etc/fstab such that the cygwin path becomes an
> MSYS path, but I am not sure.
Suppose you build your software on a directory below c:\work.
Ordinarily, MSYS sees this as /c/work and Cygwin sees it as
/cygdrive/c/work. MSYS does translate /c/work to c:\work when invoking
native Windows applications, so things are mostly transparent. Cygwin
does no such translation, so native Windows applications fail when a
path under /cygdrive/c/work is passed on their command line (there is no
such path as c:/cygdrive/c/work).
Since you need to use the Cygwin version of dejagnu, you should arrange
things so that the absence of path translation does no harm. This is
done by mounting c:\work into /work on both MSYS and Cygwin, and relying
on the Windows behavior of treating /work as c:\work when the current
drive is c: . This is the so-called "identity mount".
> Is this true and are you perhaps telling me that I must use cygwin to
> use these tools, and there is indeed no way to use the cygwin versions
> when in MSYS ? Or is there indeed a way to use the cygwin versions of
> dejagnu and expect ( I found a mingw version of tcl ) under MSYS ?
Do not mix MSYS and Cygwin tools, it doesn't work very well in practice.
Instead, after building your software using MSYS as usual, switch over
to Cygwin and run "make check" from a Cygwin prompt. If your application
is linked against the GCC run-time DLLs found in c:\mingw\bin, you
should add /cygdrive/c/mingw/bin to the Cygwin PATH.
If there are Windows absolute paths like c:\work in the makefile, the
Cygwin version of make will choke. In that case, you can try using
"mingw32-make check" instead.