<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>BUILD_DIR I think it is called. Profiling uses it, for example. Let's try that. Later.<br><br>> From: jay.krell@cornell.edu<br>> To: mika@async.caltech.edu<br>> Date: Sat, 19 Oct 2013 20:03:58 +0000<br>> CC: m3devel@elegosoft.com<br>> Subject: Re: [M3devel] more cm3cg on Raspberry Pi<br>> <br>> Two separate CVS checkouts?<br>> Onerous.<br>> <br>> <br>> Put all the outputs outside the entire source tree?<br>> Yes, that is what I want.<br>> Where is the root of the source tree?<br>> i.e. if you are mixing CVS tree and other trees.<br>> <br>> <br>> In the other system I use..:<br>>    There is one large tree with a root, called $BASEDIR. <br>>    All outputs go under $OBJECT_ROOT. <br>>    The relative path under $BASEDIR is computed, and that is appended to $OBJECT_ROOT and outputs go there. <br>>    If you are doing something unusual outside of $BASEDIR, then the full path, changing colons to slash, <br>>    is appended to $OBJECT_ROOT.<br>> <br>> <br>> I believe also that really "target" and "output directory" are separate in cm3.<br>> Just that all the config files set them the same.<br>> You can copy ARMEL_LINUX, leave TARGET alone, and there is another variable that is usually assigned from TARGET, but you can assign it anything: "1", "arm.1", "foo". That is likely the way to go. Probably append something, and then clean can optionally append a star.<br>> <br>> ?<br>> <br>>  - Jay<br>> <br>> ----------------------------------------<br>> > To: jay.krell@cornell.edu<br>> > CC: m3devel@elegosoft.com<br>> > Subject: Re: more cm3cg on Raspberry Pi<br>> > Date: Sat, 19 Oct 2013 12:52:55 -0700<br>> > From: mika@async.caltech.edu<br>> ><br>> ><br>> > The gain would be that I could compile my whole tree of non-CM3 software<br>> > (which is a fair fraction of the size of the CM3 tree), as well as the<br>> > CM3 tree itself, with both compilers without having to clean everything<br>> > and start over in between. On a slow machine it can make a difference.<br>> > But sure in the long run I'd probably stick with one or the other, and I<br>> > suspect most people would do too. On the other hand, for as long as there's<br>> > debug work going on on either or both of the compilers in question it seems<br>> > it would be helpful to be able to have both. And yes I get that they<br>> > would have to be installed in different places. But they wouldn't be able<br>> > to step on each other's toes if the derived directories were named differently...<br>> ><br>> > Well not a big deal, really. I now tar and rm and untar to switch.<br>> ><br>> > Jay K writes:<br>> >>Yes=2C maybe. But the C backend works for everything.=0A=<br>> >>We'd have to double the number of targets=2C for little gain.=0A=<br>> >>=0A=<br>> >>You can't install both to the same root either way.=0A=<br>> >>The pkg directories are separate=2C but bin and lib are not.=0A=<br>> >>=0A=<br>> >>Upgrade.py from on to the other should work asis.=0A=<br>> >>=0A=<br>> >>=A0- Jay=0A=<br>> >>=0A=<br>> >>----------------------------------------=0A=<br>> >>> To: jay.krell@cornell.edu=0A=<br>> >>> CC: m3devel@elegosoft.com=0A=<br>> >>> Subject: Re: more cm3cg on Raspberry Pi=0A=<br>> >>> Date: Sat=2C 19 Oct 2013 12:21:35 -0700=0A=<br>> >>> From: mika@async.caltech.edu=0A=<br>> >>>=0A=<br>> >>> Hi Jay=2C=0A=<br>> >>>=0A=<br>> >>> Yes the C backend is certainly convenient and cool. No argument there.=0A=<br>> >>>=0A=<br>> >>> But all this has me thinking about something... if the code generated by=<br>> >>=0A=<br>> >>> the C backend isn't compatible with that generated by cm3cg=2C shouldn't=<br>> >>=0A=<br>> >>> the target names be different=2C so that you could even have both systems=<br>> >>=0A=<br>> >>> installed at the same time. E.g.=2C ARMEL_LINUX_C and ARMEL_LINUX=0A=<br>> >>> (or whatever). Of course it makes it a bit more fiddly to bootstrap=0A=<br>> >>> since you're cross-compiling even though it's actually native..? I haven'=<br>> >>t=0A=<br>> >>> thought through all the ramifications. Is it difficult to change the name=<br>> >>?=0A=<br>> >>> Would it be desirable?=0A=<br>> >>>=0A=<br>> >>> Mika=0A=<br>> >>>=0A=<br>> >>> Jay K writes:=0A=<br>> >>>>Oh=3D2C sorry=3D2C here are things to try=3D0A=3D=0A=<br>> >>>>=3D0A=3D=0A=<br>> >>>>edit m3-sys/m3cc/src/platforms.quake=3D0A=3D=0A=<br>> >>>>look for ARMEL_LINUX=3D2C change the right hand side to arm-linux-gnueabi=<br>> >>hf=3D=0A=<br>> >>>>=3D0A=3D=0A=<br>> >>>>=3D0A=3D=0A=<br>> >>>>and/or in src/m3makefile=3D2C you want to add -with-hard-float or -with-h=<br>> >>ardf=3D=0A=<br>> >>>>loat..no=3D2C wait=3D2C from your other mail:=3D0A=3D=0A=<br>> >>>>=3D0A=3D=0A=<br>> >>>>=3DA0And=3D2C really=3D2C the guide here is what you showed for gcc:=3DA0=<br>> >>=3D0A=3D=0A=<br>> >>>>=3D0A=3D=0A=<br>> >>>>=3DA0Configured with: ../src/configure =3DA0=3D0A=3D=0A=<br>> >>>>=3DA0 =3DA0 -v \=3DA0=3D0A=3D=0A=<br>> >>>>=3DA0 =3DA0 ... =3DA0=3D0A=3D=0A=<br>> >>>>=3DA0 =3DA0 --with-arch=3D3Darmv6 =3DA0=3D0A=3D=0A=<br>> >>>>=3DA0 =3DA0 --with-fpu=3D3Dvfp=3DA0=3D0A=3D=0A=<br>> >>>>=3DA0 =3DA0 --with-float=3D3Dhard =3DA0=3D0A=3D=0A=<br>> >>>>=3DA0 =3DA0 --target=3D3Darm-linux-gnueabihf=3DA0=3D0A=3D=0A=<br>> >>>>=3D0A=3D=0A=<br>> >>>>=3DA0One/some/all of those are relevant.=3DA0=3D0A=3D=0A=<br>> >>>>=3DA0You might as well go ahead and throw them all in for now.=3DA0=3D0A=<br>> >>=3D=0A=<br>> >>>>=3D0A=3D=0A=<br>> >>>>=3DA0Hey -- isn't that C backend convenient? :)=3DA0=3D0A=3D=0A=<br>> >>>>=3D0A=3D=0A=<br>> >>>>=3D0A=3D=0A=<br>> >>>>=3DA0- Jay=3D0A=3D=0A=<br>> >>>>=3D0A=3D=0A=<br>> >>>>----------------------------------------=3D0A=3D=0A=<br>> >>>>> To: jay.krell@cornell.edu=3D0A=3D=0A=<br>> >>>>> CC: m3devel@elegosoft.com=3D0A=3D=0A=<br>> >>>>> Subject: more cm3cg on Raspberry Pi=3D0A=3D=0A=<br>> >>>>> Date: Fri=3D2C 18 Oct 2013 18:26:02 -0700=3D0A=3D=0A=<br>> >>>>> From: mika@async.caltech.edu=3D0A=3D=0A=<br>> >>>>>=3D0A=3D=0A=<br>> >>>>> After setting up for soft float=3D2C I got a lot of these warnings/erro=<br>> >>rs..=3D=0A=<br>> >>>>.=3D0A=3D=0A=<br>> >>>>>=3D0A=3D=0A=<br>> >>>>> new source -> compiling RTHeapInfo.m3=3D0A=3D=0A=<br>> >>>>> RTHeapInfo.ms: Assembler messages:=3D0A=3D=0A=<br>> >>>>> RTHeapInfo.ms:859: rdhi=3D2C rdlo and rm must all be different=3D0A=3D=<br>> >>=0A=<br>> >>>>> RTHeapInfo.ms:907: rdhi=3D2C rdlo and rm must all be different=3D0A=3D=<br>> >>=0A=<br>> >>>>> RTHeapInfo.ms:927: rdhi=3D2C rdlo and rm must all be different=3D0A=3D=<br>> >>=0A=<br>> >>>>> new source -> compiling RTHeapMap.i3=3D0A=3D=0A=<br>> >>>>>=3D0A=3D=0A=<br>> >>>>> This is with the following configuration:=3D0A=3D=0A=<br>> >>>>>=3D0A=3D=0A=<br>> >>>>> in /usr/local/cm3 I have the C-generating compiler installed. It seems =<br>> >>to=3D=0A=<br>> >>>> mostly work=3D2C as discussed.=3D0A=3D=0A=<br>> >>>>>=3D0A=3D=0A=<br>> >>>>> Then I run boot2.sh=3D0A=3D=0A=<br>> >>>>>=3D0A=3D=0A=<br>> >>>>> boot.sh finally ends with the following output=3D2C which doesn't look =<br>> >>quit=3D=0A=<br>> >>>>e right:=3D0A=3D=0A=<br>> >>>>>=3D0A=3D=0A=<br>> >>>>> =3D3D=3D3D package /big/home2/mika/2/cm3-cvs/cm3/m3-sys/mklib =3D3D=3D3=<br>> >>D=3D0A=3D=0A=<br>> >>>>>=3D0A=3D=0A=<br>> >>>>> +++ /usr/local/cm3/bin/cm3 -build -DROOT=3D3D/big/home2/mika/2/cm3-cvs/=<br>> >>cm3 =3D=0A=<br>> >>>>+++=3D0A=3D=0A=<br>> >>>>> --- building in ARMEL_LINUX ---=3D0A=3D=0A=<br>> >>>>>=3D0A=3D=0A=<br>> >>>>> ignoring ../src/m3overrides=3D0A=3D=0A=<br>> >>>>>=3D0A=3D=0A=<br>> >>>>> new source -> compiling Main.m3=3D0A=3D=0A=<br>> >>>>> -> linking mklib=3D0A=3D=0A=<br>> >>>>> =3D3D=3D3D> /big/home2/mika/2/cm3-cvs/cm3/m3-sys/mklib done=3D0A=3D=0A=<br>> >>>>>=3D0A=3D=0A=<br>> >>>>> +++ /usr/local/cm3/bin/cm3 -ship -DROOT=3D3D/big/home2/mika/2/cm3-cvs/c=<br>> >>m3 +=3D=0A=<br>> >>>>++=3D0A=3D=0A=<br>> >>>>> --- shipping from ARMEL_LINUX ---=3D0A=3D=0A=<br>> >>>>>=3D0A=3D=0A=<br>> >>>>> . =3D3D> /usr/local/cm3/pkg/mklib/ARMEL_LINUX=3D0A=3D=0A=<br>> >>>>> .M3EXPORTS .M3WEB=3D0A=3D=0A=<br>> >>>>> ../src =3D3D> /usr/local/cm3/pkg/mklib/src=3D0A=3D=0A=<br>> >>>>> Main.m3=3D0A=3D=0A=<br>> >>>>> . =3D3D> /usr/local/cm3/bin=3D0A=3D=0A=<br>> >>>>> mklib=3D0A=3D=0A=<br>> >>>>> =3D3D=3D3D> /big/home2/mika/2/cm3-cvs/cm3/m3-sys/mklib done=3D0A=3D=0A=<br>> >>>>>=3D0A=3D=0A=<br>> >>>>> /big/home2/mika/2/cm3-cvs/cm3/m3-sys/m3cggen/ARMEL_LINUX/m3cggen> /big/=<br>> >>ho=3D=0A=<br>> >>>>me2/mika/2/cm3-cvs/cm3/m3-sys/m3cc/gcc/gcc/m3cg/m3cg.h=3D0A=3D=0A=<br>> >>>>> mkdir -p /usr/local/cm3/bin=3D0A=3D=0A=<br>> >>>>> cp -Pv /big/home2/mika/2/cm3-cvs/cm3/m3-sys/cm3/ARMEL_LINUX/cm3 /usr/lo=<br>> >>ca=3D=0A=<br>> >>>>l/cm3/bin/cm3=3D0A=3D=0A=<br>> >>>>> Traceback (most recent call last):=3D0A=3D=0A=<br>> >>>>> File "./upgrade.py"=3D2C line 72=3D2C in <module>=3D0A=3D=0A=<br>> >>>>> reload(pylib) # compiler host type may have changed and need to recompu=<br>> >>te=3D=0A=<br>> >>>> stuff=3D0A=3D=0A=<br>> >>>>> File "/big/home2/mika/2/cm3-cvs/cm3/scripts/python/pylib.py"=3D2C line =<br>> >>650=3D=0A=<br>> >>>>=3D2C in <module>=3D0A=3D=0A=<br>> >>>>> if Host.endswith("_NT") or Host =3D3D=3D3D "NT386":=3D0A=3D=0A=<br>> >>>>> AttributeError: 'NoneType' object has no attribute 'endswith'=3D0A=3D=<br>> >>=0A=<br>> >>>>> raspberrypi:/big/home2/mika/2/cm3-cvs/cm3/scripts/python#=3D0A=3D=0A=<br>> >>>>>=3D0A=3D=0A=<br>> >>>>> Mika =3D =          <br>                                      </div></body>
</html>