|
From: Eli Z. <el...@gn...> - 2013-11-22 15:15:48
|
> Date: Thu, 21 Nov 2013 23:05:47 -0600 > From: Jared Maddox <abs...@gm...> > > as an example of what you shouldn't expect from the MinGW > environment, but should expect from MSYS: the common *nix "ls" > command. There are native Windows ports of 'ls' and other Unix utilities, so there's no need to choose: you can have 'ls' in both environments. Anyway, this is unrelated to the issue at hand. If you want to run a Unix shell script that invokes 'ls', you had better do that in an MSYS Bash window, even if you have a MinGW-compiled 'ls', because the latter might not produce the output expected by the script. > I've maybe used mingw32-make two or three times, so I can't > claim to be speaking from experience, but I suspect that for MinGW you > would need to use the standard MSDOS/MSWindows "dir" command. Unless you have a MinGW 'ls' (which I do), see above. Again, the availability of _utilities_ is not the issue here. For example, I have both MSYS and MinGW ports of the main utilities, but I still run configure scripts, automake, autoconf, etc. from the MSYS Bash, because this way I have better chances for success. > The actual situation is that MinGW consists of the smallest reasonable > set of tools to compile for the Windows platform. MinGW's make will > almost exclusively be used with the shell tools that natively ship > with MSWindows, because MinGW doesn't include POSIX shell tools, due > to not needing them to do it's job. Actually, MinGW's make supports both stock Windows shells and Unixy shells. (Of course, MSYS make supports Unixy shells much better.) The main problem with using Unixy shells is not support in Make, but the sad fact that there's no decent MinGW port of Bash or any other Posix shell. That is the single most important reason why MSYS is a must when building Unix packages: you cannot do that without a reasonably full implementation of the Posix shell functionality. > Meanwhile, MSYS (including it's make) is used to compile programs that > need a POSIX-ish environment to COMPILE. Not just to compile: also to run the test suite, which many times relies on Posix shell functionality as well. And don't forget "make install" that follows the build step. |