home *** CD-ROM | disk | FTP | other *** search
- XCOMM $TOG: Imake.cf /main/28 1997/06/25 08:31:36 barstow $
- XCOMM $XFree86: xc/config/cf/Imake.cf,v 3.34.2.14 1999/07/29 09:22:23 hohndel Exp $
- /*
- * 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.
- */
-
- #if defined(clipper) || defined(__clipper__)
- # undef clipper
- # define MacroIncludeFile <ingr.cf>
- # define MacroFile ingr.cf
- # define IngrArchitecture
- #endif /* clipper */
-
- #ifdef ultrix
- # define MacroIncludeFile <ultrix.cf>
- # 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) && !defined(__NetBSD__)
- # define MacroIncludeFile <bsd.cf>
- # define MacroFile bsd.cf
- # undef vax
- # define BSDArchitecture
- # define VaxArchitecture
- #endif /* vax */
-
- #ifdef bsdi
- # define MacroIncludeFile <bsdi.cf>
- # define MacroFile bsdi.cf
- # undef bsdi
- # define BSD386Architecture
- # define i386BsdArchitecture
- # define i386Architecture
- # undef i386
- #endif /* bsdi */
-
- #ifdef __OpenBSD__
- # undef __OpenBSD__
- # undef __NetBSD__
- # define OpenBSDArchitecture
- # define MacroIncludeFile <OpenBSD.cf>
- # define MacroFile OpenBSD.cf
- # ifdef __i386__
- # define i386BsdArchitecture
- # define i386Architecture
- # undef i386
- # endif
- # if defined(__sparc__) || defined(sparc)
- # define SparcArchitecture
- # undef sparc
- # endif
- # ifdef mips
- # define MipsArchitecture
- # ifdef arc
- # define ArcArchitecture
- # undef arc
- # endif
- # ifdef pmax
- # define PmaxArchitecture
- # undef pmax
- # endif
- # undef mips
- # endif
- # ifdef __alpha__
- # define AlphaArchitecture
- # undef __alpha__
- # endif
- # ifdef mc68020
- # define Mc68020Architecture
- # if defined(amiga)
- # define AmigaArchitecture
- # undef amiga
- # endif
- # if defined(hp300)
- # define Hp300Architecture
- # undef hp300
- # endif
- # if defined(mac68k)
- # define Mac68kArchitecture
- # undef mac68k
- # endif
- # if defined(mvme68k)
- # define Mvme68kArchitecture
- # undef mvme68k
- # endif
- # if defined(sun3)
- # define Sun3Architecture
- # undef sun3
- # endif
- # undef mc68000
- # endif
- #endif /* OpenBSD */
-
- #ifdef __NetBSD__
- # define MacroIncludeFile <NetBSD.cf>
- # 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
- # ifdef mips
- # define MipsArchitecture
- # define ArcArchitecture
- # undef mips
- # endif
- # ifdef __alpha__
- # define AlphaArchitecture
- # undef __alpha__
- # endif
- # ifdef mc68000
- # define Mc68020Architecture
- # undef mc68000
- # endif
- # if defined(arm32) || defined(__arm32__)
- # define Arm32Architecture
- # undef arm32
- # undef __arm32__
- # endif
- #endif /* NetBSD */
-
- #ifdef __FreeBSD__
- # define MacroIncludeFile <FreeBSD.cf>
- # 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 <Amoeba.cf>
- # 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 <sun.cf>
- # 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 <hp.cf>
- # define MacroFile hp.cf
- # undef hpux
- # define HPArchitecture
- #endif /* hpux */
-
- #ifdef sco
- # define MacroIncludeFile <sco5.cf>
- # define MacroFile sco5.cf
- # undef sco
- # undef USL
- # undef SYSV
- # undef i386
- # undef SCO
- # undef SVR4
- # define i386Architecture
- # define SCOArchitecture
- # define i386SVR3Architecture
- # define SVR3Architecture
- # define i386ScoArchitecture
- # define i386Sco325Architecture
- #endif /* sco - SCO Open Server 5 */
-
- #ifdef USL
- # define MacroIncludeFile <usl.cf>
- # define MacroFile usl.cf
- # undef USL
- # undef SVR4
- # undef i386
- # define SVR4Architecture
- # define i386Architecture
- # define USLArchitecture
- #endif /* USL */
-
- #ifdef NCR
- # define MacroIncludeFile <ncr.cf>
- # define MacroFile ncr.cf
- # undef NCR
- # undef SVR4
- # undef i386
- # define SVR4Architecture
- # define i386Architecture
- # define NCRArchitecture
- #endif /* NCR */
-
- #ifdef apollo
- # define MacroIncludeFile <apollo.cf>
- # define MacroFile apollo.cf
- # undef apollo
- # define ApolloArchitecture
- #endif /* apollo */
-
- #ifdef sony
- # define MacroIncludeFile <sony.cf>
- # 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 <pegasus.cf>
- # define MacroFile pegasus.cf
- # undef M4310
- # define PegasusArchitecture
- #endif /* M4310 */
-
- #ifdef M4330
- # define MacroIncludeFile <m4330.cf>
- # define MacroFile m4330.cf
- # undef M4330
- # define M4330Architecture
- #endif /* M4330 */
-
- #ifdef macII
- # define MacroIncludeFile <macII.cf>
- # define MacroFile macII.cf
- # undef macII
- # define MacIIArchitecture
- #endif /* macII */
-
- #ifdef _CRAY
- # define MacroIncludeFile <cray.cf>
- # define MacroFile cray.cf
- # undef cray
- # undef CRAY
- # undef CRAY1
- # undef CRAY2
- # undef YMP
- # define CrayArchitecture
- #endif /* _CRAY */
-
- #ifdef sgi
- # define MacroIncludeFile <sgi.cf>
- # 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 <stellar.cf>
- # define MacroFile stellar.cf
- # undef stellar
- # define StellarArchitecture
- #endif /* stellar */
-
- #if defined(ibm) || defined(_IBMR2) || defined(ibm032) || defined(aix)
- # define MacroIncludeFile <ibm.cf>
- # 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 <luna.cf>
- # define MacroFile luna.cf
- # define LunaArchitecture
- # ifdef mc68000
- # undef mc68000
- # define Mc68000Architecture
- # else
- # undef mc88000
- # define Mc88000Architecture
- # endif
- #endif /* luna */
-
- #ifdef Mips
- # define MacroIncludeFile <Mips.cf>
- # 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 <moto.cf>
- # define MacroFile moto.cf
- # undef MOTOROLA
- # ifdef SYSV
- # define MotoR3Architecture
- # endif
- # ifdef SVR4
- # define MotoR4Architecture
- # endif
- #endif /* MOTOROLA */
-
- #if defined(SVR4) && !defined(DGUX)
- # ifdef i386
- # define i386Architecture
- # undef i386
- # endif
- # ifdef PC98
- # define PANIX98Architecture
- # undef PC98
- # endif
- # define SVR4Architecture
- # define MacroIncludeFile <svr4.cf>
- # define MacroFile svr4.cf
- # undef SVR4
- #endif /* SVR4 */
-
- #ifdef SYSV
- # ifdef i386
- # undef i386
- # ifdef ISC
- # define i386Architecture
- # define i386SVR3Architecture
- # define MacroIncludeFile <isc.cf>
- # define MacroFile isc.cf
- # define i386IscArchitecture
- # undef ISC
- # ifdef ISC202
- # define IscVersion 202
- # undef ISC202
- # else
- # ifdef ISC30
- # define IscVersion 300
- # undef ISC30
- # else
- # ifdef ISC40
- # define IscVersion 400
- # undef ISC40
- # else
- # define IscVersion 221
- # endif /* ISC40 */
- # endif /* ISC30 */
- # endif /* ISC202 */
- # endif /* ISC */
- # ifndef MacroFile
- # define i386SVR3Architecture
- # define MacroIncludeFile <x386.cf>
- # define MacroFile x386.cf
- # endif /* MacroFile */
- # endif /* i386 */
- #endif /* SYSV */
-
- /* SYSV386 is here for backward compatibility only */
- #ifdef SYSV386
- # undef i386
- # ifdef SVR4
- # define i386Architecture
- # define SVR4Architecture
- # define i386SVR4Architecture
- # define MacroIncludeFile <svr4.cf>
- # define MacroFile svr4.cf
- # undef SVR4
- # else /* ! SVR4 */
- # ifdef ISC
- # define i386Architecture
- # define i386SVR3Architecture
- # define MacroIncludeFile <isc.cf>
- # define MacroFile isc.cf
- # define i386IscArchitecture
- # undef ISC
- # ifdef ISC202
- # define IscVersion 202
- # undef ISC202
- # else
- # ifdef ISC30
- # define IscVersion 300
- # undef ISC30
- # else
- # ifdef ISC40
- # define IscVersion 400
- # undef ISC40
- # else
- # define IscVersion 221
- # endif /* ISC40 */
- # endif /* ISC30 */
- # endif /* ISC202 */
- # endif /* ISC */
- # ifndef MacroFile
- # define i386SVR3Architecture
- # define MacroIncludeFile <x386.cf>
- # define MacroFile x386.cf
- # endif /* MacroFile */
- # endif /* ! SVR4 */
- #endif /* SYSV386 */
-
- #ifdef DGUX
- # define i386Architecture
- # define SVR4Architecture
- # define MacroIncludeFile <DGUX.cf>
- # define MacroFile DGUX.cf
- # undef DGUX
- # define DguxArchitecture
- #endif /* DGUX */
-
- #ifdef __convex__
- # define MacroIncludeFile <convex.cf>
- # define MacroFile convex.cf
- # ifdef convex
- # undef convex
- # endif
- # define ConvexArchitecture
- #endif /* _convex_ */
-
- #ifdef __osf__
- # define MacroIncludeFile <osf1.cf>
- # 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 <Oki.cf>
- # define MacroFile Oki.cf
- # undef Oki
- # define i860SVR4Architecture
- # define SVR4Architecture
- # undef SVR4
- #endif /* Oki */
-
- #ifdef WIN32
- # define MacroIncludeFile <Win32.cf>
- # define MacroFile Win32.cf
- # define Win32Architecture
- #endif /* WIN32 */
-
- #ifdef linux
- # define MacroIncludeFile <linux.cf>
- # define MacroFile linux.cf
- # undef linux
- # define LinuxArchitecture
- # ifdef i386
- # define i386Architecture
- # undef i386
- # endif /* i386 */
- # ifdef __i386__
- # ifndef i386Architecture
- # define i386Architecture
- # endif
- # undef __i386__
- # endif /* __i386__ */
- # ifdef __alpha
- # define AlphaArchitecture
- # undef __alpha
- # endif /* __alpha */
- # ifdef __alpha__
- # define AlphaArchitecture
- # undef __alpha__
- # endif /* __alpha__ */
- # ifdef mc68000
- # define Mc68020Architecture
- # undef mc68000
- # endif /* mc68000 */
- # ifdef powerpc
- # define PowerPCArchitecture
- # undef powerpc
- # endif
- # if defined(arm) || defined(__arm__)
- # define ArmArchitecture
- # undef arm
- # undef __arm__
- # if defined(__ARM_ARCH_4__)
- # define Arm4Architecture
- # define Arm32Architecture
- # undef __ARM_ARCH_4__
- # endif
- # if defined(__ARM_ARCH_3__)
- # define Arm3Architecture
- # undef __ARM_ARCH_3__
- # endif
- # endif
- #endif /* linux */
-
- #if (defined(__Lynx__) || defined(Lynx)) && (defined(i386) || defined(__i386__) || defined(__x86__) || defined(__powerpc__) || defined(__sparc__) || defined(sparc))
- # define MacroIncludeFile <lynx.cf>
- # define MacroFile lynx.cf
- # define LynxOSArchitecture
- # undef __Lynx__
- # undef Lynx
- # undef lynx
- # if defined(i386) || defined(__i386__) || defined(__x86__)
- # define i386Architecture
- # undef i386
- # undef __i386__
- # undef __x86__
- # endif
- # ifdef __powerpc__
- # define ppcArchitecture
- # undef __powerpc__
- # endif
- # if defined(sparc) || defined(__sparc__)
- # define SparcArchitecture
- # undef sparc
- # undef __sparc__
- # endif
- #endif /* LynxOS AT/PPC/microSPARC */
-
- #ifdef __uxp__
- # define MacroIncludeFile <fujitsu.cf>
- # 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 <fujitsu.cf>
- # define MacroFile fujitsu.cf
- # define FujitsuArchitecture
- # undef __sxg__
- # define mc68000Architecture
- #endif /* __sxg__ */
-
- #if defined(sequent) || defined(_SEQUENT_)
- # define MacroIncludeFile <sequent.cf>
- # 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 <nec.cf>
- # define MacroFile nec.cf
- # define NecArchitecture
- #endif
-
- #ifdef minix
- #define MacroIncludeFile <minix.cf>
- #define MacroFile minix.cf
- #undef minix
- #define MinixArchitecture
- #define i386Architecture
- #endif /* minix */
-
- #ifdef MACH
- #ifdef __GNU__
- #define MacroIncludeFile <gnu.cf>
- #define MacroFile gnu.cf
- #define GNUMachArchitecture
- #else
- #define MacroIncludeFile <mach.cf>
- #define MacroFile mach.cf
- #endif
- #undef MACH
- #ifdef i386
- #define i386MachArchitecture
- #define i386Architecture
- #endif /* i386 */
- #undef i386
- #endif /* MACH */
-
- #ifdef emxos2
- #define MacroIncludeFile <os2.cf>
- #define MacroFile os2.cf
- #define OS2Architecture
- #define i386Architecture
- #endif /* emxos2 */
-
- #if defined(__QNX__) && !defined(__QNXNTO__)
- #define MacroIncludeFile <QNX.cf>
- #define MacroFile QNX.cf
- #define QNXArchitecture
- #define i386Architecture
- #endif /* QNX4 */
-
- #ifdef __QNXNTO__
- #define MacroIncludeFile <nto.cf>
- #define MacroFile nto.cf
- #define NTOArchitecture
- #ifdef PPC
- # define PPCArchitecture
- # undef PPC
- #else
- #ifdef MIPS
- # define mipsArchitecture
- # undef MIPS
- #else
- #ifdef i386
- # define i386Architecture
- # undef i386
- #endif
- #endif
- #endif
- #endif /* QNX/Neutrino */
-
- #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 <generic.cf>
- #define MacroFile generic.cf
- #endif
-