[comp.os.minix] ACK ANSI C Compiler and elvis

ast@cs.vu.nl (Andy Tanenbaum) (03/01/90)

Let me add my two cents worth to the compiler discussion.

We now have the ANSI compiler running on MINIX, along with the separate
assembler and loader.  Floating point is not finished yet, and the libraries
need some work, but most of the system has at least compiled.

As I have mentioned many times before, the compiler belongs to the 
university, so I can't give it away.  The income we get selling it is used
to support travel for graduate students to conferences and other activities,
such as hiring the person who ported the ANSI front end to MINIX.  Surely
a worthwhile activity.

When the compiler is finished (months, not years), it will be sold by
UniPress and Transmediair.  We haven't worked out the details yet (like,
price, availability date etc), so PLEASE DO NOT ASK THEM.  MINIX 1.5
will use the old 1.3 (actually 1.2) compiler, but 2.0 will use the new
one.  The compatibility problems will no doubt be immense, but let's not
start on that yet.  Rest assured that when the compiler is available I will
post a notice to the newsgroup.

One of the nicest things about the new compiler is the separate assembler
and linker, so we can go back to normal .o files.  I have been unable to
compile kermit, elle, and elvis with the old compiler, as asld runs out of
memory.  I compiled elvis with the new one, and it seems to work.  At least
the one command I tried worked (the :q command).

As far as I can tell, nobody has succeeded in compiling elvis on a PC.
(With the ACK compiler).  If I am wrong, please let me know immediately how
you did it.

As proof that I am not making this all up, In the next two messages I
will post a uue'd binary of elvis for the pc.  The binary file is 77K,
so the uue'd version, which is over 100K, is too big for one message.
After running uue, I split the elvis.uue file into xaa and xab, and then
shar'ed both parts.  It is these items that I will post.  When you get
them, first unshar them, then cat them together to get elvis.uue.  Then
uud this to get the binary.

I would greatly appreciate it if people could try it and post their
findings to the net.  I would normally send it to the minix-ref group
first, but I am leaving for the U.S. in a week, and I absolutely must
get the 1.5 distribution finished before I go.  Thus: please test fast.

As an aside, 1.5.4 is now in beta test, and I have even more fixes beyond
that.  However, they are increasingly picayune fixes--things like 
#endif FOOBAR  ==>  #endif /* FOOBAR */ 
to make them ANSI-legal.

Below are all the relevant crcs for elvis.

Andy Tanenbaum (ast@cs.vu.nl)

28494  77604 elvis	executable binary
61543 108742 elvis.uue	uue'd executable binary
32032  56636 xaa	first part of split -900 elvis.uue
24732  52206 xab	second part of split -900 elvis.uuevis.uue
50431  57479 elvis.1	shar'ed xaa
24889  53080 elvis.2	shar'ed xab