[comp.sys.apollo] one cpp and one f77 question

oliveria@caen.engin.umich.edu (ROQUE DONIZETE DE OLIVEIRA) (02/05/90)

1) any reason why there is no man page for cpp nodes installed
   with bsd4.3 and aegis, sr10.1 or sr10.2 ?
   It seems to exist only in SYS5 apollos.

2) is there any define I can use with cpp that uniquely define the dn10k ?
   I know about ISP but it is not in cpp. I don't wanna pass any command line
   argument to cpp (-Dprism for example)  but I'd like to use something
   similar to      #if defined(apollo)   that can uniquely differentiate
   between m68k and a88k apollos. The suns have #ifdef's for sun, sparc, mc68000.

3) about Fortran, what is the reason for using 16#number   to represent hex numbers
   in Domain Fortran instead of the more common   x'number' ?
   
   Thanks.


          Roque D. Oliveira
          oliveria@caen.engin.umich.edu 

oj@apollo.HP.COM (Ellis Oliver Jones) (02/07/90)

In article <4877da3b.bb89@spam.engin.umich.edu> oliveria@caen.engin.umich.edu (ROQUE DONIZETE DE OLIVEIRA) writes:
> is there any define I can use with cpp that uniquely define the dn10k ?
> I know about ISP but it is not in cpp.

If you invoke the preprocessor by saying 
   /bin/cc -E
instead of 
   /lib/cpp
then you can use these #ifdefs for prism and m68k respectively.
#ifdef _ISP__A88K
#ifdef _ISP__M68K

(note the two consecutive underscores...)

vasta@apollo.HP.COM (John Vasta) (02/08/90)

In article <4880b96f.20b6d@apollo.HP.COM> oj@apollo.hp.com writes:
>In article <4877da3b.bb89@spam.engin.umich.edu> oliveria@caen.engin.umich.edu (ROQUE DONIZETE DE OLIVEIRA) writes:
>> is there any define I can use with cpp that uniquely define the dn10k ?
>> I know about ISP but it is not in cpp.
>
>If you invoke the preprocessor by saying 
>   /bin/cc -E
>instead of 
>   /lib/cpp
>then you can use these #ifdefs for prism and m68k respectively.
>#ifdef _ISP__A88K
>#ifdef _ISP__M68K
>
>(note the two consecutive underscores...)

Small correction: both symbols are always defined, but expand to either
0 or 1 for the appropriate machine. Therefore, you would use

#if _ISP__A88K
/* compiling for a DN10000 */

#if _ISP__M68K
/* compiling for a 68K box */
John Vasta                Hewlett-Packard Apollo Systems Division
vasta@apollo.hp.com       M.S. CHA-01-LT
(508) 256-6600 x6362      300 Apollo Drive, Chelmsford, MA 01824
UUCP: {decwrl!decvax, mit-eddie, attunix}!apollo!vasta

oliveria@caen.engin.umich.edu (ROQUE DONIZETE DE OLIVEIRA) (02/08/90)

From article <48822d9c.20b6d@apollo.HP.COM>, by vasta@apollo.HP.COM (John Vasta):
> In article <4880b96f.20b6d@apollo.HP.COM> oj@apollo.hp.com writes:
>>In article <4877da3b.bb89@spam.engin.umich.edu> oliveria@caen.engin.umich.edu (ROQUE DONIZETE DE OLIVEIRA) writes:
>>> is there any define I can use with cpp that uniquely define the dn10k ?
>>> I know about ISP but it is not in cpp.
>>
>>If you invoke the preprocessor by saying 
>>   /bin/cc -E
>>instead of 
>>   /lib/cpp
>>then you can use these #ifdefs for prism and m68k respectively.
>>#ifdef _ISP__A88K
>>#ifdef _ISP__M68K
>>
>>(note the two consecutive underscores...)
> 
> Small correction: both symbols are always defined, but expand to either
> 0 or 1 for the appropriate machine. Therefore, you would use
> 
> #if _ISP__A88K
> /* compiling for a DN10000 */
> 
> #if _ISP__M68K
> /* compiling for a 68K box */
> John Vasta                Hewlett-Packard Apollo Systems Division
> vasta@apollo.hp.com       M.S. CHA-01-LT
> (508) 256-6600 x6362      300 Apollo Drive, Chelmsford, MA 01824
> UUCP: {decwrl!decvax, mit-eddie, attunix}!apollo!vasta

Thanks to all those who responded to my question about cpp. In the case here
it only works if we use /bin/cc -E instead of /lib/cpp. That isn't exactly
what I want. If you wanna play with it and see if you can get it
to work (without using /bin/cc -E  or without passing an option
(like -Dprism) to cpp) then let me know. To run it you just type
                 Configure


This is a short version of the file Configure. Ideally it should not be 
modified.
--------------------------cut---------cut----------------------------
#!/bin/csh -f
set cpp="/lib/cpp"
set system_line=`$cpp  <GetSystem | sed -e '/^#/d' -e '/^$/d'`
echo this is an $system_line[3] machine

--------------------------cut---------cut----------------------------


This is the file GetSystem. You can make whatever changes you want to this file.
--------------------------cut---------cut----------------------------

#if defined(sun) && defined(i386)
#define SystemIncludes		"Sun386i"
#define SystemIncludesName	Sun386i
#endif

#if defined(sun) && defined(sparc)
#define SystemIncludes		"Sun4"
#define SystemIncludesName	Sun4
#endif

#if defined(sun) && defined(mc68000)
#define SystemIncludes		"Sun3"
#define SystemIncludesName	Sun3
#endif

#if defined(pyr) || defined(pyramid)
#define SystemIncludes		"Pyramid"
#define SystemIncludesName	Pyramid
#endif

#if defined(ultrix) && defined(mips)
#define SystemIncludes		"DECRISC"
#define SystemIncludesName	DECRISC
#endif

#if defined(vax)

#if defined(ultrix)
#define SystemIncludes		"DECVAX"
#define SystemIncludesName	DECVAX
#else
#define SystemIncludes		"DECBSD"
#define SystemIncludesName	DECBSD
#endif

#endif vax

#if defined(mc300) || defined(mc500) || defined(mc700) || defined(mc6000)
#define SystemIncludes		"Masscomp"
#define SystemIncludesName	Masscomp
#endif

#if defined(sgi) && defined(mips)
#define SystemIncludes		"SGI4D"
#define SystemIncludesName	SGI4D
#endif

#if defined(CRAY2)
#define SystemIncludes		"Cray2"
#define SystemIncludesName	Cray2
#endif

#if defined(cray)
#define SystemIncludes		"CrayXMP"
#define SystemIncludesName	CrayXMP
#endif

#if defined(ardent)
#define SystemIncludes		"Ardent"
#define SystemIncludesName	Ardent
#endif

#if defined(apollo)
#if defined(prism) 
#define SystemIncludes		"Apollo10k"
#define SystemIncludesName	Apollo10k
#else
#define SystemIncludes		"Apollo"
#define SystemIncludesName	Apollo
#endif
#endif


#ifndef SystemIncludesName
#define SystemIncludes		"SystemV"
#define SystemIncludesName	SystemV
#endif

SYSTEM_INCLUDE		= SystemIncludesName

--------------------------cut---------cut----------------------------

I would appreciate any changes you can make to the GetSystem file to
get this thing to return  "this is an Apollo10k machine".
Sorry about being picky about this but I wished Apollo had a cpp #ifdef 
just for the dn10k (see above for #ifdef's available on the suns).

    Roque D Oliveira
    oliveria@caen.engin.umich.edu