1 XCOMM $Xorg: Imake.cf,v 1.4 2000/08/17 19:41:45 cpqbld Exp $
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.
20 XCOMM $XFree86: xc/config/cf/Imake.cf,v 3.66 2001/04/18 16:13:17 dawes Exp $
22 #if defined(__APPLE__)
24 # define MacroIncludeFile <darwin.cf>
25 # define MacroFile darwin.cf
26 # define DarwinArchitecture
28 # define PpcDarwinArchitecture
32 # define i386DarwinArchitecture
37 #if defined(clipper) || defined(__clipper__)
39 # define MacroIncludeFile <ingr.cf>
40 # define MacroFile ingr.cf
41 # define IngrArchitecture
45 #define MacroIncludeFile <cygwin.cf>
46 #define MacroFile cygwin.cf
47 #define cygwinArchitecture
48 #define i386Architecture
56 # define MacroIncludeFile <ultrix.cf>
57 # define MacroFile ultrix.cf
60 # define VaxArchitecture
64 # define MipsArchitecture
65 # define MipselArchitecture
68 # define UltrixArchitecture
71 #if defined(vax) && !defined(UltrixArchitecture)
72 # define MacroIncludeFile <bsd.cf>
73 # define MacroFile bsd.cf
75 # define BSDArchitecture
76 # define VaxArchitecture
80 # define MacroIncludeFile <bsdi.cf>
81 # define MacroFile bsdi.cf
83 # define BSDOSArchitecture
84 # if defined(__i386__) || defined(i386)
85 # define i386BsdArchitecture
86 # define i386Architecture
90 # if defined(__sparc__) || defined(__sparc_v9__) || defined(sparc)
91 # define SparcArchitecture
101 # define OpenBSDArchitecture
102 # define MacroIncludeFile <OpenBSD.cf>
103 # define MacroFile OpenBSD.cf
105 # define i386BsdArchitecture
106 # define i386Architecture
109 # if defined(__sparc__) || defined(sparc)
110 # define SparcArchitecture
114 # define MipsArchitecture
116 # define ArcArchitecture
120 # define PmaxArchitecture
126 # define AlphaArchitecture
130 # define Mc68020Architecture
132 # define AmigaArchitecture
136 # define Hp300Architecture
140 # define Mac68kArchitecture
143 # if defined(mvme68k)
144 # define Mvme68kArchitecture
148 # define Sun3Architecture
154 # define PpcArchitecture
160 # define MacroIncludeFile <NetBSD.cf>
161 # define MacroFile NetBSD.cf
163 # define NetBSDArchitecture
165 # define i386BsdArchitecture
166 # define i386Architecture
169 # if defined(__sparc__) || defined(sparc)
170 # define SparcArchitecture
174 # define MipsArchitecture
175 # define ArcArchitecture
179 # define AlphaArchitecture
183 # define Mc68020Architecture
186 # define Arm32Architecture
190 # define VaxArchitecture
194 # define PpcArchitecture
200 # define MacroIncludeFile <FreeBSD.cf>
201 # define MacroFile FreeBSD.cf
203 # define FreeBSDArchitecture
205 # define i386BsdArchitecture
206 # define i386Architecture
210 # define AlphaBsdArchitecture
211 # define AlphaArchitecture
214 #endif /* __FreeBSD__ */
217 /* Should be before the 'sun' entry because we may be cross-compiling */
218 # define MacroIncludeFile <Amoeba.cf>
219 # define MacroFile Amoeba.cf
220 # if defined(i80386) || defined(__i80386__)
222 # define i386Architecture
224 # if defined(mc68000) || defined(__mc68000__)
226 # define Sun3Architecture
227 # define SunArchitecture
229 # if defined(sparc) || defined(__sparc__)
231 # define SparcArchitecture
232 # define SunArchitecture
240 # define MacroIncludeFile <sun.cf>
241 # define MacroFile sun.cf
244 # define SVR4Architecture
248 # define SparcArchitecture
252 # define Sun3Architecture
256 # define i386Architecture
259 # define SunArchitecture
263 # define MacroIncludeFile <hp.cf>
264 # define MacroFile hp.cf
266 # define HPArchitecture
270 # define MacroIncludeFile <sco5.cf>
271 # define MacroFile sco5.cf
278 # define i386Architecture
279 # define SCOArchitecture
280 # define i386SVR3Architecture
281 # define SVR3Architecture
282 # define i386ScoArchitecture
283 # define i386Sco325Architecture
284 #endif /* sco - SCO Open Server 5 */
287 # define MacroIncludeFile <usl.cf>
288 # define MacroFile usl.cf
292 # define SVR4Architecture
293 # define i386Architecture
294 # define USLArchitecture
298 # define MacroIncludeFile <ncr.cf>
299 # define MacroFile ncr.cf
303 # define SVR4Architecture
304 # define i386Architecture
305 # define NCRArchitecture
309 # define MacroIncludeFile <apollo.cf>
310 # define MacroFile apollo.cf
312 # define ApolloArchitecture
316 # define MacroIncludeFile <sony.cf>
317 # define MacroFile sony.cf
320 # define SonyArchitecture
324 # define Mc68020Architecture
328 # define MipsArchitecture
331 # define SVR4Architecture
333 # if !defined(bsd43) || defined(SYSTYPE_SYSV) || defined(_SYSTYPE_SYSV)
334 # define SonySysvArchitecture
336 # define SonyBsdArchitecture
342 # define MacroIncludeFile <pegasus.cf>
343 # define MacroFile pegasus.cf
345 # define PegasusArchitecture
349 # define MacroIncludeFile <m4330.cf>
350 # define MacroFile m4330.cf
352 # define M4330Architecture
356 # define MacroIncludeFile <macII.cf>
357 # define MacroFile macII.cf
359 # define MacIIArchitecture
363 # define MacroIncludeFile <cray.cf>
364 # define MacroFile cray.cf
370 # define CrayArchitecture
374 # define MacroIncludeFile <sgi.cf>
375 # define MacroFile sgi.cf
377 # define SGIArchitecture
380 # define MipsArchitecture
383 # define SVR4Architecture
385 # ifdef _SYSTYPE_SVR4
386 # undef _SYSTYPE_SVR4
387 # define SVR4Architecture
392 # define MacroIncludeFile <stellar.cf>
393 # define MacroFile stellar.cf
395 # define StellarArchitecture
398 #if defined(ibm) || defined(_IBMR2) || defined(ibm032) || defined(aix)
399 # define MacroIncludeFile <ibm.cf>
400 # define MacroFile ibm.cf
404 # define IBMArchitecture
407 # define PS2Architecture
411 # define RtArchitecture
415 # define AIXArchitecture
419 # define RsArchitecture
425 # define MacroIncludeFile <luna.cf>
426 # define MacroFile luna.cf
427 # define LunaArchitecture
430 # define Mc68000Architecture
433 # define Mc88000Architecture
438 # define MacroIncludeFile <Mips.cf>
439 # define MacroFile Mips.cf
442 # if defined(SYSTYPE_BSD43) || defined(BSD) || defined(BSD43)
443 # define MipsBsdArchitecture
445 # define MipsSysvArchitecture
450 # define MacroIncludeFile <moto.cf>
451 # define MacroFile moto.cf
454 # define MotoR3Architecture
457 # define MotoR4Architecture
459 #endif /* MOTOROLA */
461 #if defined(SVR4) && !defined(DGUX)
463 # define i386Architecture
467 # define PANIX98Architecture
470 # define SVR4Architecture
471 # define MacroIncludeFile <svr4.cf>
472 # define MacroFile svr4.cf
480 # define i386Architecture
481 # define i386SVR3Architecture
482 # define MacroIncludeFile <isc.cf>
483 # define MacroFile isc.cf
484 # define i386IscArchitecture
487 # define IscVersion 202
491 # define IscVersion 300
495 # define IscVersion 400
498 # define IscVersion 221
504 # define i386SVR3Architecture
505 # define MacroIncludeFile <x386.cf>
506 # define MacroFile x386.cf
507 # endif /* MacroFile */
511 /* SYSV386 is here for backward compatibility only */
515 # define i386Architecture
516 # define SVR4Architecture
517 # define i386SVR4Architecture
518 # define MacroIncludeFile <svr4.cf>
519 # define MacroFile svr4.cf
523 # define i386Architecture
524 # define i386SVR3Architecture
525 # define MacroIncludeFile <isc.cf>
526 # define MacroFile isc.cf
527 # define i386IscArchitecture
530 # define IscVersion 202
534 # define IscVersion 300
538 # define IscVersion 400
541 # define IscVersion 221
547 # define i386SVR3Architecture
548 # define MacroIncludeFile <x386.cf>
549 # define MacroFile x386.cf
550 # endif /* MacroFile */
555 # define i386Architecture
556 # define SVR4Architecture
557 # define MacroIncludeFile <DGUX.cf>
558 # define MacroFile DGUX.cf
560 # define DguxArchitecture
564 # define MacroIncludeFile <convex.cf>
565 # define MacroFile convex.cf
569 # define ConvexArchitecture
570 #endif /* _convex_ */
573 # define MacroIncludeFile <osf1.cf>
574 # define MacroFile osf1.cf
575 # define OSF1Architecture
579 # define MipsArchitecture
580 # define MipselArchitecture
584 # define AlphaArchitecture
589 # define MacroIncludeFile <Oki.cf>
590 # define MacroFile Oki.cf
592 # define i860SVR4Architecture
593 # define SVR4Architecture
598 # define MacroIncludeFile <Win32.cf>
599 # define MacroFile Win32.cf
600 # define Win32Architecture
604 # define MacroIncludeFile <linux.cf>
605 # define MacroFile linux.cf
607 # define LinuxArchitecture
609 # ifndef i386Architecture
610 # define i386Architecture
613 XCOMM Keep cpp from replacing path elements containing i486/i586/i686
615 # ifndef i386Architecture
616 # define i386Architecture
621 # ifndef i386Architecture
622 # define i386Architecture
627 # ifndef i386Architecture
628 # define i386Architecture
633 # ifndef i386Architecture
634 # define i386Architecture
640 # ifndef i386Architecture
641 # define i386Architecture
644 # endif /* __i386__ */
646 # ifndef i386Architecture
647 # define i386Architecture
650 # endif /* __i486__ */
652 # ifndef i386Architecture
653 # define i386Architecture
656 # endif /* __i586__ */
658 # ifndef i386Architecture
659 # define i386Architecture
662 # endif /* __i686__ */
664 # ifndef i386Architecture
665 # define i386Architecture
670 # ifndef i386Architecture
671 # define i386Architecture
676 # ifndef i386Architecture
677 # define i386Architecture
682 # ifndef i386Architecture
683 # define i386Architecture
688 # ifndef i386Architecture
689 # define i386Architecture
694 # ifndef i386Architecture
695 # define i386Architecture
700 # define s390Architecture
704 # define AlphaArchitecture
706 # endif /* __alpha */
708 # ifndef AlphaArchitecture
709 # define AlphaArchitecture
712 # endif /* __alpha__ */
714 # define Arm32Architecture
720 # define Mc68020Architecture
722 # endif /* mc68000 */
724 # define PpcArchitecture
728 # ifndef PpcArchitecture
729 # define PpcArchitecture
734 # define SparcArchitecture
738 # ifndef SparcArchitecture
739 # define SparcArchitecture
744 # define x86_64Architecture
748 # ifndef x86_64Architecture
749 # define x86_64Architecture
754 # define ia64Architecture
758 # ifndef ia64Architecture
759 # define ia64Architecture
763 # if defined(mips) || defined(__mips__)
764 # define MipsArchitecture
767 # if defined(MIPSEL) || defined(_MIPSEL)
768 # define MipselArchitecture
774 # ifndef HPArchitecture
775 # define HPArchitecture
778 # endif /* __hppa__ */
780 # ifndef SuperHArchitecture
781 # define SuperHArchitecture
783 # ifdef __BIG_ENDIAN__
784 # ifndef SuperHebArchitecture
785 # define SuperHebArchitecture
790 # if defined(__SH3__) || defined(__sh3__)
791 # ifndef SuperH3Architecture
792 # define SuperH3Architecture
796 # endif /* __SH3__ or __sh3__ */
798 # ifdef __SH4_NOFPU__
799 # ifndef SuperH4NOFPUArchitecture
800 # define SuperH4NOFPUArchitecture
802 # undef __SH4_NOFPU__
804 # ifndef SuperH4Architecture
805 # define SuperH4Architecture
809 # endif /* __SH4__ */
810 XCOMM for compatibility with 3.3.x
811 # ifdef PpcArchitecture
812 # define PowerPCArchitecture
816 #if (defined(__Lynx__) || defined(Lynx)) && (defined(i386) || defined(__i386__) || defined(__x86__) || defined(__powerpc__) || defined(__sparc__) || defined(sparc))
817 # define MacroIncludeFile <lynx.cf>
818 # define MacroFile lynx.cf
819 # define LynxOSArchitecture
823 # if defined(i386) || defined(__i386__) || defined(__x86__)
824 # define i386Architecture
830 # define PpcArchitecture
833 # if defined(sparc) || defined(__sparc__)
834 # define SparcArchitecture
838 /* for compatibility with 3.3.x */
839 # ifdef PpcArchitecture
840 # define PowerPCArchitecture
842 #endif /* LynxOS AT/PPC/microSPARC */
845 # define MacroIncludeFile <fujitsu.cf>
846 # define MacroFile fujitsu.cf
847 # define FujitsuArchitecture
849 # define UXPArchitecture
850 # define SVR4Architecture
853 # define SparcArchitecture
858 # define MacroIncludeFile <fujitsu.cf>
859 # define MacroFile fujitsu.cf
860 # define FujitsuArchitecture
862 # define mc68000Architecture
866 /* undefine assignments resulting from -DSVR4 */
867 # undef MacroIncludeFile
868 # define MacroIncludeFile <sequent.cf>
870 # define MacroFile sequent.cf
872 # define DynixPtxArchitecture
873 # define SequentArchitecture
876 #if defined(_nec_ews_svr4) || defined(nec_ews_svr4) || defined(nec_ews_svr2) || defined(SX) || defined(_nec_up) || defined(_nec_ft) || defined(PC_UX)
880 # define MacroIncludeFile <nec.cf>
881 # define MacroFile nec.cf
882 # define NecArchitecture
886 #define MacroIncludeFile <minix.cf>
887 #define MacroFile minix.cf
889 #define MinixArchitecture
890 #define i386Architecture
895 #define MacroIncludeFile <gnu.cf>
896 #define MacroFile gnu.cf
897 #define GNUMachArchitecture
899 #define MacroIncludeFile <mach.cf>
900 #define MacroFile mach.cf
904 #define i386MachArchitecture
905 #define i386Architecture
910 /* On NetBSD, `unix' is not defined, and cpp emits a warning every time
911 * it sees a test using the `unix' symbol */
912 #if !defined(NetBSDArchitecture) || (defined(NetBSDArchitecture) && DefaultOSMajorVersion == 1 && DefaultOSMinorVersion <= 3)
919 #define MacroIncludeFile <os2.cf>
920 #define MacroFile os2.cf
921 #define OS2Architecture
922 #define i386Architecture
925 #if defined(__QNX__) && !defined(__QNXNTO__)
926 #define MacroIncludeFile <QNX4.cf>
927 #define MacroFile QNX4.cf
928 #define QNX4Architecture
929 #define i386Architecture
933 #define MacroIncludeFile <nto.cf>
934 #define MacroFile nto.cf
935 #define NTOArchitecture
937 # define PPCArchitecture
941 # define mipsArchitecture
945 # define i386Architecture
950 #endif /* QNX/Neutrino */
952 #ifdef SparcArchitecture
953 # if defined(__sparc_v9) || defined(__arch64__)
954 # define Sparc64Architecture
958 #ifndef MacroIncludeFile
959 XCOMM WARNING: Imake.cf not configured; guessing at definitions!!!
960 XCOMM This might mean that BOOTSTRAPCFLAGS was not set when building imake.
961 #define MacroIncludeFile <generic.cf>
962 #define MacroFile generic.cf