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
55 # define MacroIncludeFile <NetBSD.cf>
56 # define MacroFile NetBSD.cf
58 # define NetBSDArchitecture
60 # define i386BsdArchitecture
61 # define i386Architecture
64 # if defined(__sparc__) || defined(sparc)
65 # define SparcArchitecture
71 # define MacroIncludeFile <FreeBSD.cf>
72 # define MacroFile FreeBSD.cf
74 # define FreeBSDArchitecture
76 # define i386BsdArchitecture
77 # define i386Architecture
80 #endif /* __FreeBSD__ */
83 /* Should be before the 'sun' entry because we may be cross-compiling */
84 # define MacroIncludeFile <Amoeba.cf>
85 # define MacroFile Amoeba.cf
86 # if defined(i80386) || defined(__i80386__)
88 # define i386Architecture
90 # if defined(mc68000) || defined(__mc68000__)
92 # define Sun3Architecture
93 # define SunArchitecture
95 # if defined(sparc) || defined(__sparc__)
97 # define SparcArchitecture
98 # define SunArchitecture
106 # define MacroIncludeFile <sun.cf>
107 # define MacroFile sun.cf
110 # define SVR4Architecture
114 # define SparcArchitecture
118 # define SparcV9Architecture
122 # define Sun3Architecture
126 # define i386Architecture
128 # if defined(__amd64__) || defined (__x86_64__)
131 # define AMD64Architecture
134 # define SunArchitecture
138 # define MacroIncludeFile <hp.cf>
139 # define MacroFile hp.cf
141 # define HPArchitecture
145 # define MacroIncludeFile <sco.cf>
146 # define MacroFile sco.cf
151 /* # define i386Architecture */
152 # define SCOArchitecture
156 # define MacroIncludeFile <usl.cf>
157 # define MacroFile usl.cf
161 # define SVR4Architecture
162 # define i386Architecture
163 # define USLArchitecture
167 # define MacroIncludeFile <ncr.cf>
168 # define MacroFile ncr.cf
172 # define SVR4Architecture
173 # define i386Architecture
174 # define NCRArchitecture
178 # define MacroIncludeFile <apollo.cf>
179 # define MacroFile apollo.cf
181 # define ApolloArchitecture
185 # define MacroIncludeFile <sony.cf>
186 # define MacroFile sony.cf
189 # define SonyArchitecture
193 # define Mc68020Architecture
197 # define MipsArchitecture
200 # define SVR4Architecture
202 # if !defined(bsd43) || defined(SYSTYPE_SYSV) || defined(_SYSTYPE_SYSV)
203 # define SonySysvArchitecture
205 # define SonyBsdArchitecture
211 # define MacroIncludeFile <pegasus.cf>
212 # define MacroFile pegasus.cf
214 # define PegasusArchitecture
218 # define MacroIncludeFile <m4330.cf>
219 # define MacroFile m4330.cf
221 # define M4330Architecture
225 # define MacroIncludeFile <macII.cf>
226 # define MacroFile macII.cf
228 # define MacIIArchitecture
232 # define MacroIncludeFile <cray.cf>
233 # define MacroFile cray.cf
239 # define CrayArchitecture
243 # define MacroIncludeFile <sgi.cf>
244 # define MacroFile sgi.cf
246 # define SGIArchitecture
248 # define MipsArchitecture
251 # define SVR4Architecture
253 # ifdef _SYSTYPE_SVR4
254 # undef _SYSTYPE_SVR4
255 # define SVR4Architecture
260 # define MacroIncludeFile <stellar.cf>
261 # define MacroFile stellar.cf
263 # define StellarArchitecture
266 #if defined(ibm) || defined(_IBMR2) || defined(ibm032) || defined(aix)
267 # define MacroIncludeFile <ibm.cf>
268 # define MacroFile ibm.cf
272 # define IBMArchitecture
275 # define PS2Architecture
279 # define RtArchitecture
283 # define AIXArchitecture
287 # define RsArchitecture
293 # define MacroIncludeFile <luna.cf>
294 # define MacroFile luna.cf
295 # define LunaArchitecture
298 # define Mc68000Architecture
301 # define Mc88000Architecture
306 # define MacroIncludeFile <Mips.cf>
307 # define MacroFile Mips.cf
310 # if defined(SYSTYPE_BSD43) || defined(BSD) || defined(BSD43)
311 # define MipsBsdArchitecture
313 # define MipsSysvArchitecture
318 # define MacroIncludeFile <moto.cf>
319 # define MacroFile moto.cf
322 # define MotoR3Architecture
325 # define MotoR4Architecture
327 #endif /* MOTOROLA */
331 # define i386Architecture
334 # define SVR4Architecture
335 # define MacroIncludeFile <svr4.cf>
336 # define MacroFile svr4.cf
342 # define MacroIncludeFile <x386.cf>
343 # define MacroFile x386.cf
344 # define i386SVR3Architecture
352 # define i386Architecture
353 # define SVR4Architecture
354 # define i386SVR4Architecture
355 # define MacroIncludeFile <svr4.cf>
356 # define MacroFile svr4.cf
359 # define MacroIncludeFile <x386.cf>
360 # define MacroFile x386.cf
361 # define i386SVR3Architecture
366 # define MacroIncludeFile <DGUX.cf>
367 # define MacroFile DGUX.cf
369 # define DguxArchitecture
373 # define MacroIncludeFile <convex.cf>
374 # define MacroFile convex.cf
378 # define ConvexArchitecture
379 #endif /* _convex_ */
382 # define MacroIncludeFile <osf1.cf>
383 # define MacroFile osf1.cf
384 # define OSF1Architecture
388 # define MipsArchitecture
392 # define AlphaArchitecture
397 # define MacroIncludeFile <Oki.cf>
398 # define MacroFile Oki.cf
400 # define i860SVR4Architecture
401 # define SVR4Architecture
406 # define MacroIncludeFile <Win32.cf>
407 # define MacroFile Win32.cf
408 # define Win32Architecture
412 # define MacroIncludeFile <linux.cf>
413 # define MacroFile linux.cf
415 # define LinuxArchitecture
419 # define i386Architecture
423 # ifndef i386Architecture
424 # define i386Architecture
429 # define AlphaArchitecture
431 # endif /* __alpha */
433 # define PpcArchitecture
437 # ifndef PpcArchitecture
438 # define PpcArchitecture
442 # if defined(__amd64__) || defined (__x86_64__)
445 # define AMD64Architecture
447 # if defined(amd64__) || defined (x86_64__)
450 # ifndef AMD64Architecture
451 # define AMD64Architecture
457 # define MacroIncludeFile <fujitsu.cf>
458 # define MacroFile fujitsu.cf
459 # define FujitsuArchitecture
461 # define UXPArchitecture
462 # define SVR4Architecture
465 # define SparcArchitecture
470 # define MacroIncludeFile <fujitsu.cf>
471 # define MacroFile fujitsu.cf
472 # define FujitsuArchitecture
474 # define mc68000Architecture
477 #if defined(sequent) || defined(_SEQUENT_)
478 # define MacroIncludeFile <sequent.cf>
479 # define MacroFile sequent.cf
482 # define Dynix3Architecture
486 # define DynixPtxArchitecture
488 # define SequentArchitecture
491 #if defined(_nec_ews_svr4) || defined(nec_ews_svr4) || defined(nec_ews_svr2) || defined(SX) || defined(_nec_up) || defined(_nec_ft) || defined(PC_UX)
495 # define MacroIncludeFile <nec.cf>
496 # define MacroFile nec.cf
497 # define NecArchitecture
500 #ifndef MacroIncludeFile
501 XCOMM WARNING: Imake.cf not configured; guessing at definitions!!!
502 XCOMM This might mean that BOOTSTRAPCFLAGS was not set when building imake.
503 #define MacroIncludeFile <generic.cf>
504 #define MacroFile generic.cf