[comp.lang.scheme.c] Vaxen Help!

cph@ZURICH.AI.MIT.EDU (Chris Hanson) (08/02/89)

   Date: Tue, 1 Aug 89 16:06:16 PDT
   From: Paul Snively <chewy@apple.com>

   I'm having problems with beta 7.0 on our Vax here.  First of all, as chokes
   on the Linefeeds that are in cmpvax.s, which is generated by running cmpvax.m4
   through m4 (of course).  Apparently someone's m4/as combination deals wtih
   this ok; does your m4 strip the Linefeeds, or does your as deal with them ok?
   Anyway, once the Linefeeds are removed, as then gags on the use of "@" to
   specify immediates.  The comments in the source claim that a sed script is
   used to change these to the "&" that as apparently really wants, but this
   doesn't seem to be taking place (and, looking at the sed lines in the Makefil,
   I can't see why it WOULD be happening).  If I change the "@" to "&" manually
   throughout the cmpvax code, as STILL gags, saying that it expects an expression
   for each of those statements.  What gives?

   Any insights on how to get this thing installed on a Vax running BSD 4.3 would
   be greatly appreciated.

   Thanks,
   chewy@apple.com

This machine/OS combination was never tested (I don't have one).  The
`@' characters in the M4 output need to be changed to `$', not `&'.
There is a standard way to do this for ultrix, and I believe the same
will work for BSD.

What you need to do is add this definition to "microcode/s/bsd4-2.h":

#define ALTERNATE_M4 s/ultrix.m4

You also need to change "microcode/s/ultrix.m4" to the following (the
change is to replace $$ with $ in the script):

#!/bin/csh -f
# $Header: ultrix.m4,v 1.2 89/08/02 00:53:42 GMT cph Exp $
# Postprocessing to make m4 work correctly under Ultrix.
m4 $* | sed -e 's/@/$/g' -e 's/^$//'