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.
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 <bsd.cf>
23 # define MacroFile bsd.cf
25 # define VaxArchitecture
31 # define BSDArchitecture
32 # define OpenBSDArchitecture
33 # define KOpenBSDArchitecture
34 # define MacroIncludeFile <OpenBSD.cf>
35 # define MacroFile OpenBSD.cf
37 # define i386BsdArchitecture
38 # define i386Architecture
41 # if defined(__sparc__) || defined(sparc)
42 # if !defined(__arch64__)
43 # define SparcArchitecture
45 # define Sparc64Architecture
50 # if defined(__mips__) || defined(mips)
51 # define MipsArchitecture
53 # define Mips64Architecture
56 # define ArcArchitecture
60 # define SGIArchitecture
64 # define PmaxArchitecture
70 # if defined(__alpha__) || defined(alpha)
71 # define AlphaArchitecture
75 # if defined(__amd64__) || defined(__x86_64__)
76 # define AMD64Architecture
82 # define Arm32Architecture
86 # define ZaurusArchitecture
89 # if defined(__mc68020__) || defined(mc68020)
90 # define Mc68020Architecture
92 # define AmigaArchitecture
96 # define Hp300Architecture
100 # define Mac68kArchitecture
103 # if defined(mvme68k)
104 # define Mvme68kArchitecture
108 # define Sun3Architecture
113 # if defined(__m88k__) || defined(m88k)
114 # define Mc88000Architecture
118 # define PpcArchitecture
125 # define SuperHArchitecture
130 # define VaxArchitecture
133 # ifndef HPArchitecture
134 # define HPArchitecture
137 # endif /* __hppa__ */
140 /* Systems based on kernel of OpenBSD */
141 #if defined(__OpenBSD_kernel__)
142 #define KOpenBSDArchitecture
146 # define MacroIncludeFile <NetBSD.cf>
147 # define MacroFile NetBSD.cf
149 # define BSDArchitecture
150 # define NetBSDArchitecture
152 # define i386BsdArchitecture
153 # define i386Architecture
157 # define AMD64BsdArchitecture
158 # define AMD64Architecture
161 # if defined(__sparc__) || defined(sparc)
162 # define SparcArchitecture
168 # define MacroIncludeFile <FreeBSD.cf>
169 # define MacroFile FreeBSD.cf
171 # define BSDArchitecture
172 # define FreeBSDArchitecture
174 # define i386BsdArchitecture
175 # define i386Architecture
179 # define AMD64BsdArchitecture
180 # define AMD64Architecture
183 #endif /* __FreeBSD__ */
186 # define MacroIncludeFile <sun.cf>
187 # define MacroFile sun.cf
190 # define SVR4Architecture
194 # define SparcArchitecture
198 # define SparcV9Architecture
202 # define Sun3Architecture
206 # define i386Architecture
208 # if defined(__amd64__) || defined (__x86_64__)
211 # define AMD64Architecture
214 # define SunArchitecture
218 # define MacroIncludeFile <hp.cf>
219 # define MacroFile hp.cf
221 # define HPArchitecture
225 # define MacroIncludeFile <ncr.cf>
226 # define MacroFile ncr.cf
230 # define SVR4Architecture
231 # define i386Architecture
232 # define NCRArchitecture
236 # define MacroIncludeFile <sony.cf>
237 # define MacroFile sony.cf
240 # define SonyArchitecture
244 # define Mc68020Architecture
248 # define MipsArchitecture
251 # define SVR4Architecture
253 # if !defined(bsd43) || defined(SYSTYPE_SYSV) || defined(_SYSTYPE_SYSV)
254 # define SonySysvArchitecture
256 # define SonyBsdArchitecture
262 # define MacroIncludeFile <pegasus.cf>
263 # define MacroFile pegasus.cf
265 # define PegasusArchitecture
269 # define MacroIncludeFile <m4330.cf>
270 # define MacroFile m4330.cf
272 # define M4330Architecture
276 # define MacroIncludeFile <cray.cf>
277 # define MacroFile cray.cf
283 # define CrayArchitecture
287 # define MacroIncludeFile <sgi.cf>
288 # define MacroFile sgi.cf
290 # define SGIArchitecture
292 # define MipsArchitecture
295 # define SVR4Architecture
297 # ifdef _SYSTYPE_SVR4
298 # undef _SYSTYPE_SVR4
299 # define SVR4Architecture
304 # define MacroIncludeFile <stellar.cf>
305 # define MacroFile stellar.cf
307 # define StellarArchitecture
310 #if defined(ibm) || defined(_IBMR2) || defined(ibm032) || defined(aix)
311 # define MacroIncludeFile <ibm.cf>
312 # define MacroFile ibm.cf
316 # define IBMArchitecture
319 # define PS2Architecture
323 # define RtArchitecture
327 # define AIXArchitecture
331 # define RsArchitecture
337 # define MacroIncludeFile <luna.cf>
338 # define MacroFile luna.cf
339 # define LunaArchitecture
342 # define Mc68000Architecture
345 # define Mc88000Architecture
350 # define MacroIncludeFile <Mips.cf>
351 # define MacroFile Mips.cf
354 # if defined(SYSTYPE_BSD43) || defined(BSD) || defined(BSD43)
355 # define MipsBsdArchitecture
357 # define MipsSysvArchitecture
362 # define MacroIncludeFile <moto.cf>
363 # define MacroFile moto.cf
366 # define MotoR3Architecture
369 # define MotoR4Architecture
371 #endif /* MOTOROLA */
375 # define i386Architecture
378 # define SVR4Architecture
379 # define MacroIncludeFile <svr4.cf>
380 # define MacroFile svr4.cf
386 # define MacroIncludeFile <x386.cf>
387 # define MacroFile x386.cf
388 # define i386SVR3Architecture
396 # define i386Architecture
397 # define SVR4Architecture
398 # define i386SVR4Architecture
399 # define MacroIncludeFile <svr4.cf>
400 # define MacroFile svr4.cf
403 # define MacroIncludeFile <x386.cf>
404 # define MacroFile x386.cf
405 # define i386SVR3Architecture
410 # define MacroIncludeFile <DGUX.cf>
411 # define MacroFile DGUX.cf
413 # define DguxArchitecture
417 # define MacroIncludeFile <convex.cf>
418 # define MacroFile convex.cf
422 # define ConvexArchitecture
423 #endif /* _convex_ */
426 # define MacroIncludeFile <Oki.cf>
427 # define MacroFile Oki.cf
429 # define i860SVR4Architecture
430 # define SVR4Architecture
435 # define MacroIncludeFile <linux.cf>
436 # define MacroFile linux.cf
438 # define LinuxArchitecture
442 # define i386Architecture
446 # ifndef i386Architecture
447 # define i386Architecture
452 # define AlphaArchitecture
454 # endif /* __alpha */
456 # define PpcArchitecture
460 # ifndef PpcArchitecture
461 # define PpcArchitecture
465 # if defined(__amd64__) || defined (__x86_64__)
468 # define AMD64Architecture
470 # if defined(amd64__) || defined (x86_64__)
473 # ifndef AMD64Architecture
474 # define AMD64Architecture
477 # if defined(__arm__)
479 # define ARMArchitecture
481 # if defined(__sparc__) || defined(sparc)
482 # define SparcArchitecture
487 #if defined(sequent) || defined(_SEQUENT_)
488 # define MacroIncludeFile <sequent.cf>
489 # define MacroFile sequent.cf
492 # define Dynix3Architecture
496 # define DynixPtxArchitecture
498 # define SequentArchitecture
501 #if defined(_nec_ews_svr4) || defined(nec_ews_svr4) || defined(nec_ews_svr2) || defined(SX) || defined(_nec_up) || defined(_nec_ft) || defined(PC_UX)
505 # define MacroIncludeFile <nec.cf>
506 # define MacroFile nec.cf
507 # define NecArchitecture
510 #ifndef MacroIncludeFile
511 XCOMM WARNING: Imake.cf not configured; guessing at definitions!!!
512 XCOMM This might mean that BOOTSTRAPCFLAGS was not set when building imake.
513 #define MacroIncludeFile <generic.cf>
514 #define MacroFile generic.cf