2013/7/29 Fabian Greffrath <[email protected]>: > Am Mittwoch, den 24.07.2013, 00:18 +0200 schrieb Michael Langguth: >> looking at the current state of this project i can say that i did not >> start basing it on a compatibility library. but there was (no surprise) >> a lot of compatibility stuff to take care about. it was obvious to keep >> this stuff separate from the core code of mksh. so i came out with >> something like my own, small compatibility library. but core stuff like >> fork() or sigchld (in progress) is still implemented directly in the shell. > > Wow, I believe implementing fork() is one major step in porting a Unix > shell to Win32? > > Your compatibility library is what can be found in the liblan directory? > Ever considered extending this library so that the full set of shell > utilities could be built against it? > >> for me it would be no bad thing to have or use such a library. the >> question is how much it isolates applications built against it from >> windows itself and other native win32 applications. here i agree with >> thorstens "picture", showing mingw very near to native. > > It builds against the systems msvcrt.dll with header files constructed > from reverse engineering, so it *is* a native build, but not the > system's native compiler. > >> about the utils: at the moment i use a mix of mostly gnuwin32, a few >> unxutils and a few self-written ones. e.g. rm is self written because i >> found no rm implementation that was able to detect and not to follow(!) >> windows junctions and/or symlinks. ln (-s) too. > > Yes, you'll encounter Unix concepts even in the most trivial utilities. > >> i spent some time to get information about how to create a mingw build >> enviromnent. may be i looked at the wrong places but i found nothing >> looking like success within a few days. so it seemed easyer to me to >> rewrite a few tools with the minimum, classic unix option set. > > Get the lates installer from here to install MinGW/MSYS: > > http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/ > > This will a.o. install a msys.bat which will open a bash terminal. Using > gcc in this terminal will compile native Win32 using mingw. If you want > to build *for* msys, i.e. using its compatibility library, run "msys.bat > MSYS". > >> thats the point where fabians post opened a new perspective (thanks): up >> to now mingw-w64 was not on my radar. i will take a look on it. it >> doesnt look like the tools coming with it will be the right ones for a >> native win32 environment. but this should definitely help me to create a >> mingw build environment. > > All that wingw-w64 does in this regard is bundling the whole of MSYS > into a single zip file. There are no other "tools that come with it". It > is, however, more convenient to point people to this zip file than > leading them through the whole download and installations instructions > for MinGW if they are just interested in the MSYS utilities. ;) > >> but - is mingw still maintained? do have current mingw versions >> knowledge about e.g. windows symlinks? i'll see... > > It is. At least gcc versions are updated quite regularly (or were until > about one year ago, which is when I lost interest in it). However, the > project has somehow missed the jump to the win64 ABI and now the w64 > fork has become quite successful. Plus, the fork's requirements for > symbol inclusion in the run-time seem a bit less strict. > > Regarding MSYS, I think development has halted when it was considered > "good enough" to run the majority of ./configure scripts. There is a > reimplementation going on called MSYS2 which will be based on the > current Cygwin development, but I don't know how far this is from > release quality: > > http://sourceforge.net/p/mingw/msys2-runtime/ci/msys2-1.0-dev/tree/ >
Isn't it worth mentioning msysgit fork of MSYS? which is "quite" actively developing.
