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. 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
