[M3devel] TOT CM3 compile.

Jay jayk123 at hotmail.com
Fri Apr 18 16:58:02 CEST 2008


> gmp/mpfr

Go ahead and either:
cm3 -DM3CC_CONFIG="...lots..." which should circument a bunch of the m3makefile content,
or edit the m3makefile to probe for your location. /Presumably/ nobody is going to have anything there, that they don't mind getting used in this way. ?

The whole m3-sys/m3cc/m3makefile could be considered "optional".
It's a "thin" wrapper over just building gcc.
It tries to do the right thing in "all" situations, but I'm sure it often fails or
is incomplete, such as for cross builds.

This is my newfound wisdom from just this week, still subject to sinking in and being wrong. :)

> bash syntax

Sorry I really don't know what is sh vs. ksh vs. bash.
Does anyone know of an implementation that adheres closely to sh that I can use to stop regressing stuff?
Preferably that runs on one or more of:
  MacOS X (PowerPC for now)
  x86 or AMD64 or PowerPC Linux
  x86 or AMD64 NT

Kubuntu (that I'm using) has "dash" for /bin/sh. Good?

Or some flag I should use for bash?
I can check the docs, but, next two points:

I do usually use the Python stuff, partly to avoid this problem.

Oh, but this about boot*.sh. I never looked at, ran, or changed that, sorry.
Really...writing scripts/python and quake/m3makefile is usually relatively fun and productive but not this *.sh :)

 - Jay



> From: hosking at cs.purdue.edu
> To: alexb at juniper.net
> Date: Fri, 18 Apr 2008 10:15:51 -0400
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] TOT CM3 compile.
> 
> I haven't touched that portion of things (bash syntax).  Jay may be  
> the culprit.  :-)
> 
> On Apr 18, 2008, at 1:37 AM, Alex Bochannek wrote:
> 
> > Tony Hosking <hosking at cs.purdue.edu> writes:
> >
> >> Because there is now a new target, you need to first build a  
> >> bootstrap
> >> compiler that understands the new target specs.  To build a bootstrap
> >> compiler, compile and ship the following packages:
> >
> > That's what happens when I can't pay attention to the mailing list  
> > for a
> > while. Suddenly everything changes :-) Building right now...
> >
> > Couple of related things.
> >
> > I happened to be looking at script/boot-cm3-core.sh and noticed that
> > there some Bash syntax crept in. You touched that file more recently  
> > and
> > since it is a bit late for me, I thought maybe you can check if I've  
> > got
> > the logic right in the replacement for the -ot operator
> >
> > Index: boot-cm3-core.sh
> > ===================================================================
> > RCS file: /usr/cvs/cm3/scripts/boot-cm3-core.sh,v
> > retrieving revision 1.9
> > diff -u -r1.9 boot-cm3-core.sh
> > --- boot-cm3-core.sh    13 Apr 2008 18:22:32 -0000      1.9
> > +++ boot-cm3-core.sh    18 Apr 2008 05:37:02 -0000
> > @@ -25,7 +25,7 @@
> > BUILDARGS="${BUILDARGS:--DM3_BOOTSTRAP=TRUE -keep}"
> > M3CONFIG_SRC=${ROOT}/m3-sys/cm3/src/config/${CROSS_TARGET}
> > M3CONFIG=${ROOT}/scripts/${TARGET}-${CROSS_TARGET}.cfg
> > -if [ ! -f "${M3CONFIG}" -o "${M3CONFIG}" -ot "${M3CONFIG_SRC}" ] ;  
> > then
> > +if [ ! -f "${M3CONFIG}" -o -z `find "${M3CONFIG}" -prune -newer "$ 
> > {M3CONFIG_SRC}"` ] ; then
> >   sed -e "s;m3back.*=.*;m3back = \"@${ROOT}/m3-sys/m3cc/${TARGET}-$ 
> > {CROSS_TARGET}/cm3cg\";" \
> >     ${M3CONFIG_SRC} > ${M3CONFIG}
> > fi
> >
> >
> > I noticed that the new GCC needs GMP and MPFR. I can't install  
> > anything
> > in /usr on my machine (it's a zone on a Solaris server) and instead  
> > use
> > Blastwave, which puts things into /opt/csw. The only way to tell the
> > build process where to pick up the libraries is by modifying line  
> > 319 in
> > m3-sys/m3cc/src/m3makefile. Is there a better way?
> >
> > Thanks,
> >
> > Alex.
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080418/1ff9877d/attachment-0002.html>


More information about the M3devel mailing list