Telling csh about multiple, machine-dependent libraries

John Chambers jc at minya.UUCP
Sat Nov 26 01:34:53 AEST 1988


> This uses the guaranteed feature of cpp to have the predefined symbols "sun",
> "sparc", "vax", "hpux", etc. Everything else seemed to be different across
> machine architectures.

Which reminds me:  Is it written down anywhere how one might go about finding
out what symbols are pre-defined by a C pre-processor?  I know that "unix" is
generally pre-defined on Unix systems, and there's usually some symbol that
identifies the cpu and/or model, but how do I find out what it is?  I've read
lots of manuals, and never seen it mentioned.  I've generally attacked ccp 
with a "strings /lib/cpp" and looked for the table, but this is probably not 
the approved method.

On this machine, the result includes the following:
	define
	undef
	include
	else
	endif
	ifdef
	ifndef
	if
	line
	class
	ident
	unix
	m68k
	__LINE__
	__FILE__
Some of these are obvious.  The "m68k" clearly means that this is a Motorola
68000. In fact, it's a 68010, though there's no way you can tell that from
the above.  I wonder what "class" and "ident" do?  The cpp(1) page doesn't
mention them.  There appears to be nothing telling the make/model of the
machine or compiler.

What does your cpp pre-define?

-- 
John Chambers <{adelie,ima,maynard,mit-eddie}!minya!{jc,root}> (617/484-6393)

[Any errors in the above are due to failures in the logic of the keyboard,
not in the fingers that did the typing.]



More information about the Comp.unix.questions mailing list