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

Reply via email to