[M3devel] cm3 on Windows, plus "Reactor" sources

j k jayk123 at hotmail.com
Mon Aug 27 07:30:05 CEST 2007


Randy,
 
This is good to hear.
 
Btw, there is no guaranteed of short names being available. You can do:
  fsutil behavior set disable8dot3 1 
 
Btw, short names can be longer than long names, but true they can't have spaces. What a hack..C:\>mkdir \1.1.1
C:\>dir /x /ad 1*08/26/2007  10:10 PM    <DIR>          112E5D~1.1   1.1.1
 
The notion of passing a run of strings on a flat command line string with spaces between them when the items can have spaces in the first place is obviously broken. You can play with quoting, but then it's a never ending cycle of guessing how many times the quotes are going to be processed and with which rules. The right way to pass an array of strings around is to actually pass an array of strings.. Oh well..
 
Still I guess changing cm3 to try to use them in some cases might be a reasonable idea.
 
I guess nobody cares on Unix about the spaces?
 
I don't have any spaces, like in running the compiler or linker because 1) I install to \msdev\<version>, none of the \program files places 2) by depending on %path% search.
The current source does build with the latest released binaries, if you build in the right order and such.
 
 cm3\scripts\win\make-dist.cmd works.
 
Somewhat precisely, from memory, you can do like:
 
 rmdir /q/s \cm3 
 extract latest distribution to \cm3 -- the system.tgz file. 
 You don't need to run the cminstall.exe. 
  cvs checkout to \dev2\cm3  
  copy \dev2\cm3\m3-sys\cminstall\src\config\nt386 \cm3\bin\cm3.cfg 
  You don't need to edit the file at all, you just need %PATH%, %INCLUDE%, and %LIB% set.
  There are tradeoffs either way. This lets you changed Visual C++ toolsets by starting a new cmd and running another vcvars32.bat, instead of using a different cm3 configuration file.
  set some environment variables, mainly put cm3.exe in %PATH% and run the vcvars32.bat or such that Visual C++ includes, or start the Visual C++ command prompt from the start menu.
  cd \dev2\cm3\scripts\win
  .\make-dist 
 
 This will give you something like (it will tell you exactly) %temp%\cm3\<somewhat unique number>\cm3-5.5.0-min.tar.bz2 
  rmdir /q/s \cm3 
  extract the cm3-5.5.0-min.tar.bz2 to \cm3 
 
  If folks wants a .zip or a self expanding .zip, that is easily done. Tar.bz2 is reliably significantly smaller.
  
  Again cd to \dev2\cm3\scripts\win and run make-dist, or better yet do-cm3-std realclean and do-cm3-std buildship.
 
As to the actual stability, I can't say. It is enough to build itself and then use that to build more stuff.
I'm afraid I haven't looked at the cm3 gui stuff much. It seems very clunky.
I guess we'll have to debug or compare the old and new source.
I do remember seeing some questionable commits, like claims that Windows behavior had changed or that the author didn't know what was going but that some strange thing seemed to help. Windows really has a huge compatibility burden and the comments I thought were suspicous. Something around processing keystrokes and something around the environment variables passed to main.
 
4.1 is the old latest commercial release?I have that. I doubt it will build the current source. There is a file describing how to bootstrap from the older 3.6 release I think. I have not tried that. I believe WIDETEXT and WIDECHAR and such cause problems. Perhaps the compiler should use a strict subset of Modula-3 buildable with particular releases? The problem is probably a blurry line between compiler and runtime and the need to actually implement new features causing some circular dependency??
 
That's excellent about getting more of the source released. I had no idea what that would take.
 
 > same programs operating on a variety of platforms, including Windows (98, NT, 2000, XP) 
 
Do folks still care about Win9x? 95? VC 8.0 binaries do not work on 95 for small reasons like use of IsDebuggerPresent and InterlockedCompareExchange. These are easily worked around if folks desire, or use an older toolset.
 
(I didn't find Reactor all that impressive but ok. It is nice to hyperlink all the source, but it was hardly an IDE.)
 
 - Jay
 



Date: Sun, 26 Aug 2007 21:55:36 -0400From: rcoleburn at scires.comTo: m3devel at elegosoft.comSubject: [M3devel] cm3 on Windows, plus "Reactor" sources


Hi Folks:
 

Sorry for my long absence on the M3 development front.  I've been watching with great interest the flurry of activity regarding 64-bit INTEGERS and the changes in the garbage collection, threading models, etc.
 
I believe I am now in a position to begin doing a little more Modula-3 work from time to time.
 
My primary environment currently is Windows XP.  I have the old cm3 v4.1 system running on XP using Microsoft's free Visual Studio environment for the linking and the C/C++ compilation.  My v4.1 system works with Trestle, FormsVBT, pickles, network objects, etc.  It uses a native Win32 backend, not the GCC backend.  I am able to deal with the embedded spaces in filenames by forcing everything to use Microsoft's short names for the non-8dot3 names (e.g., the names you get via the "dir /X" command).  
 
I have a number of multi-threaded programs I've developed over the years on the Windows platform, so as the cm3 community moves forward I will be happy to test the latest cm3 on the Windows XP platform using some of my old programs as tests.  Most of the programs were developed for specific clients and thus can't be shared with the community, but they should provide a good set of test cases for the new cm3 because I've had most of these same programs operating on a variety of platforms, including Windows (98, NT, 2000, XP), HP-UX, and Solaris due to the platform-independence provided by cm3.
 
I also have been working to make available the sources of Critical Mass Inc.'s "Reactor" integrated development environment.  This environment provided for browsing of package repositories & documentation, building packages, running programs, creating new packages, etc. all from your favorite web browser.
 
Due to various trademark concerns and legal issues, we can no longer use the name "Reactor," so I've taken the liberty of renaming the package "CM3-IDE."  (If someone has a better name suggestion, let me know.)  I am very close to having all the legal and other requirements worked out to make publication of the revised sources available to the cm3 community.  I do need to test the revised sources using the latest cm3 environment.
 
So, my immediate need is for a stable version of cm3 to run on Windows XP so that I can test the new CM3-IDE.  Of course, CM3-IDE does work with my v4.1 system, but I had to make changes for the new cm3 version due to changes in TEXT, etc.  I tried using a v5.2.6 edition of cm3, but ran into some problems with strange GUI behavior and problems with m3bundles.
 
Since I have a stable v4.1 cm3 system, can I use it to bootstrap the latest cm3 edition?  I would appreciate some guidance here on how to obtain the latest stable sources and get a working system on Windows XP.
 
Regards,
Randy Coleburn
 
 Randy C. Coleburn, CISSPSenior Systems Engineer, Communications, Networks, & Electronics Division (CNE)Corporate & Atlanta Information Systems Security Manager (ISSM)Scientific Research Corporation2300 Windy Ridge Parkway, Suite 400 South, Atlanta, Georgia 30339voice: (770) 989-9464, email: RColeburn at SciRes.com, fax: (770) 989-9497Quality Policy:  "SRC CNE Division is committed to delivering continually improving research & engineering excellence that meets or exceeds customer requirements."
_________________________________________________________________
Recharge--play some free games. Win cool prizes too!
http://club.live.com/home.aspx?icid=CLUB_wlmailtextlink
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20070827/ed3712e3/attachment-0005.html>


More information about the M3devel mailing list