<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>The conclusion here is:<br> Just try to convince me otherwise. :)<br><br>The gist of the question is:<br> Just what characteristics of "Posix" and "Win32" should "NT386GNU" have?<br><br> Just what characteristics of "Posix" do people notice and like?<br>You can't say "the whole thing". :)<br><br>Restated:<br><br>What is Posix? I don't mean, where is the standard document web site.<br>I mean what is it TO YOU?<br><br>Is it open/read/write/close?<br>Is it fork?<br>Is it sbrk?<br> On these previous ones, they are interesting to many programmers,<br> but Modula-3 already layers over all this, so these are unlikely defining<br>characteristics here.<br><br>Is it sh? Probably somewhat. But if have you sat in Cygwin sh much vs. cmd?<br> It is annoying. Command line history is flaky. Paths are munged to say /cygdrive.<br> You lose the critical F8 command line completion against history feature.<br> You lose a lot of editing capability, but do gain some alternate possibly "portable"<br> similar.<br><br>Is it Perl? No.<br>Is it X Windows. I doubt it.<br>Is it pthreads? Probably not.<br> Or at least vtalarm? Maybe?<br> Or setjmp/longjmp? Ok.<br> Longjmp to the same buffer multiple times? Not likely.<br> Longjmp to a place that has already returned? Not likely.<br>All full paths starting with a forward slash? Maybe.<br> Backward slash being a valid non-seperator path character? Maybe.<br><br>Think about that last one.<br>It is valid and occurs in Win32 code to treat forward slash and backward slash the same.<br>Some code does, some code does not.<br>What if you just did that unconditionally, like even in Posix?<br>What is the role of backward slash in Posix paths? It either just doesn't occur,<br>or is an escape character, or is a regular character. Something at a low level<br>could replace the backward slashes with forward slashes.<br><br>I would like to change the code in m3-sys/cm3/m3path.m3 to treat backward slashes<br>and forward slashes the same. Backward slashes just won't occur on Posix, right?<br>So far I have managed without this change, but not having it has bitten me a few times.<br>I do have the analogous change to the Win32 path code in m3core.<br><br>It is the redundant filenames libfoo.a instead of foo.lib and libfoo.so instead of foo.so?<br>Perhaps. This seems dumb, redundant to me. Why have prefixes and suffixes?<br>Don't suffixes suffice?<br><br>That all said, I remain convinced that a useful intermediate or probably endpoint<br>is a toolset that targets Windows using cm3cg, ld, as, but otherwise looks like<br>NT386 as much as possible. MAYBE alter the library names to libfoo.*.<br><br>sh and make are needed for building cm3cg.<br>I did use Cygwin for that. MinGWin sounds promising here too but I haven't tried.<br><br> - Jay<br><br><br /><hr />Get the power of Windows + Web with the new Windows Live. <a href='http://www.windowslive.com?ocid=TXT_TAGHM_Wave2_powerofwindows_012008' target='_new'>Get it now!</a></body>
</html>