[M3devel] [M3commit] CVS Update: cm3
Jay
jayk123 at hotmail.com
Tue Jan 8 00:40:49 CET 2008
Right, thanks. Looks/sounds about right. Will try it "later".
Except:
http://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-sys/cm3/src/M3BackWin32.m3.diff?r1=1.2;r2=1.3
Looks suspicious, just by visual inspection, haven't built it -- missing an import and comma vs. period.
Style tangent: Have people heard the advise that boolean parameters are bad, because at the callsite esp. they don't give much meaning? What is TRUE? What is FALSE? Enums or named parameters are clearer.
Furthermore, heck, the switch on small integers 0,1,2,3...
(Not that my switching on targetname was good either.)
And, more importantly, given a commit, how do I view it? Easily?Currently I hunt around to each file and view it, but I have to manually navigate to each file in cvs web.
I want all the diffs associated with one checkin to be viewable together, no matter which all files were checked at the same time.
- Jay
> CC: m3devel at elegosoft.com; m3commit at elegosoft.com> From: hosking at cs.purdue.edu> Subject: Re: [M3commit] CVS Update: cm3> Date: Mon, 7 Jan 2008 17:29:04 -0500> To: jayk123 at hotmail.com> > > On Jan 7, 2008, at 4:10 PM, Jay wrote:> > >> >> >> Thus, controlling the backend is a simple matter of changing the > >> cm3.cfg> >> >> >> > Exactly.> >> >> > What I have right now is I build an NT386/Win32 cm3, and then I > > change the config file, and that one cm3 switches between gcc or not.> > It is a hybrid.> > The hybrid behavior can be controlled from cm3.cfg instead. See my > latest checkin.> > > I can already compile all of m3core with this cm3/m3cg, except for > > threading.> > I also copy the NT386 directories in pkg to NT386GNU, and possibly > > foo.lib to libfoo.a -- I have to try again to see if that was the > > key or not.> > This gives me an easier sort of "cross", on one machine/OS.> >> > I actually swap out the entire cm3.cfg, cm3/m3-sys/cminstall/config/ > > NT386 vs. cm3/m3-sys/cminstall/config/NT386GNU, not just one line.> >> > I'll try the "mode" and look at pm3. Thanks.> >> >> >> threading> >> > Yeah I thought Win32 would work. I'll try/look again. Later.> > I think it was set for Posix/setjmp/longjmp and I think I tried > > pthreads, might not have tried Win32.> >> > - Jay> >> >> From: hosking at cs.purdue.edu> >> Date: Mon, 7 Jan 2008 15:27:30 -0500> >> To: hosking at cs.purdue.edu> >> CC: m3devel at elegosoft.com; m3commit at elegosoft.com> >> Subject: Re: [M3commit] CVS Update: cm3> >>> >> Also, following up on your changes for the backend. I suggest you> >> take a look at the way things are handled in the M3BackLinux.m3 code> >> for PM3. You should be able to switch between the integrated backend> >> and the gcc-based backend similarly, based on the value of the> >> M3_BACKEND_MODE flag. Thus, controlling the backend is a simple> >> matter of changing the cm3.cfg.> >>> >>> >>> >> On Jan 7, 2008, at 3:16 PM, Tony Hosking wrote:> >>> >>> Jay, I am very nervous about the pervasive nature of some of your> >>> recent commits. NT386GNU is usually configured with> >>> OS_TYPE="POSIX". Thus, the m3makefile for cm3, which contains the> >>> following:> >>>> >>> if equal (OS_TYPE, "POSIX")> >>> interface ("M3Backend")> >>> implementation ("M3BackPosix")> >>> implementation ("UtilsPosix")> >>> else> >>> import ("m3objfile")> >>> import ("m3back")> >>> interface ("M3Backend")> >>> implementation ("M3BackWin32")> >>> implementation ("UtilsWin32")> >>> end> >>>> >>> will build a POSIX backend for you on NT386GNU which should do the> >>> right thing in invoking the gcc-based backend. Your changes, which> >>> hardwire things in cm3 for NT386GNU are thus unnecessary. I> >>> suggest you back these changes out and reconsider things.> >>> Certainly, NT386GNU should be considered as an independent POSIX> >>> target from the NT386 WIN32 target. Thus, one need not make> >>> changes to M3BackWin32 for NT386GNU, since it is treated as a POSIX> >>> target.> >>>> >>> As far as threading goes, if user-level threading for NT386 does> >>> not work then I can imagine it would be OK to use native WIN32> >>> threads. The switch for that is in m3core/src/thread/m3makefile,> >>> which would check for TARGET="NT386GNU" and choose sibdirectory> >>> WIN32 instead of using OS_TYPE to pick subdirectory POSIX.> >>>> >>> On Jan 7, 2008, at 8:38 AM, Jay Krell wrote:> >>>> >>>> CVSROOT: /usr/cvs> >>>> Changes by: jkrell at birch. 08/01/07 08:38:15> >>>>> >>>> Modified files:> >>>> cm3/m3-libs/m3core/src/unix/cygwin/: Umman.i3 Uresource.i3> >>>> Utypes.m3> >>>> cm3/m3-sys/cm3/src/: Builder.i3 Builder.m3 M3BackPosix.m3> >>>> M3BackWin32.m3 M3Backend.i3> >>>> cm3/m3-sys/cminstall/src/config/: NT386GNU> >>>> cm3/m3-sys/m3front/src/misc/: M3Front.m3> >>>>> >>>> Log message:> >>>> some fixes for NT386GNU (cygwin)> >>>> > >>>> let win32 cm3 use the gcc backend if target == NT386GNU> >>>> might need a better interface here?> >>>> switching on target name is probably the wrong thing> >>>> need something called "use gcc backend" or somesuch> >>>> > >>>> loosen the check for file name vs. module name to account for> >>>> paths with both types of slashes> >>>> might need a better interface/implementation here?> >>>> should try to get the paths to line up instead?> >>>> > >>>> remove -fPIC since it warns that it is redundant (though the> >>>> warning is probably wrong> >>>> in other details -- not all code is position independent, merely> >>>> relocatable..)> >>>> > >>>> use configured ar, /usr/bin/ar doesn't work, just plain ar does> >>>> > >>>> update Umman.i3 MAP_ANONYMOUS to new shorter name MAP_ANON> >>>> > >>>> update Uresource.i3 from struct_rusage_start to VAR struct_rusage> >>>> > >>>> fix warning about unused import long in Utypes.m3> >>>> > >>>> change SYSTEM_CC from cc to gcc because cc is something on my> >>>> system,> >>>> that I have not investigated, and doesn't work; gcc is perfectly> >>>> ok here, though> >>>> cc lines up nicely with the other two character names -- ar and as> >>>> > >>>> now need to deal with threads to get m3core to build> >>>> >>> >> > _________________________________________________________________> > Watch “Cause Effect,” a show about real people making a real > > difference>
_________________________________________________________________
Share life as it happens with the new Windows Live.
http://www.windowslive.com/share.html?ocid=TXT_TAGHM_Wave2_sharelife_012008
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080107/0dc29332/attachment-0002.html>
More information about the M3devel
mailing list