I'm heading for Europe early next week, for some five weeks.  Sadly, I
will not be able to attend IWP9 in Madrid, but my thoughts will
certainly be with those who will be there.

Anyway, I have more or less tidied up the Go release so that it is
possible to compile the Go toolchain (linker, assembler, C compiler
and Go compiler) on Plan 9 native.  I have tested it using a couple of
386 hosts as well as the Sheevaplug.

Of course, the hard work was performed by Russ Cox, who had to deal
with all my foibles.  But now it is largely done and a pause before I
tackle the runtime and the release packages will probably be good for
all involved.

In summary, I've uploaded to /n/sources contrib/lucio/go.ext.bz2 which
is a mkext archive intended, as in the past, to be extracted in /go.
The mkfiles are a bit feeble, I have no doubt I'll understand mk and
the mkfiles a lot better by the time I get to the end of this
exercise.

To extract the archive:

        9fs sources
        bunzip2 </n/sources/contrib/lucio/go.ext.bz2 | disk/mkext -v -d /go

The procedure to build the toolchain is suggested in /go/mkfile:

        cd /go/src/cmd
        chmod +x gc/mkopnames.rc
        mk clean
        mk install

The "mk clean" command makes sure that gc/y.tab.[ch] are built from
saved versions; until the bison dependency remains, this is the
simplest way to deal with it.  "mk install" puts the executables in
/go/386/bin/.  I note that I have done nothing about the runtime or
the packages, it is a bit late now: the assumption is that $GOROOT is
/go, with packages and runtime in /go/pkg/plan9_386/.  I used Linux to
cross-build the runtime for Plan 9:

        $ GOOS=plan9 GOBIN=/go/386/bin ./all.bash

One more snag: I don't really know how to synchronise the Go version,
but trial and error seem to work.  Also, the permissions are broken,
I'm not sure which cross-platform operation makes everything
world-writable.  When I get back I'll give priority to tidying up
these small things before I proceed.  It is possible that conditions
on my equipment are different from the Plan 9 distribution and I would
not know about it: please let me know if you encounter difficulties, I
will check my mail as often as I can.

++L


Reply via email to