[M3devel] nt386gnu is posix or win32?

Jay jayk123 at hotmail.com
Thu Jan 10 12:16:36 CET 2008


clarification/additional info
Whatever MinGWin I have installed, is via the GPL Qt download.
I did not realize MinGWin had the "MSYS" component -- sh, make, etc.,  enough for autoconf. Enough for gcc?
http://www.mingw.org/mingwfaq.shtml#faq-usingwithmsys
"How do I use MinGW with Cygwin?For those who would like to use the Cygwin environment for development, yet generatenon-Cygwin-dependant executables, a much easier option to "-mno-cygwin" does exist.Simply install Cygwin and the MinGW distribution in seperate directories (i.e. "C:\CYGWIN"and "C:\MINGW"), and make sure that the "/bin" subdirectory beneath your MinGW installationcomes before Cygwin's "/bin" subdirectory in your PATH environment variable(i.e. "PATH=%PATH%;C:\MINGW\BIN;C:\CYGWIN\BIN"). This will allow you accessto all the UNIX tools you want, while ensuring that the instance of GCC used is the MinGW version."
 
Sounds good.So a possibly good easy answer is  just one target -- "NT386GNU"  configured probably always as I have it currently -- Win32 threads    maybe a cm3 command line define, like -DPTHREAD to use pthreads, will require a tiny bit of work     heck, maybe -DUSERTHREAD (and for other systems?) jmpbuf asis -- 0xd0 and will work linked either way.
Whether or not mingw works alone, is to be determined.It probably does if not building m3cc, and it may very well even for building m3cc.
Among those goals:
   (a) runs decently fast on Windows     (b) looks as much as possible like Unix (also from the user point of view)    (c) requires minimal code changes 
These are related and to some extent help each other, and to some extentare independent. In particular, the theory is, you get #c without requiring #b.Regarding #a, well, it's a question of one or two layers.Modula-3 already provides in many places, but certainly not all, a portability layer.And then another cygwin/posix portability layer? Maybe.These aren't necessarily thick layers and if your code is i/o bound anyway, doesn't matter.
(While I'm sure it wasn't intended, "runs fast" can be interpreted as "fast to get it to run",as in ease of development/porting. :) )
Anyway, it seems like both camps (all camps?) can be satisfied.
By "serious" I mean, "ship real software using it".Oh and the reference to "toolchains" was dodgy.Already Modula-3 on Windows involves an unusual codegenerator, though still a "normal" linker.
- Jay..waiting for m3cc to build again as part of upgrade.sh...(my excuse for wasting time in email..)



> To: darko at darko.org> Date: Wed, 9 Jan 2008 17:31:25 -0800> From: mika at async.caltech.edu> CC: m3devel at elegosoft.com> Subject: Re: [M3devel] nt386gnu is posix or win32?> > > In this vein, I can tell you I am a frequent user of Modula-3 on Windows.> I use PM3/Klagenfurt on a Win 2003 Server system, and occasionally on XP and> Win2k.> > I use it this way because while I develop on Unix, I have users who insist on> using Windows for their servers. What matters to me is that I can get an> environment that> > (a) runs decently fast on Windows> (b) looks as much as possible like Unix (also from the user point of view)> (c) requires minimal code changes> > The combination of Cygwin and M3 takes care of this, more or less... It's> also an easy download/install.> > Mika> > > Darko writes:> >> >On 09/01/2008, at 5:02 PM, hendrik at topoi.pooq.com wrote:> >>> >> One of my reasons for using m3 long ago was that I could write > >> programs> >> that would run on both Linux and Windows *without* using the Microsoft> >> tools, which I did not possess.> >>> >> -- hendrik> >> >> >There are free versions of the tools these days, if that makes any > >difference.> >> >Darko.
_________________________________________________________________
Put your friends on the big screen with Windows Vista® + Windows Live™.
http://www.microsoft.com/windows/shop/specialoffers.mspx?ocid=TXT_TAGLM_CPC_MediaCtr_bigscreen_012008
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080110/89d815ba/attachment-0002.html>


More information about the M3devel mailing list