1e9698f98SmrgXCOMM $XdotOrg: xc/config/cf/Imake.cf,v 1.7 2005/03/02 11:20:29 gisburn Exp $
211d341caSmrgXCOMM $Xorg: Imake.cf,v 1.4 2000/08/17 19:41:45 cpqbld Exp $
311d341caSmrg/*
411d341caSmrg * To add support for another platform:
5c5867c1cSmrg *
6c5867c1cSmrg *     1.  Identify a machine-specific cpp symbol.  If your preprocessor
711d341caSmrg *         does not have any built in, you will need to add the symbol to the
811d341caSmrg *         cpp_argv table in config/imake/imakemdep.h and rebuild imake with
911d341caSmrg *         the BOOTSTRAPCFLAGS variable set (see the macII for an example).
1011d341caSmrg *
1111d341caSmrg *     2.  Add all machine-specific cpp symbols (either defined by you or by
12c5867c1cSmrg *         the preprocessor or compiler) to the predefs table in
1311d341caSmrg *         config/imake/imakemdep.h.
1411d341caSmrg *
1511d341caSmrg *     3.  But a new #ifdef block below that defines MacroIncludeFile and
1611d341caSmrg *         MacroFile for your new platform and then #undefs the machine-
1711d341caSmrg *         specific preprocessor symbols (to avoid problems with file names).
1811d341caSmrg *
1911d341caSmrg *     4.  Create a .cf file with the name given by MacroFile.
2011d341caSmrg */
2111d341caSmrgXCOMM $XFree86: xc/config/cf/Imake.cf,v 3.88 2003/12/16 21:30:21 herrb Exp $
2211d341caSmrg
2311d341caSmrg#if defined(__APPLE__)
2411d341caSmrg# undef __APPLE__
2511d341caSmrg# define MacroIncludeFile <darwin.cf>
2611d341caSmrg# define MacroFile darwin.cf
2711d341caSmrg# define DarwinArchitecture
2811d341caSmrg# ifdef __ppc__
2911d341caSmrg#  define PpcDarwinArchitecture
3011d341caSmrg#  undef __ppc__
3111d341caSmrg# endif
3211d341caSmrg# ifdef __i386__
3311d341caSmrg#  define i386DarwinArchitecture
3411d341caSmrg#  undef __i386__
3511d341caSmrg# endif
36362fe31dSmrg# ifdef __x86_64__
37362fe31dSmrg#  define x86_64DarwinArchitecture
38362fe31dSmrg#  undef __x86_64__
39362fe31dSmrg# endif
40880d0a0cSmrg# ifdef __aarch64__
41880d0a0cSmrg#  define aarch64DarwinArchitecture
42880d0a0cSmrg#  undef __aarch64__
43880d0a0cSmrg# endif
4411d341caSmrg#endif
4511d341caSmrg
4611d341caSmrg#if defined(clipper) || defined(__clipper__)
4711d341caSmrg# undef clipper
4811d341caSmrg# define MacroIncludeFile <ingr.cf>
4911d341caSmrg# define MacroFile ingr.cf
5011d341caSmrg# define IngrArchitecture
5111d341caSmrg#endif /* clipper */
5211d341caSmrg
5311d341caSmrg#ifdef __CYGWIN__
5411d341caSmrg#define MacroIncludeFile <cygwin.cf>
5511d341caSmrg#define MacroFile cygwin.cf
5611d341caSmrg#define cygwinArchitecture
5711d341caSmrg#define i386Architecture
5811d341caSmrg#undef i386
5911d341caSmrg#undef i486
6011d341caSmrg#undef i586
6111d341caSmrg#undef i686
6211d341caSmrg#undef __i386__
6311d341caSmrg#undef _X86_
6411d341caSmrg#undef __CYGWIN__
6511d341caSmrg#endif /* CYGWIN */
6611d341caSmrg
6711d341caSmrg#ifdef ultrix
6811d341caSmrg# define MacroIncludeFile <ultrix.cf>
6911d341caSmrg# define MacroFile ultrix.cf
7011d341caSmrg# ifdef vax
7111d341caSmrg#  undef vax
7211d341caSmrg#  define VaxArchitecture
7311d341caSmrg# endif
7411d341caSmrg# ifdef mips
7511d341caSmrg#  undef mips
7611d341caSmrg#  define MipsArchitecture
7711d341caSmrg#  define MipselArchitecture
7811d341caSmrg# endif
7911d341caSmrg# undef ultrix
8011d341caSmrg# define UltrixArchitecture
8111d341caSmrg#endif /* ultrix */
8211d341caSmrg
8311d341caSmrg#if defined(vax) && !defined(UltrixArchitecture) && !defined(__OpenBSD__)
8411d341caSmrg# define MacroIncludeFile <bsd.cf>
8511d341caSmrg# define MacroFile bsd.cf
8611d341caSmrg# undef vax
8711d341caSmrg# define BSDArchitecture
8811d341caSmrg# define VaxArchitecture
8911d341caSmrg#endif /* vax */
9011d341caSmrg
9111d341caSmrg#ifdef __bsdi__
9211d341caSmrg# define MacroIncludeFile <bsdi.cf>
9311d341caSmrg# define MacroFile bsdi.cf
9411d341caSmrg# undef __bsdi__
9511d341caSmrg# ifdef bsdi
9611d341caSmrg#  undef bsdi
9711d341caSmrg# endif
9811d341caSmrg# define BSDOSArchitecture
9911d341caSmrg# if defined(__i386__) || defined(i386)
10011d341caSmrg#  define i386BsdArchitecture
10111d341caSmrg#  define i386Architecture
10211d341caSmrg#  undef i386
10311d341caSmrg#  undef __i386__
10411d341caSmrg# endif
10511d341caSmrg# if defined(__ppc__) || defined(ppc)
10611d341caSmrg#  define PpcBsdArchitecture
10711d341caSmrg#  define PpcArchitecture
10811d341caSmrg#  undef ppc
10911d341caSmrg#  undef __ppc__
11011d341caSmrg# endif
11111d341caSmrg# if defined(__sparc__) || defined(__sparc_v9__) || defined(sparc)
11211d341caSmrg#  define SparcBsdArchitecture
11311d341caSmrg#  define SparcArchitecture
11411d341caSmrg#  undef sparc
11511d341caSmrg#  undef __sparc__
11611d341caSmrg#  undef __sparc_v9__
11711d341caSmrg# endif
11811d341caSmrg#endif /* bsdi */
11911d341caSmrg
12011d341caSmrg#ifdef __OpenBSD__
12111d341caSmrg# undef __OpenBSD__
12211d341caSmrg# undef __NetBSD__
12311d341caSmrg# define OpenBSDArchitecture
12411d341caSmrg# define KOpenBSDArchitecture
12511d341caSmrg# define MacroIncludeFile <OpenBSD.cf>
12611d341caSmrg# define MacroFile OpenBSD.cf
12711d341caSmrg# ifdef __i386__
12811d341caSmrg#  define i386BsdArchitecture
12911d341caSmrg#  define i386Architecture
13011d341caSmrg#  undef i386
13111d341caSmrg# endif
13211d341caSmrg# if defined(__sparc__) || defined(sparc)
13311d341caSmrg#  if !defined(__arch64__)
13411d341caSmrg#   define SparcArchitecture
13511d341caSmrg#  else
13611d341caSmrg#   define Sparc64Architecture
13711d341caSmrg#  endif
13811d341caSmrg#  undef sparc
13911d341caSmrg# endif
14011d341caSmrg# if defined(__mips__) || defined(mips)
14111d341caSmrg#   define MipsArchitecture
14211d341caSmrg#   ifdef arc
14311d341caSmrg#     define ArcArchitecture
14411d341caSmrg#     undef arc
14511d341caSmrg#   endif
14611d341caSmrg#   ifdef pmax
14711d341caSmrg#     define PmaxArchitecture
14811d341caSmrg#     undef pmax
14911d341caSmrg#   endif
15011d341caSmrg#   undef mips
15111d341caSmrg# endif
15211d341caSmrg# if defined(__alpha__) || defined(alpha)
15311d341caSmrg#   define AlphaArchitecture
15411d341caSmrg#   undef __alpha__
15511d341caSmrg#   undef alpha
15611d341caSmrg# endif
15711d341caSmrg# if defined(__amd64__) || defined(__x86_64__)
15811d341caSmrg#   define AMD64Architecture
15911d341caSmrg#   undef __amd64__
16011d341caSmrg#   undef __x86_64__
16111d341caSmrg#   undef amd64
16211d341caSmrg# endif
16311d341caSmrg# if defined(__mc68020__) || defined(mc68020)
16411d341caSmrg#  define Mc68020Architecture
16511d341caSmrg#  if defined(amiga)
16611d341caSmrg#   define AmigaArchitecture
16711d341caSmrg#   undef amiga
16811d341caSmrg#  endif
16911d341caSmrg#  if defined(hp300)
17011d341caSmrg#   define Hp300Architecture
17111d341caSmrg#   undef hp300
17211d341caSmrg#  endif
17311d341caSmrg#  if defined(mac68k)
17411d341caSmrg#    define Mac68kArchitecture
17511d341caSmrg#    undef mac68k
17611d341caSmrg#  endif
17711d341caSmrg#  if defined(mvme68k)
17811d341caSmrg#   define Mvme68kArchitecture
17911d341caSmrg#   undef mvme68k
18011d341caSmrg#  endif
181c5867c1cSmrg#  if defined(sun3)
18211d341caSmrg#   define Sun3Architecture
18311d341caSmrg#   undef sun3
18411d341caSmrg#  endif
18511d341caSmrg#  undef mc68000
18611d341caSmrg# endif
18711d341caSmrg# ifdef __powerpc__
18811d341caSmrg#  define PpcArchitecture
18911d341caSmrg#  undef __powerpc__
19011d341caSmrg#  undef __macppc__
19111d341caSmrg#  undef macppc
19211d341caSmrg# endif
19311d341caSmrg# ifdef __vax__
19411d341caSmrg#  undef vax
19511d341caSmrg#  undef __vax__
19611d341caSmrg#  define VaxArchitecture
19711d341caSmrg# endif
19811d341caSmrg# ifdef __hppa__
19911d341caSmrg#  ifndef HPArchitecture
20011d341caSmrg#   define HPArchitecture
20111d341caSmrg#  endif
20211d341caSmrg#  undef __hppa__
20311d341caSmrg# endif /* __hppa__ */
20411d341caSmrg#endif /* OpenBSD */
20511d341caSmrg
20611d341caSmrg/* Systems based on kernel of OpenBSD */
20711d341caSmrg#if defined(__OpenBSD_kernel__)
20811d341caSmrg#define KOpenBSDArchitecture
20911d341caSmrg#endif
21011d341caSmrg
21111d341caSmrg#ifdef __NetBSD__
21211d341caSmrg# define MacroIncludeFile <NetBSD.cf>
21311d341caSmrg# define MacroFile NetBSD.cf
21411d341caSmrg# undef __NetBSD__
21511d341caSmrg# define NetBSDArchitecture
21611d341caSmrg# define KNetBSDArchitecture
21711d341caSmrg# ifdef __i386__
21811d341caSmrg#  define i386BsdArchitecture
21911d341caSmrg#  define i386Architecture
22011d341caSmrg#  undef i386
22111d341caSmrg# endif
22211d341caSmrg# if defined(__sparc64__) || defined(__sparc_v9__) || defined(__arch64__)
22311d341caSmrg#  define Sparc64Architecture
22411d341caSmrg# endif
22511d341caSmrg# if defined(__sparc__) || defined(sparc)
22611d341caSmrg#  define SparcArchitecture
22711d341caSmrg#  undef sparc
22811d341caSmrg#  if defined(__sparc_v9__) || defined(__arch64__)
22911d341caSmrg#    define Sparc64Architecture
23011d341caSmrg#  endif
23111d341caSmrg# endif
23211d341caSmrg# ifdef mips
23311d341caSmrg#   define MipsArchitecture
23411d341caSmrg#   define ArcArchitecture
23511d341caSmrg#   undef mips
23611d341caSmrg# endif
23711d341caSmrg# ifdef __alpha__
23811d341caSmrg#   define AlphaArchitecture
23911d341caSmrg#   define AlphaBsdArchitecture
24011d341caSmrg#   undef __alpha__
24111d341caSmrg# endif
24211d341caSmrg# ifdef mc68000
24311d341caSmrg#   define Mc68020Architecture
24411d341caSmrg# endif
245b94d2739Scube# if defined(__arm__) || defined(__arm32__)
24611d341caSmrg#   define Arm32Architecture
247b94d2739Scube#   undef __arm__
24811d341caSmrg#   undef __arm32__
24911d341caSmrg# endif
25011d341caSmrg# ifdef __vax__
25111d341caSmrg#   define VaxArchitecture
25211d341caSmrg#   undef __vax__
25311d341caSmrg# endif
25411d341caSmrg# ifdef __powerpc__
25511d341caSmrg#   define PpcArchitecture
25611d341caSmrg#   undef __powerpc__
25711d341caSmrg# endif
258b94d2739Scube# ifdef __x86_64__
259b94d2739Scube#  define AMD64Architecture
260b94d2739Scube#  undef __x86_64__
261b94d2739Scube# endif
262ffa1deebSscole# ifdef __ia64__
263ffa1deebSscole#  define ia64Architecture
264ffa1deebSscole#  undef __ia64__
265ffa1deebSscole# endif
266880d0a0cSmrg# if defined(__riscv)
267880d0a0cSmrg#   undef __riscv
268880d0a0cSmrg#   ifdef _LP64
269880d0a0cSmrg#     define RV64Architecture
270880d0a0cSmrg#   else
271880d0a0cSmrg#     define RV32Architecture
272880d0a0cSmrg#   endif
273880d0a0cSmrg# endif
27411d341caSmrg#endif /* NetBSD */
27511d341caSmrg
27611d341caSmrg/* Systems based on kernel of NetBSD */
27711d341caSmrg#if defined(__NetBSD_kernel__)
27811d341caSmrg#define KNetBSDArchitecture
27911d341caSmrg#endif
28011d341caSmrg
28111d341caSmrg#ifdef __DragonFly__
28211d341caSmrg# define MacroIncludeFile <DragonFly.cf>
28311d341caSmrg# define MacroFile DragonFly.cf
28411d341caSmrg# undef __DragonFly__
28511d341caSmrg# undef __FreeBSD__
28611d341caSmrg# define DragonFlyArchitecture
28711d341caSmrg# define FreeBSDArchitecture
28811d341caSmrg# ifdef __i386__
28911d341caSmrg#  define i386BsdArchitecture
29011d341caSmrg#  define i386Architecture
29111d341caSmrg#  undef i386
29211d341caSmrg# endif
29311d341caSmrg# ifdef __sparc64__
29411d341caSmrg#  define Sparc64Architecture
29511d341caSmrg#  undef __sparc64__
29611d341caSmrg# endif
29711d341caSmrg# ifdef __ia64__
29811d341caSmrg#  define ia64Architecture
29911d341caSmrg#  undef __ia64__
30011d341caSmrg# endif
30111d341caSmrg# ifdef __amd64__
30211d341caSmrg#  define x86_64Architecture
30311d341caSmrg#  undef __amd64__
30411d341caSmrg#  undef __x86_64__
30511d341caSmrg# endif
30611d341caSmrg#endif /* __DragonFly__ */
30711d341caSmrg
30811d341caSmrg#ifdef __FreeBSD__
30911d341caSmrg# define MacroIncludeFile <FreeBSD.cf>
31011d341caSmrg# define MacroFile FreeBSD.cf
31111d341caSmrg# undef __FreeBSD__
31211d341caSmrg# define FreeBSDArchitecture
31311d341caSmrg# define KFreeBSDArchitecture
31411d341caSmrg# ifdef __i386__
31511d341caSmrg#  define i386BsdArchitecture
31611d341caSmrg#  define i386Architecture
31711d341caSmrg#  undef i386
31811d341caSmrg# endif
31911d341caSmrg# ifdef __alpha__
32011d341caSmrg#  define AlphaBsdArchitecture
32111d341caSmrg#  define AlphaArchitecture
32211d341caSmrg#  undef __alpha__
32311d341caSmrg# endif
32411d341caSmrg# ifdef __sparc64__
32511d341caSmrg#  define Sparc64Architecture
32611d341caSmrg#  undef __sparc64__
32711d341caSmrg# endif
32811d341caSmrg# ifdef __ia64__
32911d341caSmrg#  define ia64Architecture
33011d341caSmrg#  undef __ia64__
33111d341caSmrg# endif
33211d341caSmrg# ifdef __amd64__
33311d341caSmrg#  define AMD64Architecture
33411d341caSmrg#  undef __amd64__
33511d341caSmrg#  undef __x86_64__
33611d341caSmrg# endif
33711d341caSmrg# ifdef __powerpc__
33811d341caSmrg#  define PpcArchitecture
33911d341caSmrg#  undef __powerpc__
34011d341caSmrg# endif
34111d341caSmrg#endif /* __FreeBSD__ */
34211d341caSmrg
34311d341caSmrg/* Systems based on kernel of FreeBSD */
34411d341caSmrg#if defined(__FreeBSD_kernel__)
34511d341caSmrg#define KFreeBSDArchitecture
34611d341caSmrg#endif
34711d341caSmrg
34811d341caSmrg#ifdef AMOEBA
34911d341caSmrg /* Should be before the 'sun' entry because we may be cross-compiling */
35011d341caSmrg# define MacroIncludeFile <Amoeba.cf>
35111d341caSmrg# define MacroFile Amoeba.cf
35211d341caSmrg# if defined(i80386) || defined(__i80386__)
35311d341caSmrg#  undef i80386
35411d341caSmrg#  define i386Architecture
35511d341caSmrg# else
35611d341caSmrg#  if defined(mc68000) || defined(__mc68000__)
35711d341caSmrg#   undef mc68000
35811d341caSmrg#   define Sun3Architecture
35911d341caSmrg#   define SunArchitecture
36011d341caSmrg#  else
36111d341caSmrg#   if defined(sparc) || defined(__sparc__)
36211d341caSmrg#    undef sparc
36311d341caSmrg#    define SparcArchitecture
36411d341caSmrg#    define SunArchitecture
36511d341caSmrg#   endif
36611d341caSmrg#  endif
36711d341caSmrg#  undef sun
36811d341caSmrg# endif
36911d341caSmrg#endif /* AMOEBA */
37011d341caSmrg
37111d341caSmrg#ifdef sun
37211d341caSmrg# define MacroIncludeFile <sun.cf>
37311d341caSmrg# define MacroFile sun.cf
37411d341caSmrg# ifdef SVR4
37511d341caSmrg#  undef SVR4
37611d341caSmrg#  define SVR4Architecture
37711d341caSmrg# endif
37811d341caSmrg# ifdef sparc
37911d341caSmrg#  undef sparc
38011d341caSmrg#  define SparcArchitecture
38111d341caSmrg# endif
38211d341caSmrg# ifdef __sparcv9
38311d341caSmrg#  undef __sparcv9
38411d341caSmrg#  define Sparc64Architecture
38511d341caSmrg# endif
38611d341caSmrg# ifdef mc68000
38711d341caSmrg#  undef mc68000
38811d341caSmrg#  define Sun3Architecture
38911d341caSmrg# endif
39011d341caSmrg# if defined(__amd64) || defined(__x86_64)
39111d341caSmrg#  undef __amd64
39211d341caSmrg#  undef __x86_64
39311d341caSmrg#  undef amd64
39411d341caSmrg#  undef i386
39511d341caSmrg#  define AMD64Architecture
39611d341caSmrg# endif
39711d341caSmrg# ifdef i386
39811d341caSmrg#  undef i386
39911d341caSmrg#  define i386Architecture
40011d341caSmrg# endif
40111d341caSmrg# undef sun
40211d341caSmrg# define SunArchitecture
40311d341caSmrg#endif /* sun */
40411d341caSmrg
40511d341caSmrg#ifdef hpux
40611d341caSmrg# define MacroIncludeFile <hp.cf>
40711d341caSmrg# define MacroFile hp.cf
40811d341caSmrg# undef hpux
40911d341caSmrg# define HPArchitecture
41011d341caSmrg#endif /* hpux */
41111d341caSmrg
41211d341caSmrg#ifdef __SCO__
41311d341caSmrg# define MacroIncludeFile <sco5.cf>
41411d341caSmrg# define MacroFile sco5.cf
41511d341caSmrg# undef __SCO__
41611d341caSmrg# undef sco
41711d341caSmrg# undef USL
41811d341caSmrg# undef SYSV
41911d341caSmrg# undef i386
42011d341caSmrg# undef SCO
42111d341caSmrg# undef SVR4
42211d341caSmrg# define i386Architecture
42311d341caSmrg# define SCOArchitecture
42411d341caSmrg# define i386SVR3Architecture
42511d341caSmrg# define SVR3Architecture
42611d341caSmrg# define i386ScoArchitecture
42711d341caSmrg# define i386Sco325Architecture
42811d341caSmrg# undef i386
42911d341caSmrg# undef i486
43011d341caSmrg# undef i586
43111d341caSmrg# undef i686
43211d341caSmrg# undef k6
43311d341caSmrg# undef __i386__
43411d341caSmrg# undef __i486__
43511d341caSmrg# undef __i586__
43611d341caSmrg# undef __i686__
43711d341caSmrg# undef __k6__
43811d341caSmrg# undef __i386
43911d341caSmrg# undef __i486
44011d341caSmrg# undef __i586
44111d341caSmrg# undef __i686
44211d341caSmrg# undef __k6
44311d341caSmrg# undef pentium
44411d341caSmrg# undef __pentium
44511d341caSmrg# undef pentiumpro
44611d341caSmrg# undef __pentiumpro
44711d341caSmrg#endif /* __SCO__ - SCO Open Server 5 */
44811d341caSmrg
44911d341caSmrg#ifdef __UNIXWARE__
45011d341caSmrg# define MacroIncludeFile <usl.cf>
45111d341caSmrg# define MacroFile usl.cf
45211d341caSmrg# undef __UNIXWARE__
45311d341caSmrg# undef USL
45411d341caSmrg# undef SVR4
45511d341caSmrg# undef i386
45611d341caSmrg# undef SVR5
45711d341caSmrg# undef SYSV5
45811d341caSmrg# define SVR4Architecture
45911d341caSmrg# define i386Architecture
46011d341caSmrg# define USLArchitecture
46111d341caSmrg# define UnixWareArchitecture
46211d341caSmrg# undef i386
46311d341caSmrg# undef i486
46411d341caSmrg# undef i586
46511d341caSmrg# undef i686
46611d341caSmrg# undef k6
46711d341caSmrg# undef __i386__
46811d341caSmrg# undef __i486__
46911d341caSmrg# undef __i586__
47011d341caSmrg# undef __i686__
47111d341caSmrg# undef __k6__
47211d341caSmrg# undef __i386
47311d341caSmrg# undef __i486
47411d341caSmrg# undef __i586
47511d341caSmrg# undef __i686
47611d341caSmrg# undef __k6
47711d341caSmrg# undef pentium
47811d341caSmrg# undef __pentium
47911d341caSmrg# undef pentiumpro
48011d341caSmrg# undef __pentiumpro
48111d341caSmrg#endif /* __UNIXWARE__ */
48211d341caSmrg
48311d341caSmrg#ifdef NCR
48411d341caSmrg# define MacroIncludeFile <ncr.cf>
48511d341caSmrg# define MacroFile ncr.cf
48611d341caSmrg# undef NCR
48711d341caSmrg# undef SVR4
48811d341caSmrg# undef i386
48911d341caSmrg# define SVR4Architecture
49011d341caSmrg# define i386Architecture
49111d341caSmrg# define NCRArchitecture
49211d341caSmrg#endif /* NCR */
49311d341caSmrg
49411d341caSmrg#ifdef apollo
49511d341caSmrg# define MacroIncludeFile <apollo.cf>
49611d341caSmrg# define MacroFile apollo.cf
49711d341caSmrg# undef apollo
49811d341caSmrg# define ApolloArchitecture
49911d341caSmrg#endif /* apollo */
50011d341caSmrg
50111d341caSmrg#ifdef sony
50211d341caSmrg# define MacroIncludeFile <sony.cf>
50311d341caSmrg# define MacroFile sony.cf
50411d341caSmrg# undef sony
50511d341caSmrg# undef sony_news
50611d341caSmrg# define SonyArchitecture
50711d341caSmrg# ifdef mc68020
50811d341caSmrg#  undef mc68020
50911d341caSmrg#  undef mc68030
51011d341caSmrg#  define Mc68020Architecture
51111d341caSmrg# endif
51211d341caSmrg# ifdef mips
51311d341caSmrg#  undef mips
51411d341caSmrg#  define MipsArchitecture
51511d341caSmrg# endif
51611d341caSmrg# ifdef __svr4
51711d341caSmrg#  define SVR4Architecture
51811d341caSmrg# else
51911d341caSmrg#  if !defined(bsd43) || defined(SYSTYPE_SYSV) || defined(_SYSTYPE_SYSV)
52011d341caSmrg#   define SonySysvArchitecture
52111d341caSmrg#  else
52211d341caSmrg#   define SonyBsdArchitecture
52311d341caSmrg#  endif
52411d341caSmrg# endif
52511d341caSmrg#endif /* sony */
52611d341caSmrg
52711d341caSmrg#ifdef M4310
52811d341caSmrg# define MacroIncludeFile <pegasus.cf>
52911d341caSmrg# define MacroFile pegasus.cf
53011d341caSmrg# undef M4310
53111d341caSmrg# define PegasusArchitecture
53211d341caSmrg#endif /* M4310 */
53311d341caSmrg
53411d341caSmrg#ifdef M4330
53511d341caSmrg# define MacroIncludeFile <m4330.cf>
53611d341caSmrg# define MacroFile m4330.cf
53711d341caSmrg# undef  M4330
53811d341caSmrg# define M4330Architecture
53911d341caSmrg#endif /* M4330 */
54011d341caSmrg
54111d341caSmrg#ifdef macII
54211d341caSmrg# define MacroIncludeFile <macII.cf>
54311d341caSmrg# define MacroFile macII.cf
54411d341caSmrg# undef  macII
54511d341caSmrg# define MacIIArchitecture
54611d341caSmrg#endif /* macII */
54711d341caSmrg
54811d341caSmrg#ifdef _CRAY
54911d341caSmrg# define MacroIncludeFile <cray.cf>
55011d341caSmrg# define MacroFile cray.cf
55111d341caSmrg# undef cray
55211d341caSmrg# undef CRAY
55311d341caSmrg# undef CRAY1
55411d341caSmrg# undef CRAY2
55511d341caSmrg# undef YMP
55611d341caSmrg# define CrayArchitecture
55711d341caSmrg#endif /* _CRAY */
55811d341caSmrg
55911d341caSmrg#ifdef sgi
56011d341caSmrg# define MacroIncludeFile <sgi.cf>
56111d341caSmrg# define MacroFile sgi.cf
56211d341caSmrg# undef sgi
56311d341caSmrg# define SGIArchitecture
56411d341caSmrg# undef mips
56511d341caSmrg# undef __mips
56611d341caSmrg# define MipsArchitecture
56711d341caSmrg# ifdef _SVR4
56811d341caSmrg#  undef _SVR4
56911d341caSmrg#  define SVR4Architecture
57011d341caSmrg# endif
57111d341caSmrg# ifdef _SYSTYPE_SVR4
57211d341caSmrg#  undef _SYSTYPE_SVR4
57311d341caSmrg#  define SVR4Architecture
57411d341caSmrg# endif
57511d341caSmrg#endif /* sgi */
57611d341caSmrg
57711d341caSmrg#ifdef stellar
57811d341caSmrg# define MacroIncludeFile <stellar.cf>
57911d341caSmrg# define MacroFile stellar.cf
58011d341caSmrg# undef stellar
58111d341caSmrg# define StellarArchitecture
58211d341caSmrg#endif /* stellar */
58311d341caSmrg
58411d341caSmrg#if defined(ibm) || defined(_IBMR2) || defined(ibm032) || defined(aix)
58511d341caSmrg# define MacroIncludeFile <ibm.cf>
58611d341caSmrg# define MacroFile ibm.cf
58711d341caSmrg# ifdef ibm
58811d341caSmrg#  undef ibm
58911d341caSmrg# endif
59011d341caSmrg# define IBMArchitecture
59111d341caSmrg# ifdef i386
59211d341caSmrg#  undef i386
59311d341caSmrg#  define PS2Architecture
59411d341caSmrg# endif
59511d341caSmrg# ifdef ibm032
59611d341caSmrg#  undef ibm032
59711d341caSmrg#  define RtArchitecture
59811d341caSmrg# endif
59911d341caSmrg# ifdef aix
60011d341caSmrg#  undef aix
60111d341caSmrg#  define AIXArchitecture
60211d341caSmrg# endif
60311d341caSmrg# ifdef _IBMR2
60411d341caSmrg#  undef _IBMR2
60511d341caSmrg#  if (DefaultOSMajorVersion < 5)
60611d341caSmrg#   define RsArchitecture
60711d341caSmrg#  else
60811d341caSmrg#   define PpcArchitecture
60911d341caSmrg#  endif
61011d341caSmrg# endif
61111d341caSmrg#endif /* ibm */
61211d341caSmrg
61311d341caSmrg#ifdef luna
61411d341caSmrg# undef luna
61511d341caSmrg# define MacroIncludeFile <luna.cf>
61611d341caSmrg# define MacroFile luna.cf
61711d341caSmrg# define LunaArchitecture
61811d341caSmrg# ifdef mc68000
61911d341caSmrg#  undef mc68000
62011d341caSmrg#  define Mc68000Architecture
62111d341caSmrg# else
62211d341caSmrg#  undef mc88000
62311d341caSmrg#  define Mc88000Architecture
62411d341caSmrg# endif
62511d341caSmrg#endif /* luna */
62611d341caSmrg
62711d341caSmrg#ifdef Mips
62811d341caSmrg#  define MacroIncludeFile <Mips.cf>
62911d341caSmrg#  define MacroFile Mips.cf
63011d341caSmrg#  undef Mips
63111d341caSmrg#  undef mips
63211d341caSmrg#  if defined(SYSTYPE_BSD43) || defined(BSD) || defined(BSD43)
63311d341caSmrg#    define MipsBsdArchitecture
63411d341caSmrg#  else /* BSD */
63511d341caSmrg#    define MipsSysvArchitecture
63611d341caSmrg#  endif /* BSD */
63711d341caSmrg#endif /* Mips */
63811d341caSmrg
63911d341caSmrg#ifdef MOTOROLA
64011d341caSmrg# define MacroIncludeFile <moto.cf>
64111d341caSmrg# define MacroFile moto.cf
642c5867c1cSmrg# undef MOTOROLA
64311d341caSmrg# ifdef SYSV
64411d341caSmrg#  define MotoR3Architecture
64511d341caSmrg# endif
64611d341caSmrg# ifdef SVR4
64711d341caSmrg#  define MotoR4Architecture
64811d341caSmrg# endif
64911d341caSmrg#endif /* MOTOROLA */
65011d341caSmrg
65111d341caSmrg#if defined(SVR4) && !defined(DGUX)
65211d341caSmrg# ifdef i386
65311d341caSmrg#  define i386Architecture
65411d341caSmrg#  undef i386
65511d341caSmrg# endif
65611d341caSmrg# ifdef PC98
65711d341caSmrg#  define PANIX98Architecture
65811d341caSmrg#  undef PC98
65911d341caSmrg# endif
66011d341caSmrg# define SVR4Architecture
66111d341caSmrg# define MacroIncludeFile <svr4.cf>
66211d341caSmrg# define MacroFile svr4.cf
66311d341caSmrg# undef SVR4
66411d341caSmrg#endif /* SVR4 */
66511d341caSmrg
66611d341caSmrg#ifdef SYSV
66711d341caSmrg# ifdef i386
66811d341caSmrg# undef i386
66911d341caSmrg#  ifdef ISC
670c5867c1cSmrg#   define i386Architecture
671c5867c1cSmrg#   define i386SVR3Architecture
67211d341caSmrg#   define MacroIncludeFile <isc.cf>
67311d341caSmrg#   define MacroFile isc.cf
67411d341caSmrg#   define i386IscArchitecture
67511d341caSmrg#   undef ISC
67611d341caSmrg#   ifdef ISC202
67711d341caSmrg#    define IscVersion 202
67811d341caSmrg#    undef ISC202
67911d341caSmrg#   else
68011d341caSmrg#    ifdef ISC30
68111d341caSmrg#     define IscVersion 300
68211d341caSmrg#     undef ISC30
68311d341caSmrg#    else
68411d341caSmrg#     ifdef ISC40
68511d341caSmrg#      define IscVersion 400
68611d341caSmrg#      undef ISC40
68711d341caSmrg#     else
68811d341caSmrg#      define IscVersion 221
68911d341caSmrg#     endif /* ISC40 */
69011d341caSmrg#    endif /* ISC30 */
69111d341caSmrg#   endif /* ISC202 */
69211d341caSmrg#  endif /* ISC */
69311d341caSmrg#  ifndef MacroFile
69411d341caSmrg#   define i386SVR3Architecture
69511d341caSmrg#   define MacroIncludeFile <x386.cf>
69611d341caSmrg#   define MacroFile x386.cf
69711d341caSmrg#  endif /* MacroFile */
69811d341caSmrg# endif /* i386 */
69911d341caSmrg#endif /* SYSV */
70011d341caSmrg
70111d341caSmrg/* SYSV386 is here for backward compatibility only */
70211d341caSmrg#ifdef SYSV386
70311d341caSmrg# undef i386
70411d341caSmrg# ifdef SVR4
70511d341caSmrg#  define i386Architecture
70611d341caSmrg#  define SVR4Architecture
70711d341caSmrg#  define i386SVR4Architecture
70811d341caSmrg#  define MacroIncludeFile <svr4.cf>
70911d341caSmrg#  define MacroFile svr4.cf
71011d341caSmrg#  undef SVR4
71111d341caSmrg# else /* ! SVR4 */
71211d341caSmrg#  ifdef ISC
713c5867c1cSmrg#   define i386Architecture
714c5867c1cSmrg#   define i386SVR3Architecture
71511d341caSmrg#   define MacroIncludeFile <isc.cf>
71611d341caSmrg#   define MacroFile isc.cf
71711d341caSmrg#   define i386IscArchitecture
71811d341caSmrg#   undef ISC
71911d341caSmrg#   ifdef ISC202
72011d341caSmrg#    define IscVersion 202
72111d341caSmrg#    undef ISC202
72211d341caSmrg#   else
72311d341caSmrg#    ifdef ISC30
72411d341caSmrg#     define IscVersion 300
72511d341caSmrg#     undef ISC30
72611d341caSmrg#    else
72711d341caSmrg#     ifdef ISC40
72811d341caSmrg#      define IscVersion 400
72911d341caSmrg#      undef ISC40
73011d341caSmrg#     else
73111d341caSmrg#      define IscVersion 221
73211d341caSmrg#     endif /* ISC40 */
73311d341caSmrg#    endif /* ISC30 */
73411d341caSmrg#   endif /* ISC202 */
73511d341caSmrg#  endif /* ISC */
73611d341caSmrg#  ifndef MacroFile
73711d341caSmrg#   define i386SVR3Architecture
73811d341caSmrg#   define MacroIncludeFile <x386.cf>
73911d341caSmrg#   define MacroFile x386.cf
74011d341caSmrg#  endif /* MacroFile */
74111d341caSmrg# endif /* ! SVR4 */
74211d341caSmrg#endif /* SYSV386 */
74311d341caSmrg
74411d341caSmrg#ifdef DGUX
74511d341caSmrg# define i386Architecture
74611d341caSmrg# define SVR4Architecture
74711d341caSmrg# define MacroIncludeFile <DGUX.cf>
74811d341caSmrg# define MacroFile DGUX.cf
74911d341caSmrg# undef DGUX
75011d341caSmrg# define DguxArchitecture
75111d341caSmrg#endif /* DGUX */
75211d341caSmrg
75311d341caSmrg#ifdef __convex__
75411d341caSmrg# define MacroIncludeFile <convex.cf>
75511d341caSmrg# define MacroFile convex.cf
75611d341caSmrg# ifdef convex
75711d341caSmrg#  undef convex
75811d341caSmrg# endif
75911d341caSmrg# define ConvexArchitecture
76011d341caSmrg#endif /* _convex_ */
76111d341caSmrg
76211d341caSmrg#ifdef __osf__
76311d341caSmrg# define MacroIncludeFile <osf1.cf>
76411d341caSmrg# define MacroFile osf1.cf
76511d341caSmrg# define OSF1Architecture
76611d341caSmrg# undef __osf__
76711d341caSmrg# ifdef __mips__
76811d341caSmrg#  undef __mips__
76911d341caSmrg#  define MipsArchitecture
77011d341caSmrg#  define MipselArchitecture
77111d341caSmrg# endif
77211d341caSmrg# ifdef __alpha
77311d341caSmrg#  undef __alpha
77411d341caSmrg#  define AlphaArchitecture
77511d341caSmrg# endif
77611d341caSmrg#endif /* __osf__ */
77711d341caSmrg
77811d341caSmrg#ifdef Oki
77911d341caSmrg# define MacroIncludeFile <Oki.cf>
78011d341caSmrg# define MacroFile Oki.cf
78111d341caSmrg# undef Oki
78211d341caSmrg# define i860SVR4Architecture
78311d341caSmrg# define SVR4Architecture
78411d341caSmrg# undef SVR4
78511d341caSmrg#endif /* Oki */
78611d341caSmrg
78711d341caSmrg#if defined(WIN32) && !defined(__GNUC__)
78811d341caSmrg# define MacroIncludeFile <Win32.cf>
78911d341caSmrg# define MacroFile Win32.cf
79011d341caSmrg# define Win32Architecture
79111d341caSmrg#endif /* WIN32 */
79211d341caSmrg
79311d341caSmrg#if defined(WIN32) && defined(__GNUC__)
79411d341caSmrg#define MacroIncludeFile <mingw.cf>
79511d341caSmrg#define MacroFile mingw.cf
79611d341caSmrg#define Win32Architecture
79711d341caSmrg#define mingwArchitecture
79811d341caSmrg#define i386Architecture
79911d341caSmrg#undef i386
80011d341caSmrg#undef i486
80111d341caSmrg#undef i586
80211d341caSmrg#undef i686
80311d341caSmrg#undef __i386__
80411d341caSmrg#undef _X86_
80511d341caSmrg#undef __MINGW32__
80611d341caSmrg#endif /* CYGWIN */
80711d341caSmrg
80811d341caSmrg#if defined(linux) || defined(__GLIBC__)
80911d341caSmrg# define MacroIncludeFile <linux.cf>
81011d341caSmrg# define MacroFile linux.cf
81111d341caSmrg# undef linux
81211d341caSmrg# ifdef __linux__
81311d341caSmrg#  define LinuxArchitecture
81411d341caSmrg# endif
815e9698f98Smrg# ifdef __GLIBC__
816e9698f98Smrg#  define GNUArchitecture
817e9698f98Smrg# endif
81811d341caSmrg# ifdef i386
81911d341caSmrg#  ifndef i386Architecture
82011d341caSmrg#   define i386Architecture
82111d341caSmrg#  endif
82211d341caSmrg#  undef i386
82311d341caSmrgXCOMM Keep cpp from replacing path elements containing i486/i586/i686
82411d341caSmrg#  ifdef i486
82511d341caSmrg#  ifndef i386Architecture
82611d341caSmrg#   define i386Architecture
82711d341caSmrg#  endif
82811d341caSmrg#   undef i486
82911d341caSmrg#  endif
83011d341caSmrg#  ifdef i586
83111d341caSmrg#  ifndef i386Architecture
83211d341caSmrg#   define i386Architecture
83311d341caSmrg#  endif
83411d341caSmrg#   undef i586
83511d341caSmrg#  endif
83611d341caSmrg#  ifdef i686
83711d341caSmrg#  ifndef i386Architecture
83811d341caSmrg#   define i386Architecture
83911d341caSmrg#  endif
84011d341caSmrg#   undef i686
84111d341caSmrg#  endif
84211d341caSmrg#  ifdef k6
84311d341caSmrg#  ifndef i386Architecture
84411d341caSmrg#   define i386Architecture
84511d341caSmrg#  endif
84611d341caSmrg#   undef k6
84711d341caSmrg#  endif
84811d341caSmrg# endif /* k6 */
84911d341caSmrg# ifdef __i386__
85011d341caSmrg#  ifndef i386Architecture
85111d341caSmrg#   define i386Architecture
85211d341caSmrg#  endif
85311d341caSmrg#  undef __i386__
85411d341caSmrg# endif /* __i386__ */
85511d341caSmrg# ifdef __i486__
85611d341caSmrg#  ifndef i386Architecture
85711d341caSmrg#   define i386Architecture
85811d341caSmrg#  endif
85911d341caSmrg#  undef __i486__
86011d341caSmrg# endif /* __i486__ */
86111d341caSmrg# ifdef __i586__
86211d341caSmrg#  ifndef i386Architecture
86311d341caSmrg#   define i386Architecture
86411d341caSmrg#  endif
86511d341caSmrg#  undef __i586__
86611d341caSmrg# endif /* __i586__ */
86711d341caSmrg# ifdef __i686__
86811d341caSmrg#  ifndef i386Architecture
86911d341caSmrg#   define i386Architecture
87011d341caSmrg#  endif
87111d341caSmrg#  undef __i686__
87211d341caSmrg# endif /* __i686__ */
87311d341caSmrg# ifdef __k6__
87411d341caSmrg#  ifndef i386Architecture
87511d341caSmrg#   define i386Architecture
87611d341caSmrg#  endif
87711d341caSmrg#  undef __k6__
87811d341caSmrg# endif /* __k6__ */
87911d341caSmrg# ifdef __i386
88011d341caSmrg#  ifndef i386Architecture
88111d341caSmrg#   define i386Architecture
88211d341caSmrg#  endif
88311d341caSmrg#  undef __i386
88411d341caSmrg# endif /* __i386 */
88511d341caSmrg# ifdef __i486
88611d341caSmrg#  ifndef i386Architecture
88711d341caSmrg#   define i386Architecture
88811d341caSmrg#  endif
88911d341caSmrg#  undef __i486
89011d341caSmrg# endif /* __i486 */
89111d341caSmrg# ifdef __i586
89211d341caSmrg#  ifndef i386Architecture
89311d341caSmrg#   define i386Architecture
89411d341caSmrg#  endif
89511d341caSmrg#  undef __i586
89611d341caSmrg# endif /* __i586 */
89711d341caSmrg# ifdef __i686
89811d341caSmrg#  ifndef i386Architecture
89911d341caSmrg#   define i386Architecture
90011d341caSmrg#  endif
90111d341caSmrg#  undef __i686
90211d341caSmrg# endif /* __i686 */
90311d341caSmrg# ifdef __k6
90411d341caSmrg#  ifndef i386Architecture
90511d341caSmrg#   define i386Architecture
90611d341caSmrg#  endif
90711d341caSmrg#  undef __k6
90811d341caSmrg# endif /* __k6 */
90911d341caSmrg/* Keep this order! s390x has also __s390__ defined */
91011d341caSmrg# if defined(__s390x__)
91111d341caSmrg#  define s390xArchitecture
91211d341caSmrg#  undef __s390x__
91311d341caSmrg#  undef __s390__
91411d341caSmrg# endif
91511d341caSmrg# ifdef __s390__
91611d341caSmrg#   define s390Architecture
91711d341caSmrg#  undef __s390__
91811d341caSmrg# endif /* s390 */
91911d341caSmrg# ifdef __alpha
92011d341caSmrg#  define AlphaArchitecture
92111d341caSmrg#  undef __alpha
92211d341caSmrg# endif /* __alpha */
92311d341caSmrg# ifdef __alpha__
92411d341caSmrg#  ifndef AlphaArchitecture
92511d341caSmrg#   define AlphaArchitecture
92611d341caSmrg#  endif
92711d341caSmrg#  undef __alpha__
92811d341caSmrg# endif /* __alpha__ */
92911d341caSmrg# ifdef __arm__
93011d341caSmrg#  define Arm32Architecture
93111d341caSmrg#  undef arm
93211d341caSmrg#  undef __arm
93311d341caSmrg#  undef __arm__
93411d341caSmrg#  if defined(__ARMEB__)
93511d341caSmrg#   define Arm32ebArchitecture
93611d341caSmrg#  endif
93711d341caSmrg#  undef __ARMEB__
93811d341caSmrg# endif
93911d341caSmrg# ifdef mc68000
94011d341caSmrg#  define Mc68020Architecture
94111d341caSmrg#  undef mc68000
94211d341caSmrg# endif /* mc68000 */
94311d341caSmrg# if defined (powerpc) && !defined(__powerpc64__) && !defined (powerpc64)
94411d341caSmrg#  define PpcArchitecture
94511d341caSmrg#  undef powerpc
94611d341caSmrg# endif
9475aa46debSmrg# if defined(__or1k__)
9485aa46debSmrg#  ifndef OpenRISC1000Architecture
9495aa46debSmrg#   define OpenRISC1000Architecture
9505aa46debSmrg#  endif
9515aa46debSmrg#  undef __or1k__
9525aa46debSmrg# endif
95311d341caSmrg# if defined (__powerpc__) && !defined(__powerpc64__) && !defined (powerpc64)
95411d341caSmrg#  ifndef PpcArchitecture
95511d341caSmrg#   define PpcArchitecture
95611d341caSmrg#  endif
95711d341caSmrg#  undef __powerpc__
95811d341caSmrg# endif
95911d341caSmrg# ifdef __powerpc64__
96011d341caSmrg#  ifndef Ppc64Architecture
96111d341caSmrg#   define Ppc64Architecture
96211d341caSmrg#  endif
96311d341caSmrg#  undef __powerpc64__
96411d341caSmrg# endif
96511d341caSmrg# ifdef sparc
96611d341caSmrg#  define SparcArchitecture
96711d341caSmrg#  undef sparc
96811d341caSmrg# endif
96911d341caSmrg# ifdef __sparc__
97011d341caSmrg#  ifndef SparcArchitecture
97111d341caSmrg#   define SparcArchitecture
97211d341caSmrg#  endif
97311d341caSmrg#  undef __sparc__
97411d341caSmrg# endif
975c5867c1cSmrg# ifdef ia64
97611d341caSmrg#  define ia64Architecture
977c5867c1cSmrg#  undef ia64
97811d341caSmrg# endif
97911d341caSmrg# ifdef __ia64__
98011d341caSmrg#  ifndef ia64Architecture
98111d341caSmrg#   define ia64Architecture
98211d341caSmrg#  endif
98311d341caSmrg#  undef __ia64__
98411d341caSmrg# endif
98511d341caSmrg# if defined(mips) || defined(__mips__)
98611d341caSmrg#  define MipsArchitecture
98711d341caSmrg#  undef mips
98811d341caSmrg#  undef __mips__
98911d341caSmrg#  if defined(MIPSEL) || defined(_MIPSEL)
99011d341caSmrg#   define MipselArchitecture
99111d341caSmrg#  endif
99211d341caSmrg#  undef MIPSEL
99311d341caSmrg#  undef _MIPSEL
99411d341caSmrg# endif
99511d341caSmrg# ifdef __hppa__
99611d341caSmrg#  ifndef HPArchitecture
99711d341caSmrg#   define HPArchitecture
99811d341caSmrg#  endif
99911d341caSmrg#  undef __hppa__
100011d341caSmrg# endif /* __hppa__ */
100111d341caSmrg# ifdef __sh__
100211d341caSmrg#  ifndef SuperHArchitecture
100311d341caSmrg#   define SuperHArchitecture
100411d341caSmrg#  endif
100511d341caSmrg#  ifdef __BIG_ENDIAN__
100611d341caSmrg#   ifndef SuperHebArchitecture
100711d341caSmrg#    define SuperHebArchitecture
100811d341caSmrg#   endif
100911d341caSmrg#  endif
101011d341caSmrg#  undef __sh__
101111d341caSmrg# endif /* __sh__ */
101211d341caSmrg# if defined(__SH3__) || defined(__sh3__)
101311d341caSmrg#  ifndef SuperH3Architecture
101411d341caSmrg#   define SuperH3Architecture
101511d341caSmrg#  endif
101611d341caSmrg#  undef __SH3__
101711d341caSmrg#  undef __sh3__
101811d341caSmrg# endif /* __SH3__ or __sh3__ */
101911d341caSmrg# ifdef __SH4__
102011d341caSmrg#  ifdef __SH4_NOFPU__
102111d341caSmrg#   ifndef SuperH4NOFPUArchitecture
102211d341caSmrg#    define SuperH4NOFPUArchitecture
102311d341caSmrg#   endif
102411d341caSmrg#   undef __SH4_NOFPU__
102511d341caSmrg#  else
102611d341caSmrg#   ifndef SuperH4Architecture
102711d341caSmrg#    define SuperH4Architecture
102811d341caSmrg#   endif
102911d341caSmrg#  endif
103011d341caSmrg#  undef __SH4__
103111d341caSmrg# endif /* __SH4__ */
103211d341caSmrg/* for compatibility with 3.3.x */
103311d341caSmrg# ifdef PpcArchitecture
103411d341caSmrg#  define PowerPCArchitecture
103511d341caSmrg# endif
103611d341caSmrg# if defined(__s390x__)
103711d341caSmrg#  define s390xArchitecture
103811d341caSmrg#  undef __s390x__
103911d341caSmrg# endif
104011d341caSmrg# if defined(__amd64__) || defined (__x86_64__)
104111d341caSmrg#  undef __amd64__
104211d341caSmrg#  undef __x86_64__
104311d341caSmrg#  define AMD64Architecture
104411d341caSmrg# endif
104511d341caSmrg# if defined(amd64__) || defined (x86_64__)
104611d341caSmrg#  undef amd64__
104711d341caSmrg#  undef x86_64__
104811d341caSmrg#  ifndef AMD64Architecture
104911d341caSmrg#   define AMD64Architecture
105011d341caSmrg#  endif
105111d341caSmrg# endif
1052c5867c1cSmrg# if defined(__aarch64__)
1053c5867c1cSmrg#   define AArch64Architecture
1054c5867c1cSmrg#   undef __aarch64__
1055c5867c1cSmrg# endif
1056880d0a0cSmrg# if defined(__loongarch__)
1057880d0a0cSmrg#   undef __loongarch__
1058880d0a0cSmrg#   if __loongarch_grlen == 64
1059880d0a0cSmrg#     undef __loongarch_grlen
1060880d0a0cSmrg#     undef __loongarch_lp64
1061880d0a0cSmrg#     define LoongArch64Architecture
1062880d0a0cSmrg#   endif
1063880d0a0cSmrg#   if __loongarch_grlen == 32
1064880d0a0cSmrg#     undef __loongarch_grlen
1065880d0a0cSmrg#     define LoongArch32Architecture
1066880d0a0cSmrg#   endif
1067880d0a0cSmrg# endif
1068880d0a0cSmrg# if defined(__riscv)
1069880d0a0cSmrg#   undef __riscv
1070880d0a0cSmrg#   if __riscv_xlen == 64
1071880d0a0cSmrg#     undef __riscv_xlen
1072880d0a0cSmrg#     define RV64Architecture
1073880d0a0cSmrg#   endif
1074880d0a0cSmrg#   if __riscv_xlen == 32
1075880d0a0cSmrg#     undef __riscv_xlen
1076880d0a0cSmrg#     define RV32Architecture
1077880d0a0cSmrg#   endif
1078880d0a0cSmrg# endif
107911d341caSmrg#endif /* linux || __GLIBC__ */
108011d341caSmrg
108111d341caSmrg#if (defined(__Lynx__) || defined(Lynx)) && (defined(i386) || defined(__i386__) || defined(__x86__) || defined(__powerpc__) || defined(__sparc__) || defined(sparc))
108211d341caSmrg# define MacroIncludeFile <lynx.cf>
108311d341caSmrg# define MacroFile lynx.cf
108411d341caSmrg# define LynxOSArchitecture
108511d341caSmrg# undef __Lynx__
108611d341caSmrg# undef Lynx
108711d341caSmrg# undef lynx
108811d341caSmrg# if defined(i386) || defined(__i386__) || defined(__x86__)
108911d341caSmrg#  define i386Architecture
109011d341caSmrg#  undef i386
109111d341caSmrg#  undef __i386__
109211d341caSmrg#  undef __x86__
109311d341caSmrg# endif
109411d341caSmrg# ifdef __powerpc__
109511d341caSmrg#  define PpcArchitecture
109611d341caSmrg#  undef __powerpc__
109711d341caSmrg# endif
109811d341caSmrg# if defined(sparc) || defined(__sparc__)
109911d341caSmrg#  define SparcArchitecture
110011d341caSmrg#  undef sparc
110111d341caSmrg#  undef __sparc__
110211d341caSmrg# endif
110311d341caSmrg/* for compatibility with 3.3.x */
110411d341caSmrg# ifdef PpcArchitecture
110511d341caSmrg#  define PowerPCArchitecture
110611d341caSmrg# endif
110711d341caSmrg#endif /* LynxOS AT/PPC/microSPARC */
110811d341caSmrg
110911d341caSmrg#ifdef __uxp__
111011d341caSmrg# define MacroIncludeFile <fujitsu.cf>
111111d341caSmrg# define MacroFile fujitsu.cf
111211d341caSmrg# define FujitsuArchitecture
111311d341caSmrg# undef __uxp__
111411d341caSmrg# define UXPArchitecture
111511d341caSmrg# define SVR4Architecture
111611d341caSmrg# ifdef sparc
111711d341caSmrg#  undef sparc
111811d341caSmrg#  define SparcArchitecture
111911d341caSmrg# endif
112011d341caSmrg#endif /* __uxp__ */
112111d341caSmrg
112211d341caSmrg#ifdef __sxg__
112311d341caSmrg# define MacroIncludeFile <fujitsu.cf>
112411d341caSmrg# define MacroFile fujitsu.cf
112511d341caSmrg# define FujitsuArchitecture
112611d341caSmrg# undef __sxg__
112711d341caSmrg# define mc68000Architecture
112811d341caSmrg#endif /* __sxg__ */
112911d341caSmrg
113011d341caSmrg#ifdef _SEQUENT_
113111d341caSmrg/* undefine assignments resulting from -DSVR4 */
113211d341caSmrg# undef MacroIncludeFile
113311d341caSmrg# define MacroIncludeFile <sequent.cf>
113411d341caSmrg# undef MacroFile
113511d341caSmrg# define MacroFile sequent.cf
113611d341caSmrg# undef _SEQUENT_
113711d341caSmrg# define DynixPtxArchitecture
113811d341caSmrg# define SequentArchitecture
113911d341caSmrg#endif
114011d341caSmrg
114111d341caSmrg#if defined(_nec_ews_svr4) || defined(nec_ews_svr4) || defined(nec_ews_svr2) || defined(SX) || defined(_nec_up) || defined(_nec_ft) || defined(PC_UX)
114211d341caSmrg# ifdef nec
114311d341caSmrg#  undef nec
114411d341caSmrg# endif
114511d341caSmrg# define MacroIncludeFile <nec.cf>
114611d341caSmrg# define MacroFile nec.cf
114711d341caSmrg# define NecArchitecture
114811d341caSmrg#endif
114911d341caSmrg
1150c5867c1cSmrg#ifdef minix
115111d341caSmrg#define MacroIncludeFile <minix.cf>
115211d341caSmrg#define MacroFile minix.cf
115311d341caSmrg#undef minix
115411d341caSmrg#define MinixArchitecture
115511d341caSmrg#define i386Architecture
115611d341caSmrg#endif /* minix */
115711d341caSmrg
115811d341caSmrg/* Systems with GNU libc and userland */
115911d341caSmrg#if defined(__GNU__)
116011d341caSmrg#define GNUArchitecture
116111d341caSmrg#define MacroIncludeFile <gnu.cf>
116211d341caSmrg#define MacroFile gnu.cf
116311d341caSmrg#ifdef __i386__
116411d341caSmrg#define i386Architecture
116511d341caSmrg#endif
116611d341caSmrg#endif
116711d341caSmrg
116811d341caSmrg#ifdef MACH
116911d341caSmrg#ifdef __GNU__
117011d341caSmrg/* Mach-based GNU system */
117111d341caSmrg#define GNUMachArchitecture
117211d341caSmrg#else
117311d341caSmrg#define MacroIncludeFile <mach.cf>
117411d341caSmrg#define MacroFile mach.cf
117511d341caSmrg#endif
117611d341caSmrg#undef MACH
117711d341caSmrg#ifdef	i386
117811d341caSmrg#define i386MachArchitecture
117911d341caSmrg#define i386Architecture
118011d341caSmrg#endif	/* i386 */
118111d341caSmrg#undef i386
118211d341caSmrg#endif /* MACH */
118311d341caSmrg
118411d341caSmrg/* On NetBSD, `unix' is not defined, and cpp emits a warning every time
118511d341caSmrg * it sees a test using the `unix' symbol */
118611d341caSmrg#if !defined(NetBSDArchitecture) || (defined(NetBSDArchitecture) && DefaultOSMajorVersion == 1 && DefaultOSMinorVersion <= 3)
118711d341caSmrg#ifdef unix
118811d341caSmrg#undef unix
118911d341caSmrg#endif
119011d341caSmrg#endif
119111d341caSmrg
119211d341caSmrg#ifdef emxos2
119311d341caSmrg#define MacroIncludeFile <os2.cf>
119411d341caSmrg#define MacroFile os2.cf
119511d341caSmrg#define OS2Architecture
119611d341caSmrg#define i386Architecture
119711d341caSmrg#endif /* emxos2 */
119811d341caSmrg
119911d341caSmrg#if defined(__QNX__) && !defined(__QNXNTO__)
120011d341caSmrg#define MacroIncludeFile <QNX4.cf>
120111d341caSmrg#define MacroFile QNX4.cf
120211d341caSmrg#define QNX4Architecture
120311d341caSmrg#define i386Architecture
120411d341caSmrg#endif /* QNX4 */
120511d341caSmrg
120611d341caSmrg#ifdef __QNXNTO__
120711d341caSmrg#define MacroIncludeFile <nto.cf>
120811d341caSmrg#define MacroFile nto.cf
120911d341caSmrg#define NTOArchitecture
121011d341caSmrg# ifdef PPC
121111d341caSmrg#  define PPCArchitecture
121211d341caSmrg#  undef PPC
121311d341caSmrg# endif
121411d341caSmrg# ifdef MIPS
121511d341caSmrg#  define mipsArchitecture
121611d341caSmrg#  undef MIPS
121711d341caSmrg# endif
121811d341caSmrg# ifdef i386
121911d341caSmrg#  define i386Architecture
122011d341caSmrg#  undef i386
122111d341caSmrg# endif /* i386 */
122211d341caSmrg# ifdef __i386__
122311d341caSmrg#  ifndef i386Architecture
122411d341caSmrg#   define i386Architecture
122511d341caSmrg#  endif
122611d341caSmrg#  undef __i386__
122711d341caSmrg# endif /* __i386__ */
122811d341caSmrg#endif /* QNX/Neutrino */
122911d341caSmrg
123011d341caSmrg#ifdef SparcArchitecture
123111d341caSmrg# if defined(__sparc_v9) || defined(__arch64__)
123211d341caSmrg#  define Sparc64Architecture
123311d341caSmrg# endif
123411d341caSmrg#endif
123511d341caSmrg
123611d341caSmrg#ifndef MacroIncludeFile
123711d341caSmrgXCOMM WARNING:  Imake.cf not configured; guessing at definitions!!!
123811d341caSmrgXCOMM This might mean that BOOTSTRAPCFLAGS was not set when building imake.
123911d341caSmrg#define MacroIncludeFile <generic.cf>
124011d341caSmrg#define MacroFile generic.cf
124111d341caSmrg#endif
1242