[M3devel] [M3commit] CVS Update: cm3

Jay jayk123 at hotmail.com
Sat Jan 19 19:32:35 CET 2008


It DOES use m3cc/ld/as, and mklib for building static .libs, though that could probably be gcc/ar/dlltools if I figured it out.
"Everything" except m3cc/m3gdb can be built with just MinGWin.
Building m3cc requires MSys as well.
Building m3gdb requires Cygwin.
m3cg is not dependent on cygwin1.dll, nor are any other Modula-3 outputs. m3gdb is dependent on cygwin1.dll.
 
Using Cygwin probably would work..and I could try it to see if it resolves the RTLinker problem.
 
As well, we could have something like, in cm3.cfg you could set MINGWIN_ROOT, MSYS_ROOT, and/or CYGWIN_ROOT, to guide what tools are used, OR we can have some variable:
 
GNU_MODE = 0 % Do not use GNU tools at all -- today's NT386
GNU_MODE = 1 % Use GNU tools minimally -- today's NT386GNU
GNU_MODE = 2 % Use GNU tools maximally -- not existant but probably easy
 
Eh..I know, not great.. what do "minimally" and "maximally" mean.
 
I think we have the problem of a) many viable choices b) want to make several of them available c) just don't know what to call things and what the interface should be. As well as an interop question, since jmpbuf does vary in size between cygwin1.dl and everything else.
 
Further down the line, there are other linkers, other compilers, other runtimes. The design here and now might take them into consideration.
Gasp..I just realized, there is also another good backend option. parse.c's approach could probably be adapted to Open Watcom AND they might even take the changes (not that I have asked, I just thought of this). And that would net you progress toward a) 32 bit MS-DOS target b) OS/2 target, c) Netware target d) gcc-free Linux target, since the support all of them.
Other target possibilities include Digital Mars compiler/linker, CodeWarrior (I know, dead and all), etc. Open Watcom is probably the most interesting since it is open source...
 
 - Jay



> From: hosking at cs.purdue.edu> Date: Sat, 19 Jan 2008 12:48:06 -0500> To: jkrell at elego.de> CC: m3devel at elegosoft.com> Subject: Re: [M3devel] [M3commit] CVS Update: cm3> > So, I am very confused now. Does NT386GNU no longer mean use of the > full set of GNU tools m3cc/ld/as, as would be available under > Cygwin? I thought the point of this was to be able to run in as much > of a GNU environment as possible. GNU to me means the whole > toolsuite not just m3cc. To me, a GNU-based environment on Windows > holds great attraction, since it consists of tools that I generally > always install on Windows, that I know, and are similar to the other > platforms I use.> > On Jan 19, 2008, at 4:11 AM, Jay Krell wrote:> > > CVSROOT: /usr/cvs> > Changes by: jkrell at birch. 08/01/19 04:11:34> >> > Modified files:> > cm3/m3-libs/m3core/src/runtime/: m3makefile> > cm3/m3-sys/cminstall/src/config/: NT386GNU> > cm3/m3-sys/m3front/src/builtinInfo/: InfoModule.m3> > cm3/m3-sys/m3middle/src/: Target.m3> >> > Log message:> > m3-sys/m3middle/src/Target.m3> > m3-libs/m3core/src/runtime/m3makefile> > m3-sys\m3front\src\builtinInfo\InfoModule.m3> > > > switch NT386GNU to be Win32 instead of POSIX> > switch NT386GNU to _setjmp instead of setjmp> > jmp_buf size still big like Cygwin> > rewrite NT386GNU config file -- almost identical to NT386> > mingwin required for building Modula-3 programs> > mingwin AND msys required for building m3cc> > > > To boot:> > > > install Python (www.activestate.com)> > > > have a working NT386 system> > get current source> > Mine is at c:\dev2\cm3.2 (cm3 is has other paused work, dev was > > taken by Unix)> > > > get and install binary distribution (5.1.3 works, anything newer > > should work)> > I install to c:\cm3> > copy %CVSROOT%\m3-sys\cminstall\src\config\cm3.cfg to \cm3\bin > > \cm3.cfg> > > > Have a Visual C++ toolset (cl and link)> > and run the vcvars link on the start menu (this can/will be made > > easier)> > Almost any version should work.> > if you are using Visual C++ 8.0 (RTM?), rename away its mt.exe> > and get a newer from such as from the Platform SDK. Otherwise it > > crashes.> > This is not specific to NT386GNU, just that I recently removed the > > Platform SDK> > from my %PATH%.> > > > cd %CVSROOT%\scripts\python> > .\upgrade> > > > install msys and mingwin from http://www.mingw.org (links to > > SourceForge)> > for mingwin, you only need the "base"> > msys tells you to avoid mingwin make, in favor of msys make, and I > > did that> > > > I install to the defaults> > c:\msys\1.0> > c:\mingw> > > > if you don't install to the defaults, add> > <msys>\bin and <mingwin\bin to $PATH (in which order? I add> > to the start, but which order between the two?)> > > > if you do install to the defaults, scripts\python will fix path > > for you,> > if there is no gcc/as/sh on our $PATH> > > > cd %CVSROOT%\scripts\python> > upgrade && bootntgnu> > > > NOTE THE RESULTING BINARIES DO NOT YET WORK, but this is still > > progress.> > > > These instructions inevitably to be further tested and refined and > > placed elsewhere!> 
_________________________________________________________________
Need to know the score, the latest news, or you need your Hotmail®-get your "fix".
http://www.msnmobilefix.com/Default.aspx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080119/2393da9e/attachment-0002.html>


More information about the M3devel mailing list