UWIN anyone?
On Wed, Jan 16, 2013 at 10:56 AM, Ruben Van Boxem <[email protected]>wrote: > 2013/1/16 Ray Donnelly <[email protected]> > >> unixy utils built with Boost? Very cool. It'd be nice if an explicit >> goal was cross compilation on many different OSes. >> >> ...but why not pitch in with MSYS2 instead? Your time, your choice, of >> course; both are very worthy projects I think. >> > > MSYS2 has a different implementation goal: (the project, not the final > result) wants to create a POSIX programming environment that can accomodate > running pure Unix code compiled on top of a Cygwin-like POSIX compatibility > layer. > > My goal is to reimplement them natively (on top of Boost, which uses the > Win32 API and basic C++ under the hood). My project will never allow to run > an unmodified Unix tool, whereas MSYS/Cygwin executables are compiled > specifically against the POSIX compatibility layer. I guess I want to show > people a shell on Windows doesn't have to be inherently slow. If this will > prove to be true? Only time will tell, but we won't know it until someone > tries :P > > The *ultimate* goal would be to be able to compile stuff like GCC with > configure scripts running inside my environment. I'll be happy if within > one year, I get the autotools build of simple things like libogg working > ;-). That reminds me that unless mingw32-make would suit my purposes, I'll > be forced to get me some form of "make"... ugh. > > Ruben > > >> >> On Wed, Jan 16, 2013 at 8:37 AM, Ruben Van Boxem >> <[email protected]> wrote: >> > 2013/1/14 JonY <[email protected]> >> >> >> >> On 1/14/2013 22:49, Ruben Van Boxem wrote: >> >> > That is of course a difficult one. Either internal bookkeeping or a >> >> > simple >> >> > (?) translation function *where need be* (the hardest part being the >> >> > latter >> >> > of course). MSYS achieves this somehow, so I'd start there. >> >> > >> >> > >> >> >> >> MSYS is pretty bad at path translation, it was what drove me to Cygwin >> >> in the first place. Perhaps some setting on how aggressive it scans and >> >> assumes a string as a path is a good idea. >> >> >> >> gcc -c abc.c -Dfoo="/bar1/bar2" <- is this a path to translate or just >> >> some string? >> >> >> >> Unfortunately, it is impossible to tell without peering into the actual >> >> code for context. >> > >> > >> > I assume Cygwin keeps track of an internal filesystem? I know that's >> how it >> > does symlinks; they are useless files outside the Cygwin environment. >> >> >> >> >> >> >> >> >> >>> If you could give me a real-world (albeit simple) example of some >> sh >> >> >>> trickery that is impossible to implement (without e.g. the fully >> >> >>> spec'ed >> >> >>> functionality of fork()), I would love to know so I can dump this >> >> >>> crazy >> >> >>> idea in the trash can before I spend any lost time in it. >> >> >> >> >> >> Sh itself doesn't actually need full spec fork, since it has no >> concept >> >> >> of memory addresses. The hard part is the other Unix apps that >> already >> >> >> use fork calls in C. >> >> >> >> >> > >> >> > That's good news, the C programs will need porting as I've said >> before >> >> > in >> >> > sofar the ports don't already exist. >> >> > >> >> > >> >> >> >> Hopefully, you don't repeat the unmaintainable mess that is GnuWin32. >> > >> > >> > I've thought a lot about picking that up, right now I think implementing >> > them on top of Boost is the only feasible and realistic option. It >> carries >> > most (if not all) of the low level algorithms and code, time-tested and >> > efficient. >> > >> >> >> >> >> >> >> >> Another hard part is the fork/exec pairs. As you run exec, the >> process >> >> >> is expected to still have the same pid. It is possible to have a >> >> >> process >> >> >> to dump it's pid before exec'ing something else. Not sure how to >> >> >> accomplish this in Windows without some external bookkeeping. >> >> > >> >> > >> >> > That sounds like something that falls under the scope of the sh >> >> > interpreter. I'm not sure how relevant this is when we have fully >> Win32 >> >> > native Unix-like utilities though. >> >> > >> >> >> >> Well, there's that echo $$ > .pid && exec ... pair calls. >> > >> > >> > I'll see how I can handle those. Perhaps an internal pid bookkeeping >> might >> > be useful. >> > >> > In the meantime, I've written the basic skeleton layout of a new Unix >> Tools >> > For Windows: >> > https://github.com/rubenvb/UnixToolsForWindows >> > (the readme with useful info is at the bottom) >> > >> > People who want to help, please do :). Boost is the underlying >> framework to >> > be used. As I'm new to it (as a whole, some small parts I've used >> before) >> > myself, I'm going to start with "echo" and "date", which will give me a >> > little experience with program_options and date_time. >> > >> > Note I am reinventing the wheel, but in a hopefully useful way. >> > >> > Cheers, >> > >> > Ruben >> > >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> >> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, >> >> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current >> >> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft >> >> MVPs and experts. SALE $99.99 this month only -- learn more at: >> >> http://p.sf.net/sfu/learnmore_122412 >> >> _______________________________________________ >> >> Mingw-w64-public mailing list >> >> [email protected] >> >> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public >> >> >> > >> > >> > >> ------------------------------------------------------------------------------ >> > Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery >> > and much more. Keep your Java skills current with LearnJavaNow - >> > 200+ hours of step-by-step video tutorials by Java experts. >> > SALE $49.99 this month only -- learn more at: >> > http://p.sf.net/sfu/learnmore_122612 >> > _______________________________________________ >> > Mingw-w64-public mailing list >> > [email protected] >> > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public >> > >> >> >> ------------------------------------------------------------------------------ >> Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery >> and much more. Keep your Java skills current with LearnJavaNow - >> 200+ hours of step-by-step video tutorials by Java experts. >> SALE $49.99 this month only -- learn more at: >> http://p.sf.net/sfu/learnmore_122612 >> _______________________________________________ >> Mingw-w64-public mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public >> > > > > ------------------------------------------------------------------------------ > Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery > and much more. Keep your Java skills current with LearnJavaNow - > 200+ hours of step-by-step video tutorials by Java experts. > SALE $49.99 this month only -- learn more at: > http://p.sf.net/sfu/learnmore_122612 > _______________________________________________ > Mingw-w64-public mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public > > -- Dr. Vasileios Anagnostopoulos (MSc,PhD) Researcher/Developer ICCS/NTUA 9 Heroon Polytechneiou Str., Zografou 15773 Athens,Greece T (+30) 2107723404 M (+30) 6936935388 E [email protected]<mailto:[email protected] <[email protected]>>www.ntua.gr <http://www.sap.com/><http://www.ntua.gr/> <http://www.sap.com/>
------------------------------------------------------------------------------ Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery and much more. Keep your Java skills current with LearnJavaNow - 200+ hours of step-by-step video tutorials by Java experts. SALE $49.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122612
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
