XCOMM $TOG: Imake.cf /main/30 1998/04/28 13:55:25 barstow $ /* * To add support for another platform: * * 1. Identify a machine-specific cpp symbol. If your preprocessor * does not have any built in, you will need to add the symbol to the * cpp_argv table in config/imake/imakemdep.h and rebuild imake with * the BOOTSTRAPCFLAGS variable set (see the macII for an example). * * 2. Add all machine-specific cpp symbols (either defined by you or by * the preprocessor or compiler) to the predefs table in * config/imake/imakemdep.h. * * 3. But a new #ifdef block below that defines MacroIncludeFile and * MacroFile for your new platform and then #undefs the machine- * specific preprocessor symbols (to avoid problems with file names). * * 4. Create a .cf file with the name given by MacroFile. */ #ifdef ultrix # define MacroIncludeFile # define MacroFile ultrix.cf # ifdef vax # undef vax # define VaxArchitecture # endif # ifdef mips # undef mips # define MipsArchitecture # endif # undef ultrix # define UltrixArchitecture #endif /* ultrix */ #if defined(vax) && !defined(UltrixArchitecture) # define MacroIncludeFile # define MacroFile bsd.cf # undef vax # define BSDArchitecture # define VaxArchitecture #endif /* vax */ #ifdef bsdi # define MacroIncludeFile # define MacroFile bsdi.cf # undef bsdi # define BSD386Architecture # define i386BsdArchitecture # define i386Architecture # undef i386 #endif /* bsdi */ #ifdef __NetBSD__ # define MacroIncludeFile # define MacroFile NetBSD.cf # undef __NetBSD__ # define NetBSDArchitecture # ifdef __i386__ # define i386BsdArchitecture # define i386Architecture # undef i386 # endif # if defined(__sparc__) || defined(sparc) # define SparcArchitecture # undef sparc # endif #endif /* NetBSD */ #ifdef __FreeBSD__ # define MacroIncludeFile # define MacroFile FreeBSD.cf # undef __FreeBSD__ # define FreeBSDArchitecture # ifdef __i386__ # define i386BsdArchitecture # define i386Architecture # undef i386 # endif #endif /* __FreeBSD__ */ #ifdef AMOEBA /* Should be before the 'sun' entry because we may be cross-compiling */ # define MacroIncludeFile # define MacroFile Amoeba.cf # if defined(i80386) || defined(__i80386__) # undef i80386 # define i386Architecture # else # if defined(mc68000) || defined(__mc68000__) # undef mc68000 # define Sun3Architecture # define SunArchitecture # else # if defined(sparc) || defined(__sparc__) # undef sparc # define SparcArchitecture # define SunArchitecture # endif # endif # undef sun # endif #endif /* AMOEBA */ #ifdef sun # define MacroIncludeFile # define MacroFile sun.cf # ifdef SVR4 # undef SVR4 # define SVR4Architecture # endif # ifdef sparc # undef sparc # define SparcArchitecture # endif # ifdef mc68000 # undef mc68000 # define Sun3Architecture # endif # ifdef i386 # undef i386 # define i386Architecture # endif # undef sun # define SunArchitecture #endif /* sun */ #ifdef hpux # define MacroIncludeFile # define MacroFile hp.cf # undef hpux # define HPArchitecture #endif /* hpux */ #ifdef sco # define MacroIncludeFile # define MacroFile sco.cf # undef sco # undef USL # undef SYSV # undef i386 /* # define i386Architecture */ # define SCOArchitecture #endif /* sco */ #ifdef USL # define MacroIncludeFile # define MacroFile usl.cf # undef USL # undef SVR4 # undef i386 # define SVR4Architecture # define i386Architecture # define USLArchitecture #endif /* USL */ #ifdef NCR # define MacroIncludeFile # define MacroFile ncr.cf # undef NCR # undef SVR4 # undef i386 # define SVR4Architecture # define i386Architecture # define NCRArchitecture #endif /* NCR */ #ifdef apollo # define MacroIncludeFile # define MacroFile apollo.cf # undef apollo # define ApolloArchitecture #endif /* apollo */ #ifdef sony # define MacroIncludeFile # define MacroFile sony.cf # undef sony # undef sony_news # define SonyArchitecture # ifdef mc68020 # undef mc68020 # undef mc68030 # define Mc68020Architecture # endif # ifdef mips # undef mips # define MipsArchitecture # endif # ifdef __svr4 # define SVR4Architecture # else # if !defined(bsd43) || defined(SYSTYPE_SYSV) || defined(_SYSTYPE_SYSV) # define SonySysvArchitecture # else # define SonyBsdArchitecture # endif # endif #endif /* sony */ #ifdef M4310 # define MacroIncludeFile # define MacroFile pegasus.cf # undef M4310 # define PegasusArchitecture #endif /* M4310 */ #ifdef M4330 # define MacroIncludeFile # define MacroFile m4330.cf # undef M4330 # define M4330Architecture #endif /* M4330 */ #ifdef macII # define MacroIncludeFile # define MacroFile macII.cf # undef macII # define MacIIArchitecture #endif /* macII */ #ifdef _CRAY # define MacroIncludeFile # define MacroFile cray.cf # undef cray # undef CRAY # undef CRAY1 # undef CRAY2 # undef YMP # define CrayArchitecture #endif /* _CRAY */ #ifdef sgi # define MacroIncludeFile # define MacroFile sgi.cf # undef sgi # define SGIArchitecture # undef mips # define MipsArchitecture # ifdef _SVR4 # undef _SVR4 # define SVR4Architecture # endif # ifdef _SYSTYPE_SVR4 # undef _SYSTYPE_SVR4 # define SVR4Architecture # endif #endif /* sgi */ #ifdef stellar # define MacroIncludeFile # define MacroFile stellar.cf # undef stellar # define StellarArchitecture #endif /* stellar */ #if defined(ibm) || defined(_IBMR2) || defined(ibm032) || defined(aix) # define MacroIncludeFile # define MacroFile ibm.cf # ifdef ibm # undef ibm # endif # define IBMArchitecture # ifdef i386 # undef i386 # define PS2Architecture # endif # ifdef ibm032 # undef ibm032 # define RtArchitecture # endif # ifdef aix # undef aix # define AIXArchitecture # endif # ifdef _IBMR2 # undef _IBMR2 # define RsArchitecture # endif #endif /* ibm */ #ifdef luna # undef luna # define MacroIncludeFile # define MacroFile luna.cf # define LunaArchitecture # ifdef mc68000 # undef mc68000 # define Mc68000Architecture # else # undef mc88000 # define Mc88000Architecture # endif #endif /* luna */ #ifdef Mips # define MacroIncludeFile # define MacroFile Mips.cf # undef Mips # undef mips # if defined(SYSTYPE_BSD43) || defined(BSD) || defined(BSD43) # define MipsBsdArchitecture # else /* BSD */ # define MipsSysvArchitecture # endif /* BSD */ #endif /* Mips */ #ifdef MOTOROLA # define MacroIncludeFile # define MacroFile moto.cf # undef MOTOROLA # ifdef SYSV # define MotoR3Architecture # endif # ifdef SVR4 # define MotoR4Architecture # endif #endif /* MOTOROLA */ #ifdef SVR4 # ifdef i386 # define i386Architecture # undef i386 # endif # define SVR4Architecture # define MacroIncludeFile # define MacroFile svr4.cf # undef SVR4 #endif /* SVR4 */ #ifdef SYSV # ifdef i386 # define MacroIncludeFile # define MacroFile x386.cf # define i386SVR3Architecture # undef i386 # endif #endif /* SYSV */ #ifdef SYSV386 # undef i386 # ifdef SVR4 # define i386Architecture # define SVR4Architecture # define i386SVR4Architecture # define MacroIncludeFile # define MacroFile svr4.cf # undef SVR4 # else # define MacroIncludeFile # define MacroFile x386.cf # define i386SVR3Architecture # endif #endif /* SYSV386 */ #ifdef DGUX # define MacroIncludeFile # define MacroFile DGUX.cf # undef DGUX # define DguxArchitecture #endif /* DGUX */ #ifdef __convex__ # define MacroIncludeFile # define MacroFile convex.cf # ifdef convex # undef convex # endif # define ConvexArchitecture #endif /* _convex_ */ #ifdef __osf__ # define MacroIncludeFile # define MacroFile osf1.cf # define OSF1Architecture # undef __osf__ # ifdef __mips__ # undef __mips__ # define MipsArchitecture # endif # ifdef __alpha # undef __alpha # define AlphaArchitecture # endif #endif /* __osf__ */ #ifdef Oki # define MacroIncludeFile # define MacroFile Oki.cf # undef Oki # define i860SVR4Architecture # define SVR4Architecture # undef SVR4 #endif /* Oki */ #ifdef WIN32 # define MacroIncludeFile # define MacroFile Win32.cf # define Win32Architecture #endif /* WIN32 */ #ifdef linux # define MacroIncludeFile # define MacroFile linux.cf # undef linux # define LinuxArchitecture # ifdef i386 # define i386Architecture # undef i386 # ifdef __i386__ # ifndef i386Architecture # define i386Architecture # endif # undef __i386__ # endif /* i386 */ # ifdef __alpha # define AlphaArchitecture # undef __alpha # endif /* __alpha */ #endif #endif /* linux */ #ifdef __uxp__ # define MacroIncludeFile # define MacroFile fujitsu.cf # define FujitsuArchitecture # undef __uxp__ # define UXPArchitecture # define SVR4Architecture # ifdef sparc # undef sparc # define SparcArchitecture # endif #endif /* __uxp__ */ #ifdef __sxg__ # define MacroIncludeFile # define MacroFile fujitsu.cf # define FujitsuArchitecture # undef __sxg__ # define mc68000Architecture #endif /* __sxg__ */ #if defined(sequent) || defined(_SEQUENT_) # define MacroIncludeFile # define MacroFile sequent.cf # ifdef sequent # undef sequent # define Dynix3Architecture # endif # ifdef _SEQUENT_ # undef _SEQUENT_ # define DynixPtxArchitecture # endif # define SequentArchitecture #endif #if defined(_nec_ews_svr4) || defined(nec_ews_svr4) || defined(nec_ews_svr2) || defined(SX) || defined(_nec_up) || defined(_nec_ft) || defined(PC_UX) # ifdef nec # undef nec # endif # define MacroIncludeFile # define MacroFile nec.cf # define NecArchitecture #endif #ifndef MacroIncludeFile XCOMM WARNING: Imake.cf not configured; guessing at definitions!!! XCOMM This might mean that BOOTSTRAPCFLAGS was not set when building imake. #define MacroIncludeFile #define MacroFile generic.cf #endif