1 XCOMM $TOG: Imake.cf /main/30 1998/04/28 13:55:25 barstow $
3 * To add support for another platform:
5 * 1. Identify a machine-specific cpp symbol. If your preprocessor
6 * does not have any built in, you will need to add the symbol to the
7 * cpp_argv table in config/imake/imakemdep.h and rebuild imake with
8 * the BOOTSTRAPCFLAGS variable set (see the macII for an example).
10 * 2. Add all machine-specific cpp symbols (either defined by you or by
11 * the preprocessor or compiler) to the predefs table in
12 * config/imake/imakemdep.h.
14 * 3. But a new #ifdef block below that defines MacroIncludeFile and
15 * MacroFile for your new platform and then #undefs the machine-
16 * specific preprocessor symbols (to avoid problems with file names).
18 * 4. Create a .cf file with the name given by MacroFile.
22 # define MacroIncludeFile <ultrix.cf>
23 # define MacroFile ultrix.cf
26 # define VaxArchitecture
30 # define MipsArchitecture
33 # define UltrixArchitecture
36 #if defined(vax) && !defined(UltrixArchitecture)
37 # define MacroIncludeFile <bsd.cf>
38 # define MacroFile bsd.cf
40 # define BSDArchitecture
41 # define VaxArchitecture
45 # define MacroIncludeFile <bsdi.cf>
46 # define MacroFile bsdi.cf
48 # define BSD386Architecture
49 # define i386BsdArchitecture
50 # define i386Architecture
57 # define OpenBSDArchitecture
58 # define KOpenBSDArchitecture
59 # define MacroIncludeFile <OpenBSD.cf>
60 # define MacroFile OpenBSD.cf
62 # define i386BsdArchitecture
63 # define i386Architecture
66 # if defined(__sparc__) || defined(sparc)
67 # if !defined(__arch64__)
68 # define SparcArchitecture
70 # define Sparc64Architecture
75 # if defined(__mips__) || defined(mips)
76 # define MipsArchitecture
78 # define Mips64Architecture
81 # define ArcArchitecture
85 # define SGIArchitecture
89 # define PmaxArchitecture
95 # if defined(__alpha__) || defined(alpha)
96 # define AlphaArchitecture
100 # if defined(__amd64__) || defined(__x86_64__)
101 # define AMD64Architecture
106 # if defined(__arm__)
107 # define Arm32Architecture
111 # define ZaurusArchitecture
114 # if defined(__mc68020__) || defined(mc68020)
115 # define Mc68020Architecture
117 # define AmigaArchitecture
121 # define Hp300Architecture
125 # define Mac68kArchitecture
128 # if defined(mvme68k)
129 # define Mvme68kArchitecture
133 # define Sun3Architecture
138 # if defined(__m88k__) || defined(m88k)
139 # define Mc88000Architecture
143 # define PpcArchitecture
150 # define SuperHArchitecture
155 # define VaxArchitecture
158 # ifndef HPArchitecture
159 # define HPArchitecture
162 # endif /* __hppa__ */
165 /* Systems based on kernel of OpenBSD */
166 #if defined(__OpenBSD_kernel__)
167 #define KOpenBSDArchitecture
171 # define MacroIncludeFile <NetBSD.cf>
172 # define MacroFile NetBSD.cf
174 # define NetBSDArchitecture
176 # define i386BsdArchitecture
177 # define i386Architecture
180 # if defined(__sparc__) || defined(sparc)
181 # define SparcArchitecture
187 # define MacroIncludeFile <FreeBSD.cf>
188 # define MacroFile FreeBSD.cf
190 # define FreeBSDArchitecture
192 # define i386BsdArchitecture
193 # define i386Architecture
197 # define AMD64BsdArchitecture
198 # define AMD64Architecture
201 #endif /* __FreeBSD__ */
204 /* Should be before the 'sun' entry because we may be cross-compiling */
205 # define MacroIncludeFile <Amoeba.cf>
206 # define MacroFile Amoeba.cf
207 # if defined(i80386) || defined(__i80386__)
209 # define i386Architecture
211 # if defined(mc68000) || defined(__mc68000__)
213 # define Sun3Architecture
214 # define SunArchitecture
216 # if defined(sparc) || defined(__sparc__)
218 # define SparcArchitecture
219 # define SunArchitecture
227 # define MacroIncludeFile <sun.cf>
228 # define MacroFile sun.cf
231 # define SVR4Architecture
235 # define SparcArchitecture
239 # define SparcV9Architecture
243 # define Sun3Architecture
247 # define i386Architecture
249 # if defined(__amd64__) || defined (__x86_64__)
252 # define AMD64Architecture
255 # define SunArchitecture
259 # define MacroIncludeFile <hp.cf>
260 # define MacroFile hp.cf
262 # define HPArchitecture
266 # define MacroIncludeFile <sco.cf>
267 # define MacroFile sco.cf
272 /* # define i386Architecture */
273 # define SCOArchitecture
277 # define MacroIncludeFile <usl.cf>
278 # define MacroFile usl.cf
282 # define SVR4Architecture
283 # define i386Architecture
284 # define USLArchitecture
288 # define MacroIncludeFile <ncr.cf>
289 # define MacroFile ncr.cf
293 # define SVR4Architecture
294 # define i386Architecture
295 # define NCRArchitecture
299 # define MacroIncludeFile <apollo.cf>
300 # define MacroFile apollo.cf
302 # define ApolloArchitecture
306 # define MacroIncludeFile <sony.cf>
307 # define MacroFile sony.cf
310 # define SonyArchitecture
314 # define Mc68020Architecture
318 # define MipsArchitecture
321 # define SVR4Architecture
323 # if !defined(bsd43) || defined(SYSTYPE_SYSV) || defined(_SYSTYPE_SYSV)
324 # define SonySysvArchitecture
326 # define SonyBsdArchitecture
332 # define MacroIncludeFile <pegasus.cf>
333 # define MacroFile pegasus.cf
335 # define PegasusArchitecture
339 # define MacroIncludeFile <m4330.cf>
340 # define MacroFile m4330.cf
342 # define M4330Architecture
346 # define MacroIncludeFile <macII.cf>
347 # define MacroFile macII.cf
349 # define MacIIArchitecture
353 # define MacroIncludeFile <cray.cf>
354 # define MacroFile cray.cf
360 # define CrayArchitecture
364 # define MacroIncludeFile <sgi.cf>
365 # define MacroFile sgi.cf
367 # define SGIArchitecture
369 # define MipsArchitecture
372 # define SVR4Architecture
374 # ifdef _SYSTYPE_SVR4
375 # undef _SYSTYPE_SVR4
376 # define SVR4Architecture
381 # define MacroIncludeFile <stellar.cf>
382 # define MacroFile stellar.cf
384 # define StellarArchitecture
387 #if defined(ibm) || defined(_IBMR2) || defined(ibm032) || defined(aix)
388 # define MacroIncludeFile <ibm.cf>
389 # define MacroFile ibm.cf
393 # define IBMArchitecture
396 # define PS2Architecture
400 # define RtArchitecture
404 # define AIXArchitecture
408 # define RsArchitecture
414 # define MacroIncludeFile <luna.cf>
415 # define MacroFile luna.cf
416 # define LunaArchitecture
419 # define Mc68000Architecture
422 # define Mc88000Architecture
427 # define MacroIncludeFile <Mips.cf>
428 # define MacroFile Mips.cf
431 # if defined(SYSTYPE_BSD43) || defined(BSD) || defined(BSD43)
432 # define MipsBsdArchitecture
434 # define MipsSysvArchitecture
439 # define MacroIncludeFile <moto.cf>
440 # define MacroFile moto.cf
443 # define MotoR3Architecture
446 # define MotoR4Architecture
448 #endif /* MOTOROLA */
452 # define i386Architecture
455 # define SVR4Architecture
456 # define MacroIncludeFile <svr4.cf>
457 # define MacroFile svr4.cf
463 # define MacroIncludeFile <x386.cf>
464 # define MacroFile x386.cf
465 # define i386SVR3Architecture
473 # define i386Architecture
474 # define SVR4Architecture
475 # define i386SVR4Architecture
476 # define MacroIncludeFile <svr4.cf>
477 # define MacroFile svr4.cf
480 # define MacroIncludeFile <x386.cf>
481 # define MacroFile x386.cf
482 # define i386SVR3Architecture
487 # define MacroIncludeFile <DGUX.cf>
488 # define MacroFile DGUX.cf
490 # define DguxArchitecture
494 # define MacroIncludeFile <convex.cf>
495 # define MacroFile convex.cf
499 # define ConvexArchitecture
500 #endif /* _convex_ */
503 # define MacroIncludeFile <osf1.cf>
504 # define MacroFile osf1.cf
505 # define OSF1Architecture
509 # define MipsArchitecture
513 # define AlphaArchitecture
518 # define MacroIncludeFile <Oki.cf>
519 # define MacroFile Oki.cf
521 # define i860SVR4Architecture
522 # define SVR4Architecture
527 # define MacroIncludeFile <Win32.cf>
528 # define MacroFile Win32.cf
529 # define Win32Architecture
533 # define MacroIncludeFile <linux.cf>
534 # define MacroFile linux.cf
536 # define LinuxArchitecture
540 # define i386Architecture
544 # ifndef i386Architecture
545 # define i386Architecture
550 # define AlphaArchitecture
552 # endif /* __alpha */
554 # define PpcArchitecture
558 # ifndef PpcArchitecture
559 # define PpcArchitecture
563 # if defined(__amd64__) || defined (__x86_64__)
566 # define AMD64Architecture
568 # if defined(amd64__) || defined (x86_64__)
571 # ifndef AMD64Architecture
572 # define AMD64Architecture
575 # if defined(__arm__)
577 # define ARMArchitecture
579 # if defined(__sparc__) || defined(sparc)
580 # define SparcArchitecture
586 # define MacroIncludeFile <fujitsu.cf>
587 # define MacroFile fujitsu.cf
588 # define FujitsuArchitecture
590 # define UXPArchitecture
591 # define SVR4Architecture
594 # define SparcArchitecture
599 # define MacroIncludeFile <fujitsu.cf>
600 # define MacroFile fujitsu.cf
601 # define FujitsuArchitecture
603 # define mc68000Architecture
606 #if defined(sequent) || defined(_SEQUENT_)
607 # define MacroIncludeFile <sequent.cf>
608 # define MacroFile sequent.cf
611 # define Dynix3Architecture
615 # define DynixPtxArchitecture
617 # define SequentArchitecture
620 #if defined(_nec_ews_svr4) || defined(nec_ews_svr4) || defined(nec_ews_svr2) || defined(SX) || defined(_nec_up) || defined(_nec_ft) || defined(PC_UX)
624 # define MacroIncludeFile <nec.cf>
625 # define MacroFile nec.cf
626 # define NecArchitecture
629 #ifndef MacroIncludeFile
630 XCOMM WARNING: Imake.cf not configured; guessing at definitions!!!
631 XCOMM This might mean that BOOTSTRAPCFLAGS was not set when building imake.
632 #define MacroIncludeFile <generic.cf>
633 #define MacroFile generic.cf