[M3devel] anyone want to try Windows now?

j k jayk123 at hotmail.com
Mon Jan 8 02:08:47 CET 2007


1)

The prereqs should just be a C runtime .dll IF the release is built
to require one. Which one is required varies among msvcrt20.dll,
msvcrt40.dll, msvcrt.dll, msvcr70,dll, msvcr71.dll, msvcr80.dll.

The first few are very widely distributed, the last few are redistributable.
They can be "bundled" with the cm3 installation.
They can be checked into cvs and somenow merged in with the cminstall-based 
setup.

Upgrading existing systems /should/ just require getting the c running
and running the upgrade.cmd.

2)

It is very likely I broke the old install, and that it is easily fixed.
The thing is, as I understand, the install is driven by configurable
options in the cm3.cfg file. I removed all of them, reasonably 
appropriately/
correctly.

However one of them is also where to unpack the files, so that is partly 
needed.

The things to do, I think, not to contradict you are:

Have folks test:
a)
install the latest release
  checkout the latest source
  build / upgrade
  run with it, build their own stuff, test whatever
  I have done this myself essentially so now others should try it.

b)
  build a distribution and have folks test installing it, cminstall and all 
that
  A small number of folks, possibly just one, possibly just me, should 
initially do this,
  since there's little evidence it will work.
  I did automate much building a distribution, plus the Unix-based method 
probably works.
   See scripts\win\make-dist.cmd

c) Folks should probably review what I did for intent, naming, interface, 
etc., besides
  actual correctness. In particular, naming and interfaces are kind of hard 
and I am
  kind of lazy. I moved the Windows stuff from scripts\*.cmd to 
scripts\win\*.cmd.
  For the import .libs I carved out \cm3\m3-win and so far just just 
cm3\m3-win\import-libs exists.
  Given that names aren't actually hierarchical in this system, that is 
probably a bad name,
  probably it should be sys-libs or win-syslibs or something.
  I am using "win" in new places to partly resolve the platform naming issue
   "win" short for "windows" of course, is "win32" and "win64", as I was 
saying most code
   is portable between the two, though "win" is kind of unsatisfactorily 
short

d) the threading code still could use some tweaks I think, but it is not 
terrible, shouldn't
  block some initial testing

e) decisions are needed as to which toolsets are supported and which should 
be used for a release
I can pretty much claim support for any version of Visual C++, 2.0 through 
8.0, and I have
pretty much all of them installed, except like 4.2. I don't have the C 
runtime .h/.libs for all
of them, since in particular the expression editions are sparse. 7.1 in 
particular lacks
the ability to target the  .dll and 8.0 express I forget, at least it is 
missing lots of
windows parts.
  Therefore, like, if you want to target the .dll from 7.1 Express, you need 
the platform SDK.
7.1 Express is no longer available for download though, and this isn't quite 
the name of it.

It is somewhat interesting to me to support more toolsets, or maybe just 
write our own?
It looks like a good start was made on eliminating the need for a linker.
However supporting static linking is still a good idea if folks are to 
distribute .dlls/.exes
  and not just .objs.
The decision what to support is a bit of can of worms as there are very many 
to chose from.
It also makes me wonder about a C-generating target in order to support 
"all" C compilers, etc...

sorry, very tired, rambling...


- Jay


>From: "Olaf Wagner" <wagner at elegosoft.com>
>To: "j k" <jayk123 at hotmail.com>
>CC: m3devel at elegosoft.com
>Subject: Re: [M3devel] anyone want to try Windows now?
>Date: Wed, 3 Jan 2007 16:55:43 +0100 (CET)
>
>
>On Tue, January 2, 2007 5:30 pm, j k wrote:
> > <html><div style='background-color:'>Anyone want to try Windows now?
> > <DIV class=RTE> </DIV>
> > <DIV class=RTE>What should work is installing the latest release --
> > 5.2.6.</DIV>
> > <DIV class=RTE>Checking out the whole tree, copying
> > m3-sys\cminstall\src\config\NT386 to like \cm3\bin\cm3.cfg putting 
>cm3.exe's
> > directory in %PATH%, running vcvars32.bat or simiplar to get a 
>compiler/linker
> > in the path along with %include% and %lib% (sometimes this is done by 
>Visual
> > C++ setup), though %include%/%lib% are hardly used, and running any of
> > scripts\win\do* or scripts\win\upgrad or scripts\win\make-dist, or 
>cd'ing
> > around the tree and running cm3, using any of a variety of versions of 
>Visual
> > C++. (Note that sysinfo.cmd puts \cm3\lib in %LIB% and if you just cd 
>depend,
> > and are using a Visual C++ Express Edition, without also the Windows 
>SDK, then
> > you'll get errors -- the Express Editions lack the Win32 import .libs.
> > m3-win\import-libs builds them and puts them in \cm3\lib.)</DIV>
> > <DIV class=RTE> </DIV>
> > <DIV class=RTE>\cm3 is computed by cm3.cfg to be the directory above the
> > directory that contains cm3.exe. So you don't have to edit cm3.cfg at
> > all.</DIV>
> > <DIV class=RTE> </DIV>
> > <DIV class=RTE>Of course probably some 
>machine/OS/configuration-specificity
> > crept in and it probably only works for me.</DIV>
> > <DIV class=RTE> </DIV>
> > <DIV class=RTE>If you build with Visual C++ 8.0, there is a 
>download/setup
> > needed for machines without it installed, see m3-win\vcredist.txt.</DIV>
> > <DIV class=RTE> </DIV>
> > <DIV class=RTE>I only tested on XP but a variety of versions of Windows 
>should
> > work, esp. versions of NT (as opposed to 95/98)</DIV>
> > <DIV class=RTE> </DIV>
> > <DIV class=RTE>Anyone have a bunch of test automation here?</DIV>
> > <DIV class=RTE> </DIV>
> > <DIV class=RTE>The main problem was really just the infinite recursion 
>in
> > startup.</DIV>
> > <DIV class=RTE> </DIV>
> > <DIV class=RTE>Should a release be made soon then?</DIV>
> > <DIV class=RTE> </DIV>
>
>Hi Jay,
>
>you seem to have done a lot of work for CM3 on Windows platforms; thanks
>for that! I understand that most things are now working for you; but I'm
>unsure about the actual state of the code and meaning of the above
>announcement (as I haven't got much Windows experience). I think we should
>proceed in two steps:
>
>  1. write up some documentation about the
>
>     - needed prerequisites
>     - how to get and install them
>     - how to install/upgrade and use the system
>
>     which can be understood and used by M3-experienced people. We will
>     then hopefully get some feedback from M3 users, can fix some problems,
>     and improve the documentation. We should also pick one or at most two
>     standard setups.
>
>  2. write up end-user documentation for installation and use of CM3
>     on Windows systems based on the chosen standard setups. This should
>     be included in the CM3 www and doc packages and bundled with the
>     official NT386 release for CM3 5.4. We should have some test feedback
>     before we do that, though.
>
>Olaf
>--
>Olaf Wagner
>elego Software Solutions GmbH, Berlin, Germany

_________________________________________________________________
Fixing up the home? Live Search can help 
http://imagine-windowslive.com/search/kits/default.aspx?kit=improve&locale=en-US&source=hmemailtaglinenov06&FORM=WLMTAG




More information about the M3devel mailing list