mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-28 01:29:20 +00:00
5b0f0cc134
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
114 lines
3.5 KiB
C
114 lines
3.5 KiB
C
/*
|
|
File: ConditionalMacros.h
|
|
|
|
Contains: Compile time feature switches to achieve platform independent sources.
|
|
|
|
Written by: Dean Yu
|
|
|
|
Copyright: © 1993 by Apple Computer, Inc., all rights reserved
|
|
|
|
Change History (most recent first):
|
|
|
|
<2> 6/7/93 EPT More ProcPtr/UPP work.
|
|
<1> 4/15/93 DTY first checked in
|
|
*/
|
|
|
|
#ifndef __CONDITIONALMACROS__
|
|
#define __CONDITIONALMACROS__
|
|
|
|
/*
|
|
Defaults
|
|
*/
|
|
|
|
#ifndef SystemSevenOrLater
|
|
#define SystemSevenOrLater 0
|
|
#endif
|
|
|
|
#ifndef SystemSixOrLater
|
|
#define SystemSixOrLater SystemSevenOrLater
|
|
#endif
|
|
|
|
#ifndef USES68KINLINES
|
|
#define USES68KINLINES 1
|
|
#endif
|
|
|
|
#ifndef USES601INLINES
|
|
#define USES601INLINES 0
|
|
#endif
|
|
|
|
#ifndef USESx86INLINES
|
|
#define USESx86INLINES 0
|
|
#endif
|
|
|
|
#ifndef USESROUTINEDESCRIPTORS
|
|
#define USESROUTINEDESCRIPTORS !USES68KINLINES
|
|
#endif
|
|
|
|
#ifndef USESCODEFRAGMENTS
|
|
#define USESCODEFRAGMENTS !USES68KINLINES
|
|
#endif
|
|
|
|
/*
|
|
The following macros isolate the use of inlines from the routine prototypes.
|
|
A routine prototype will always be followed by on of these inline macros with
|
|
a list of the opcodes to be inlined. On the 68K side, the appropriate inline
|
|
code will be generated. On platforms that use code fragments, the macros are
|
|
essentially NOPs.
|
|
*/
|
|
|
|
//#pragma push
|
|
//#pragma skipping on
|
|
#if USES68KINLINES & !USESCODEFRAGMENTS
|
|
|
|
#define ONEWORDINLINE(trapNum) = trapNum;
|
|
#define TWOWORDINLINE(firstWord, secondWord) = {firstWord, secondWord};
|
|
#define THREEWORDINLINE(firstWord, secondWord, thirdWord) = {firstWord, \
|
|
secondWord, \
|
|
thirdWord};
|
|
#define FOURWORDINLINE(firstWord, secondWord, thirdWord, fourthWord) = {firstWord, \
|
|
secondWord, \
|
|
thirdWord, \
|
|
fourthWord};
|
|
#define FIVEWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord) = \
|
|
{firstWord, \
|
|
secondWord, \
|
|
thirdWord, \
|
|
fourthWord, \
|
|
fifthWord};
|
|
#define SIXWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord) = \
|
|
{firstWord, \
|
|
secondWord, \
|
|
thirdWord, \
|
|
fourthWord, \
|
|
fifthWord, \
|
|
sixthWord};
|
|
#define SEVENWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventhWord) = \
|
|
{firstWord, \
|
|
secondWord, \
|
|
thirdWord, \
|
|
fourthWord, \
|
|
fifthWord, \
|
|
sixthWord, \
|
|
seventhWord};
|
|
#define EIGHTWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventWord, eighthWord) = \
|
|
{firstWord, \
|
|
secondWord, \
|
|
thirdWord, \
|
|
fourthWord, \
|
|
fifthWord, \
|
|
sixthWord, \
|
|
seventhWord, \
|
|
eighthWord};
|
|
#else
|
|
#define ONEWORDINLINE(trapNum) ;
|
|
#define TWOWORDINLINE(firstWord, secondWord) ;
|
|
#define THREEWORDINLINE(firstWord, secondWord, thirdWord) ;
|
|
#define FOURWORDINLINE(firstWord, secondWord, thirdWord, fourthWord) ;
|
|
#define FIVEWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord) ;
|
|
#define SIXWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord) ;
|
|
#define SEVENWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventWord) ;
|
|
#define EIGHTWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventWord, eighthWord) ;
|
|
#endif
|
|
//#pragma pop
|
|
|
|
#endif |