[M3devel] windows devel, howto?

Jay K jay.krell at cornell.edu
Tue Sep 28 02:30:21 CEST 2010


Mine adjust automatically to whatever VS they find in %PATH%, %INCLUD%, %LIB%, and shouldn't need editing.
VS installs a shortcut to launch cmd with %PATH%, %INCLUDE%, %LIB% set.
You run that and then run from within there.
 
 
 
The same .py files work across "all" platforms (well, I never got OpenBSD/sgimips to work).
 I use them on NetBSD, OpenBSD, Linux, Darwin, Windows, Solaris, FreeBSD, OSF/1.
 That portability is valuable. As well as side agenda of Python advocasy.
   I forget where was I on AIX, Irix, HP-UX, VMS (significant progress on all of them) but they probably work on most.
   *.sh is I grudgingly agree more portable, but not a pleasant programming language for working in and heavier weight on Windows (Cygwin).
  Meanwhile, in terms of portability, Hudson's Java is significant problem but otherwise Hudson is very nice.
 
 
I am passionate in my distaste for .cmd.
For native Windows I would strongly recommend JScript wrapped inside .cmd.
.cmd is an awful language and should be avoided for almost any purpose, except it is nice for command line interaction. I speak from having been lured into using cmd more and more by powerful seeming features (e.g. for /f), only to become repeatly stymied by its many unavoidable limitations, idiosynchrocies and sort of bad performance.
If you put this:
@if (1 == 0) @end /*
@cscript.exe /E:jscript /nologo "%~f0" %*
@goto :eof
*/

 
at the top of a .cmd file, you can write the rest in JScript.
JScript also has performance problems but I believe is the much preferable choice vs. .cmd.
 
 
We should also consider rewriting more stuff in Modula-3.
To whatever extent "scripting" languages are used vs. "other", I think maybe is a weakness in "other". Simply having good libraries and syntax for strings, arrays, hash tables goes a long way.
 e.g. C++ STL, and libm3 I think, to some extent.
However there is the sticking point of "portable executable" -- running the source directly.
  Possibly one should only script a minimum, to use cm3 to build everything else.
 
 
I'm also in general "lured" by these "scripting" languages. To whatever extent computers have become so much faster the past decades, scripting languages seem tempting to do more and more in. People write entire "applications" in Python. However the loss of static checking still bothers me sometimes.
 
 
The "new" stuff Olaf put into Quake, e.g. enumerating files and directories, might make it viable here too. Except I still don't know how to "just run a quake file directly" vs. having an m3makefile, m3args, etc. Someone should look into that and fix it if possible -- writing "main" in quake?
 
 
 
 - Jay


----------------------------------------
> From: rcolebur at SCIRES.COM
> To: dragisha at m3w.org; m3devel at elegosoft.com
> Date: Mon, 27 Sep 2010 20:11:03 -0400
> Subject: Re: [M3devel] windows devel, howto?
>
> I have cm3 running on Windows 2000, XP, Vista, and 7.
>
> I have used various editions of the free Microsoft Visual Studio Express C++ to provide for linking and C-compiler support, including the 2010 edition.
>
> I have provided some scripts (windows command shell files) etc that I use. See "scripts\dev\windows" and "scripts\install\windows". These deal effectively with the various flavors of the Microsoft VS tools (you may have to edit one line of the CMD file to match the version of VS you have--see embedded comments).
>
> I know Jay has provided some python scripts also that purportedly work for Windows, but I don't use these, preferring to stay with native windows command shell support.
>
> Once you get MS VS Express C++ installed and the minimal cm3 binary installation for cm3 (I recommend rooting the cm3 install at C:\cm3"), you can download the entire source code repository via CVS into a sandbox folder (e.g., C:\cm3\Sandbox), then use my scripts to build everything.
>
> You would copy the "scripts\install\windows\*.cmd" files to your "C:\cm3\bin" folder, edit "C:\cm3\bin\cm3CommandShell.CMD" to match your VS environment (the default is VS 2010), then cd to "scripts\dev\windows" and run "RCC_upgradeCM3.CMD -all" to rebuild everything. Alternately, you can try Jay's python scripts, but you would need to check with him on how to use these.
>
> Let me know if you have questions/concerns.
>
> Regards,
> Randy Coleburn
>
> -----Original Message-----
> From: Dragiša Durić [mailto:dragisha at m3w.org]
> Sent: Sunday, September 26, 2010 7:46 AM
> To: m3devel
> Subject: [M3devel] windows devel, howto?
>
> I see msvc 9.0 is requirement, but MS offers only latest and greatest
> 2010?
>
> Can someone spare few moments to coach me to Win Modula-3? :)
>
> TIA
> --
> Dragiša Durić 
> 		 	   		  


More information about the M3devel mailing list