[M3devel] FW: fix win32 bootstrapping

Jay jay.krell at cornell.edu
Fri Nov 30 12:50:21 CET 2007


Older than 6.0 should work now.. I probe the linker in sysinfo.cmd..
7.1 Express which lacks msvcrt.lib should work now too, I probe for msvcrt.lib.
The probing methods may be considered..not great..and "inspired" by autoconf..try stuff, see if it works, or sniff the error message (not sure if autoconf sniffs error messages).
The testing remains..light.
Stuff like run upgrade or do-pkg-core, not with all VC toolsets, not always going back to cm3 5.2.6.
I've got 2.0,4.0,4.1,4.2,5.0,6.0,7.0,7.1, 8.0, sometimes just express, but not patience/time.
The oldest officially supported by Microsoft I believe is 7.0.
 
Really this is just a way to procrastinate on the int64 stuff and real work.. :(
 - Jay


From: jay.krell at cornell.eduTo: m3devel at elegosoft.comDate: Fri, 30 Nov 2007 10:03:46 +0000Subject: [M3devel] FW: fix win32 bootstrapping


m3-commit == m3devel? (I complained about the advertising in my signature, we'll see...)Note that currently you have to use Visual C++ 6.0 or newer.I tested 2.0, 6.0, 8.0.2.0 failed for a reason I forgot about, and is easily fixed -- it is the delayloading I put in cm3.cfg. Otherwise there are way more .dll loads than necessary, as m3core.dll is a bit bloated with Win32 wrappers or something. (Compare with msvcr*.dll that only depends on kernel32.dll, and maybe manually loads user32.dll to bring up assertion failures...)I'd like to make it automatically fallback, like either upon those errors, or if the linker version was rapidly queried, or %lib%\delayimp.lib rapidly checked for. I did like so.I have two open cmd windows. Just for command line history purposes. cmd#1  cd /d c:\cm3   rmdir /q/s .   (nifty -- reports an error at the end, after deleting everything)   tar xf ../net/modula3/system.tgz (the 5.2.6 release)   copy /y \dev2\cm3\m3-sys\cminstall\src\config\NT386 \cm3\bin\cm3.cfg  cmd#2 cd /d C:\dev2\cm3\scripts\win  \dev2\j\env\cm3\cm3.vc80.bat   which gives me:   C:\dev2\cm3\scripts\win>set include  INCLUDE=C:\msdev\80\VC\include;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include  C:\dev2\cm3\scripts\win>set lib  LIB=C:\cm3\lib;C:\msdev\80\VC\lib;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib  C:\dev2\cm3\scripts\win>set path  Path=C:\cm3\bin;C:\msdev\80\VC\BIN;C:\msdev\80\Common7\IDE;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\bin   upgrade  which makes a new compiler, installs it, then new compiler and runtime, installs, then builds the "core" packages as defined by do-cm3-core.cmd. Again, note that make-dist was already working..  - Jay

> Date: Fri, 30 Nov 2007 10:53:49 +0000> To: m3commit at elegosoft.com> From: jkrell at elego.de> Subject: [M3commit] CVS Update: cm3> > CVSROOT: /usr/cvs> Changes by: jkrell at birch. 07/11/30 10:53:49> > Modified files:> cm3/scripts/win/: backup-pkgs.cmd sysinfo.cmd upgrade.cmd > > Log message:> fix bootstrapping> > make-dist does work, so look at what it does..> > In particular, the old compiler cannot build> the new runtime. First build just the compiler,> and then use that to build the runtime.> > As well, backup-pkgs would complain about> most packages missing, ask you to build them,> but you can't. So only require libm3 and m3core,> which you must get from a binary release..> you must get them anyway, to build the new> compiler against, and you can't build them..> > As well, remove some warnings that seem irrelevant now,> as they say so themselves -- "generally automatic".> > As well, running upgrade twice in a row does not work,> unless we backup/restore the compiler along with the packages,> so do that too.> 

Your smile counts. The more smiles you share, the more we donate. Join in! 
_________________________________________________________________
Your smile counts. The more smiles you share, the more we donate.  Join in.
www.windowslive.com/smile?ocid=TXT_TAGLM_Wave2_oprsmilewlhmtagline
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20071130/517997b9/attachment-0002.html>


More information about the M3devel mailing list