[net.micro.68k] How do you spell "Motorola 68000"?

guy@sun.uucp (Guy Harris) (05/28/85)

> # This is the makefile for my UNIX PC quickie environment
> CFLAGS	= -Dm68k -Dm68 -Dmc68k -Uvax  -UMICROOMS -Updp11 -Uu3b ...

Sun's compiler predefines "mc68000" (which isn't strictly true, as we use
MC68010s, not MC68000s).  CCI's compiler predefines "m68000" (which is more
correct, since "m68000" is sort of the name for the architecture).  What
does the System V micro-port compiler define?  What, if anything, does the
AT&T 68000 compiler define?  What does the PC 7300 compiler define?  What
does any other 68000-based UNIX out there define?

Can we please get together and decide on *one* #define constant which says you
have a Motorola 68000 architecture, and maybe several #define constants for
the various chips in that family?  (And, while we're at it, decide on some
#define constants for the other chips out there?  For example, there's
"u3b", and "u3b5", and "u3b2" (I think), but I don't know if there's a
generic "3B UNIX" define, or even a generic "WE32000 family" define.)  If
the micro-ports have standard #define constants, I'd vote for those being
the official standard.

And, while we're at it, could we also use that constant's name for the name
of the command which says "you're on a Motorola 68000-based machine" as well?

Also, what is the "machine" field in the "utsname" structure supposed to
contain - the name of the architecture or of the implementation (i.e., "vax"
or "vax-780"/"vax-750"/...), and what are the correct values for various
machines?

	Guy Harris

ken@turtlevax.UUCP (Ken Turkowski) (05/28/85)

In article <2234@sun.uucp> guy@sun.uucp (Guy Harris) writes:
>Can we please get together and decide on *one* #define constant which says you
>have a Motorola 68000 architecture, and maybe several #define constants for
>the various chips in that family?

I have heard several people on the net refer to the "mc68k" #define,
which seems to be THE one to use for the 68xxx family of processors.
It IS still necessary, though, to have the #definitions mc68000,
mc68010, mc68020 for the specific processor chips, to take advantage of
the extra power in the instruction sets.
-- 

Ken Turkowski @ CADLINC, Menlo Park, CA
UUCP: {amd,decwrl,hplabs,nsc,seismo,spar}!turtlevax!ken
ARPA: turtlevax!ken@DECWRL.ARPA

dave@fluke.UUCP (Dave Van Ess) (05/30/85)

Of course Tommy Dorsey would spell it:


	Motorola six, eight oh oh oh




				Dave Van Ess
				John Fluke Mfg Co
				Everett WA

fred@mot.UUCP (Fred Christiansen) (05/30/85)

[]
whilst doing the System V micro-port for AT&T we thoughtfully considered
what to choose.  we felt that mc68k or mc68000 would alienate other 68k
manufacturers.  we also felt that m68000 as a generic seemed too specific.
hence, we choose "m68k" as the generic since this represented a balance
between common nomenclature for the chip family and the way people
verbalized things.  when it becomes necessary to identify a particular
processor, we use M68000, M68010, M68020.  again, note the avoidance of
chauvinism (no MC..).
	the very same identifier, m68k, as is used in C code is also the one
used as a file link to true or false.  that way, the same symbol can be used
in scripts, makefiles, etc.
	and to make cross-compiling transparent, you simply alter the PATH
and the environment via the shell's "." operation.  for example:

if [ "$PROCESSOR" = "M68000" ]
then
	echo "you are in 68"
else
	PATH=:/port/68/bin$PATHBASE
	STACKCHECK=ON
	PROCESSOR=M68000
	export PATH PATHBASE STACKCHECK PROCESSOR
fi

we use scripts called "do68", "do10", "do20", and "dovax".  all cross-compilers
cross-libraries, m68k being true instead of false, are all in this separate
execution environment.  in fact, the cross and native compilers, etc. are
the same beasts, but just set up to be installed in one place on the vax and
another on a 68k machine.  it's all quite clean and automagic.
-- 
<< Generic disclaimer >>
Fred Christiansen, Motorola Microsystems, Tempe, AZ  85282, 602-438-3472
{allegra!sftig, amdahl!drivax, arizona!asuvax, attunix, hplabs!motsj1}!mot!fred
{ihnp4, noao!terak, trwrb!flkvax, ut-sally!oakhill, utzoo!mnetor, wlbr}!mot!fred

gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (05/31/85)

> 	the very same identifier, m68k, as is used in C code is also the one
> used as a file link to true or false.  that way, the same symbol can be used
> in scripts, makefiles, etc.

Yes, yes!  Also please make "uname -m" return the same thing..

seth@megad.UUCP (Seth H Zirin) (05/31/85)

> What does any other 68000-based UNIX out there define?

The version of Uniplus+ 5.1 Unix delivered to Megadata from Unisoft thinks
the C compiler define is spelled mc68000, but the shell script in bin that
returns true (to see what machine you're on from a shell script) is called
m68k.  There are numerous perturbations of Uniplus+ running on iron made
by a multitude of manufacturers (Megadata being one).
-- 
-------------------------------------------------------------------------------
Name:	Seth H Zirin
UUCP:	{decvax, ihnp4}!philabs!sbcs!megad!seth

Keeper of the News for megad