Annotation of kernel/bsd/dev/ppc/drvUSBCMD/conditionalmacros.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
        !             3:  *
        !             4:  * @APPLE_LICENSE_HEADER_START@
        !             5:  * 
        !             6:  * Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
        !             7:  * Reserved.  This file contains Original Code and/or Modifications of
        !             8:  * Original Code as defined in and that are subject to the Apple Public
        !             9:  * Source License Version 1.1 (the "License").  You may not use this file
        !            10:  * except in compliance with the License.  Please obtain a copy of the
        !            11:  * License at http://www.apple.com/publicsource and read it before using
        !            12:  * this file.
        !            13:  * 
        !            14:  * The Original Code and all software distributed under the License are
        !            15:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
        !            16:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
        !            17:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
        !            18:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
        !            19:  * License for the specific language governing rights and limitations
        !            20:  * under the License.
        !            21:  * 
        !            22:  * @APPLE_LICENSE_HEADER_END@
        !            23:  */
        !            24: 
        !            25: /*
        !            26:        File:           ConditionalMacros.h
        !            27:  
        !            28:        Contains:       Set up for compiler independent conditionals
        !            29:  
        !            30:        Version:        Universal Interface Files 3.2
        !            31:  
        !            32:        DRI:            Nick Kledzik
        !            33:  
        !            34:        Copyright:      � 1993-1998 by Apple Computer, Inc., all rights reserved
        !            35:  
        !            36:        Warning:        *** APPLE INTERNAL USE ONLY ***
        !            37:                                This file may contain unreleased API's
        !            38:  
        !            39:        BuildInfo:      Built by:                       Naga Pappireddi
        !            40:                                With Interfacer:        3.0d9 (PowerPC native)
        !            41:                                From:                           ConditionalMacros.i
        !            42:                                        Revision:               102
        !            43:                                        Dated:                  9/2/98
        !            44:                                        Last change by: GW
        !            45:                                        Last comment:   (Really johng) BlueBox builds on Rhapsody need TARGET_OS_MAC,
        !            46:  
        !            47:        Bugs:           Report bugs to Radar component "System Interfaces", "Latest"
        !            48:                                List the version information (from above) in the Problem Description.
        !            49:  
        !            50: */
        !            51: #ifndef __CONDITIONALMACROS__
        !            52: #define __CONDITIONALMACROS__
        !            53: 
        !            54: /****************************************************************************************************
        !            55:        UNIVERSAL_INTERFACES_VERSION
        !            56:        
        !            57:                0x0320 => version 3.2
        !            58:                0x0310 => version 3.1
        !            59:                0x0301 => version 3.0.1
        !            60:                0x0300 => version 3.0
        !            61:                0x0210 => version 2.1
        !            62:                This conditional did not exist prior to version 2.1
        !            63: ****************************************************************************************************/
        !            64: #define UNIVERSAL_INTERFACES_VERSION 0x0320
        !            65: 
        !            66: /****************************************************************************************************
        !            67: 
        !            68:        TARGET_CPU_�    
        !            69:        These conditionals specify which microprocessor instruction set is being
        !            70:        generated.  At most one of these is true, the rest are false.
        !            71: 
        !            72:                TARGET_CPU_PPC                  - Compiler is generating PowerPC instructions
        !            73:                TARGET_CPU_68K                  - Compiler is generating 680x0 instructions
        !            74:                TARGET_CPU_X86                  - Compiler is generating x86 instructions
        !            75:                TARGET_CPU_MIPS                 - Compiler is generating MIPS instructions
        !            76:                TARGET_CPU_SPARC                - Compiler is generating Sparc instructions
        !            77:                TARGET_CPU_ALPHA                - Compiler is generating Dec Alpha instructions
        !            78: 
        !            79: 
        !            80:        TARGET_OS_�     
        !            81:        These conditionals specify in which Operating System the generated code will
        !            82:        run. At most one of the these is true, the rest are false.
        !            83: 
        !            84:                TARGET_OS_MAC                   - Generate code will run under Mac OS
        !            85:                TARGET_OS_WIN32                 - Generate code will run under 32-bit Windows
        !            86:                TARGET_OS_UNIX                  - Generate code will run under some unix 
        !            87: 
        !            88: 
        !            89:        TARGET_RT_�     
        !            90:        These conditionals specify in which runtime the generated code will
        !            91:        run. This is needed when the OS and CPU support more than one runtime
        !            92:        (e.g. MacOS on 68K supports CFM68K and Classic 68k).
        !            93: 
        !            94:                TARGET_RT_LITTLE_ENDIAN - Generated code uses little endian format for integers
        !            95:                TARGET_RT_BIG_ENDIAN    - Generated code uses big endian format for integers    
        !            96:                TARGET_RT_MAC_CFM               - TARGET_OS_MAC is true and CFM68K or PowerPC CFM being used    
        !            97:                TARGET_RT_MAC_68881             - TARGET_OS_MAC is true and 68881 floating point instructions used      
        !            98: 
        !            99: 
        !           100:        PRAGMA_�
        !           101:        These conditionals specify whether the compiler supports particular #pragma's
        !           102:        
        !           103:                PRAGMA_IMPORT                   - Compiler supports: #pragma import on/off/reset
        !           104:                PRAGMA_ONCE                     - Compiler supports: #pragma once
        !           105:                PRAGMA_STRUCT_ALIGN     - Compiler supports: #pragma options align=mac68k/power/reset
        !           106:                PRAGMA_STRUCT_PACK              - Compiler supports: #pragma pack(n)
        !           107:                PRAGMA_STRUCT_PACKPUSH  - Compiler supports: #pragma pack(push, n)/pack(pop)
        !           108:                PRAGMA_ENUM_PACK                - Compiler supports: #pragma options(!pack_enums)
        !           109:                PRAGMA_ENUM_ALWAYSINT   - Compiler supports: #pragma enumsalwaysint on/off/reset
        !           110:                PRAGMA_ENUM_OPTIONS             - Compiler supports: #pragma options enum=int/small/reset
        !           111: 
        !           112:        FOUR_CHAR_CODE
        !           113:        This conditional does the proper byte swapping to assue that a four character code (e.g. 'TEXT')
        !           114:        is compiled down to the correct value on all compilers.
        !           115: 
        !           116:                FOUR_CHAR_CODE('abcd')  - Convert a four-char-code to the correct 32-bit value
        !           117: 
        !           118:        TYPE_�
        !           119:        These conditionals specify whether the compiler supports particular types.
        !           120: 
        !           121:                TYPE_LONGLONG                   - Compiler supports "long long" 64-bit integers
        !           122:                TYPE_BOOL                               - Compiler supports "bool"
        !           123:                TYPE_EXTENDED                   - Compiler supports "extended" 80/96 bit floating point
        !           124: 
        !           125: ****************************************************************************************************/
        !           126: 
        !           127: #if defined(__MRC__)
        !           128:        /*
        !           129:                MrC[pp] compiler from Apple Computer, Inc.
        !           130:        */
        !           131:        #define TARGET_CPU_PPC                          1
        !           132:        #define TARGET_CPU_68K                          0
        !           133:        #define TARGET_CPU_X86                          0
        !           134:        #define TARGET_CPU_MIPS                         0
        !           135:        #define TARGET_CPU_SPARC                        0               
        !           136:        #define TARGET_CPU_ALPHA                        0
        !           137:        #define TARGET_OS_MAC                           1
        !           138:        #define TARGET_OS_WIN32                         0
        !           139:        #define TARGET_OS_UNIX                          0
        !           140:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           141:        #define TARGET_RT_BIG_ENDIAN            1
        !           142:        #define TARGET_RT_MAC_CFM                       1
        !           143:        #define TARGET_RT_MAC_68881                     0
        !           144:        #if (__MRC__  > 0x0200) && (__MRC__ < 0x0700)
        !           145:                #define PRAGMA_IMPORT                   1
        !           146:        #else
        !           147:                #define PRAGMA_IMPORT                   0
        !           148:        #endif
        !           149:        #define PRAGMA_STRUCT_ALIGN                     1
        !           150:        #define PRAGMA_ONCE                                     1
        !           151:        #define PRAGMA_STRUCT_PACK                      0
        !           152:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           153:        #define PRAGMA_ENUM_PACK                        1
        !           154:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           155:        #define PRAGMA_ENUM_OPTIONS                     0
        !           156:        #define FOUR_CHAR_CODE(x)                       (x)
        !           157:                
        !           158:        #if (__MRC__  > 0x0300) && (__MRC__ < 0x0700)
        !           159:                #if __option(longlong)
        !           160:                        #define TYPE_LONGLONG           1
        !           161:                #else
        !           162:                        #define TYPE_LONGLONG           0
        !           163:                #endif
        !           164:                #if __option(bool)
        !           165:                        #define TYPE_BOOL                       1
        !           166:                #else
        !           167:                        #define TYPE_BOOL                       0
        !           168:                #endif
        !           169:        #else
        !           170:                #define TYPE_LONGLONG                   0
        !           171:                #define TYPE_BOOL                               0
        !           172:        #endif
        !           173:        #define TYPE_EXTENDED                           0
        !           174:        
        !           175: 
        !           176: 
        !           177: #elif defined(__SC__) && (defined(MPW_CPLUS) || defined(MPW_C))
        !           178:        /*
        !           179:                SC[pp] compiler from Apple Computer, Inc.
        !           180:        */
        !           181:        #define TARGET_CPU_PPC                          0
        !           182:        #define TARGET_CPU_68K                          1
        !           183:        #define TARGET_CPU_X86                          0
        !           184:        #define TARGET_CPU_MIPS                         0
        !           185:        #define TARGET_CPU_SPARC                        0               
        !           186:        #define TARGET_CPU_ALPHA                        0
        !           187:        #define TARGET_OS_MAC                           1
        !           188:        #define TARGET_OS_WIN32                         0
        !           189:        #define TARGET_OS_UNIX                          0
        !           190:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           191:        #define TARGET_RT_BIG_ENDIAN            1
        !           192:        #if defined(__CFM68K__)
        !           193:                #define TARGET_RT_MAC_CFM               1
        !           194:        #else
        !           195:                #define TARGET_RT_MAC_CFM               0
        !           196:        #endif
        !           197:        #if defined(mc68881)
        !           198:                #define TARGET_RT_MAC_68881             1
        !           199:        #else
        !           200:                #define TARGET_RT_MAC_68881             0
        !           201:        #endif
        !           202:        #if TARGET_RT_MAC_CFM 
        !           203:                #define PRAGMA_IMPORT                   1
        !           204:                #if (__SC__ <= 0x0810)
        !           205:                        /* old versions of SC don't support �#pragma import reset� */
        !           206:                        #define PRAGMA_IMPORT_OFF       1
        !           207:                #endif
        !           208:        #else
        !           209:                #define PRAGMA_IMPORT                   0
        !           210:        #endif
        !           211:        #if (__SC__  >= 0x0801)
        !           212:                #define PRAGMA_STRUCT_ALIGN             1
        !           213:        #else
        !           214:                #define PRAGMA_STRUCT_ALIGN             0
        !           215:        #endif
        !           216:        #define PRAGMA_ONCE                                     0
        !           217:        #define PRAGMA_STRUCT_PACK                      0
        !           218:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           219:        #define PRAGMA_ENUM_PACK                        1
        !           220:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           221:        #define PRAGMA_ENUM_OPTIONS                     0
        !           222:        #define FOUR_CHAR_CODE(x)                       (x)
        !           223:        
        !           224:        #define TYPE_LONGLONG                           0
        !           225:        #define TYPE_EXTENDED                           1
        !           226:        #if (__SC__  > 0x0810)
        !           227:                #if __option(bool)
        !           228:                        #define TYPE_BOOL                       1
        !           229:                #else
        !           230:                        #define TYPE_BOOL                       0
        !           231:                #endif
        !           232:        #else
        !           233:                #define TYPE_BOOL                               0
        !           234:        #endif
        !           235:                
        !           236: 
        !           237: 
        !           238: #elif defined(__MWERKS__)
        !           239:        /*
        !           240:                CodeWarrior compiler from Metrowerks, Inc.
        !           241:        */
        !           242:        #if (__MWERKS__ < 0x0900) || macintosh
        !           243:                #define TARGET_OS_MAC                           1
        !           244:                #define TARGET_OS_WIN32                         0
        !           245:                #define TARGET_OS_UNIX                          0
        !           246:                #define TARGET_CPU_X86                          0
        !           247:                #define TARGET_CPU_MIPS                         0
        !           248:                #define TARGET_CPU_SPARC                        0               
        !           249:                #define TARGET_CPU_ALPHA                        0
        !           250:                #define TARGET_RT_LITTLE_ENDIAN         0
        !           251:                #define TARGET_RT_BIG_ENDIAN            1
        !           252:                #if powerc
        !           253:                        #define TARGET_CPU_PPC                  1
        !           254:                        #define TARGET_CPU_68K                  0
        !           255:                        #define TARGET_RT_MAC_CFM               1
        !           256:                        #define TARGET_RT_MAC_68881             0
        !           257:                #else
        !           258:                        #define TARGET_CPU_PPC                  0
        !           259:                        #define TARGET_CPU_68K                  1
        !           260:                        #if defined(__CFM68K__)
        !           261:                                #define TARGET_RT_MAC_CFM       1
        !           262:                        #else
        !           263:                                #define TARGET_RT_MAC_CFM       0
        !           264:                        #endif
        !           265:                        #if __MC68881__
        !           266:                                #define TARGET_RT_MAC_68881     1
        !           267:                        #else
        !           268:                                #define TARGET_RT_MAC_68881     0
        !           269:                        #endif
        !           270:                #endif
        !           271:                #define PRAGMA_ONCE                                     1
        !           272:                #if (__MWERKS__ >= 0x0700)
        !           273:                        #define PRAGMA_IMPORT                   TARGET_RT_MAC_CFM
        !           274:                #else
        !           275:                        #define PRAGMA_IMPORT                   0
        !           276:                #endif
        !           277:                #define PRAGMA_STRUCT_ALIGN                     1
        !           278:                #define PRAGMA_STRUCT_PACK                      0
        !           279:                #define PRAGMA_STRUCT_PACKPUSH          0
        !           280:                #define PRAGMA_ENUM_PACK                        0
        !           281:                #define PRAGMA_ENUM_ALWAYSINT           1
        !           282:                #define PRAGMA_ENUM_OPTIONS                     0
        !           283:                #define FOUR_CHAR_CODE(x)                       (x)
        !           284: 
        !           285:        
        !           286:        #elif (__MWERKS__ >= 0x0900) && __INTEL__
        !           287:                #define TARGET_CPU_PPC                          0
        !           288:                #define TARGET_CPU_68K                          0
        !           289:                #define TARGET_CPU_X86                          1
        !           290:                #define TARGET_CPU_MIPS                         0
        !           291:                #define TARGET_CPU_SPARC                        0               
        !           292:                #define TARGET_CPU_ALPHA                        0
        !           293:                #define TARGET_OS_MAC                           0
        !           294:                #define TARGET_OS_WIN32                         1
        !           295:                #define TARGET_OS_UNIX                          0
        !           296:                #define TARGET_RT_LITTLE_ENDIAN         1
        !           297:                #define TARGET_RT_BIG_ENDIAN            0
        !           298:                #define TARGET_RT_MAC_CFM                       0
        !           299:                #define TARGET_RT_MAC_68881                     0
        !           300:                #define PRAGMA_ONCE                                     1
        !           301:                #define PRAGMA_IMPORT                           0
        !           302:                #define PRAGMA_STRUCT_ALIGN                     0
        !           303:                #define PRAGMA_STRUCT_PACK                      1
        !           304:                #define PRAGMA_STRUCT_PACKPUSH          1
        !           305:                #define PRAGMA_ENUM_PACK                        0
        !           306:                #define PRAGMA_ENUM_ALWAYSINT           1
        !           307:                #define PRAGMA_ENUM_OPTIONS                     0
        !           308:                #define FOUR_CHAR_CODE(x)                       (x)
        !           309: 
        !           310: 
        !           311:        #elif (__MWERKS__ >= 0x1900) && __MIPS__
        !           312:                #define TARGET_CPU_PPC                          0
        !           313:                #define TARGET_CPU_68K                          0
        !           314:                #define TARGET_CPU_X86                          0
        !           315:                #define TARGET_CPU_MIPS                         1
        !           316:                #define TARGET_CPU_SPARC                        0               
        !           317:                #define TARGET_CPU_ALPHA                        0
        !           318:                #define TARGET_OS_MAC                           0
        !           319:                #define TARGET_OS_WIN32                         0
        !           320:                #define TARGET_OS_UNIX                          1
        !           321:                #if __option(little_endian)
        !           322:                        #define TARGET_RT_LITTLE_ENDIAN 1
        !           323:                        #define TARGET_RT_BIG_ENDIAN    0
        !           324:                #else
        !           325:                        #define TARGET_RT_LITTLE_ENDIAN 0
        !           326:                        #define TARGET_RT_BIG_ENDIAN    1
        !           327:                #endif
        !           328:                #define TARGET_RT_MAC_CFM                       0
        !           329:                #define TARGET_RT_MAC_68881                     0
        !           330:                #define PRAGMA_ONCE                                     1
        !           331:                #define PRAGMA_IMPORT                           0
        !           332:                #define PRAGMA_STRUCT_ALIGN                     0
        !           333:                #define PRAGMA_STRUCT_PACK                      1
        !           334:                #define PRAGMA_STRUCT_PACKPUSH          0
        !           335:                #define PRAGMA_ENUM_PACK                        0
        !           336:                #define PRAGMA_ENUM_ALWAYSINT           1
        !           337:                #define PRAGMA_ENUM_OPTIONS                     0
        !           338:                #define FOUR_CHAR_CODE(x)                       (x)
        !           339:        
        !           340: 
        !           341: 
        !           342:        #elif (__MWERKS__ >= 0x2110) && NeXT
        !           343:                #define TARGET_CPU_PPC                          1
        !           344:                #define TARGET_CPU_68K                          0
        !           345:                #define TARGET_CPU_X86                          0
        !           346:                #define TARGET_CPU_MIPS                         0
        !           347:                #define TARGET_CPU_SPARC                        0               
        !           348:                #define TARGET_CPU_ALPHA                        0
        !           349:                #define TARGET_OS_MAC                           0
        !           350:                #define TARGET_OS_WIN32                         0
        !           351:                #define TARGET_OS_UNIX                          1
        !           352:                #if __option(little_endian)
        !           353:                        #define TARGET_RT_LITTLE_ENDIAN 1
        !           354:                        #define TARGET_RT_BIG_ENDIAN    0
        !           355:                #else
        !           356:                        #define TARGET_RT_LITTLE_ENDIAN 0
        !           357:                        #define TARGET_RT_BIG_ENDIAN    1
        !           358:                #endif
        !           359:                #define TARGET_RT_MAC_CFM                       0
        !           360:                #define TARGET_RT_MAC_68881                     0
        !           361:                #define PRAGMA_ONCE                                     1
        !           362:                #define PRAGMA_IMPORT                           0
        !           363:                #define PRAGMA_STRUCT_ALIGN                     0
        !           364:                #define PRAGMA_STRUCT_PACK                      1
        !           365:                #define PRAGMA_STRUCT_PACKPUSH          0
        !           366:                #define PRAGMA_ENUM_PACK                        0
        !           367:                #define PRAGMA_ENUM_ALWAYSINT           1
        !           368:                #define PRAGMA_ENUM_OPTIONS                     0
        !           369:                #define FOUR_CHAR_CODE(x)                       (x)
        !           370: 
        !           371: 
        !           372:                #define forCarbon                                       1
        !           373: 
        !           374: 
        !           375:        #else   
        !           376:                #error unknown Metrowerks compiler
        !           377:        #endif
        !           378: 
        !           379: 
        !           380:        #if (__MWERKS__ >= 0x1100)
        !           381:                #if __option(longlong)
        !           382:                        #define TYPE_LONGLONG           1
        !           383:                #else
        !           384:                        #define TYPE_LONGLONG           0
        !           385:                #endif
        !           386:        #else
        !           387:                #define TYPE_LONGLONG                   0
        !           388:        #endif
        !           389:        #if (__MWERKS__ >= 0x1000)
        !           390:                #if __option(bool)
        !           391:                        #define TYPE_BOOL                       1
        !           392:                #else
        !           393:                        #define TYPE_BOOL                       0
        !           394:                #endif
        !           395:        #else
        !           396:                #define TYPE_BOOL                               0
        !           397:        #endif
        !           398:        #define TYPE_EXTENDED                           0
        !           399: 
        !           400: 
        !           401: 
        !           402: #elif defined(SYMANTEC_CPLUS) || defined(SYMANTEC_C)
        !           403:        /*
        !           404:                C and C++ compiler from Symantec, Inc.
        !           405:        */
        !           406:        #define TARGET_OS_MAC                           1
        !           407:        #define TARGET_OS_WIN32                         0
        !           408:        #define TARGET_OS_UNIX                          0
        !           409:        #define TARGET_CPU_X86                          0
        !           410:        #define TARGET_CPU_MIPS                         0
        !           411:        #define TARGET_CPU_SPARC                        0               
        !           412:        #define TARGET_CPU_ALPHA                        0
        !           413:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           414:        #define TARGET_RT_BIG_ENDIAN            1
        !           415:        #if powerc
        !           416:                #define TARGET_CPU_PPC                  1
        !           417:                #define TARGET_CPU_68K                  0
        !           418:                #define TARGET_RT_MAC_CFM               1
        !           419:                #define TARGET_RT_MAC_68881             0
        !           420:        #else
        !           421:                #define TARGET_CPU_PPC                  0
        !           422:                #define TARGET_CPU_68K                  1
        !           423:                #if defined(__CFM68K)
        !           424:                        #define TARGET_RT_MAC_CFM       1
        !           425:                #else
        !           426:                        #define TARGET_RT_MAC_CFM       0
        !           427:                #endif
        !           428:                #if mc68881
        !           429:                        #define TARGET_RT_MAC_68881     1
        !           430:                #else
        !           431:                        #define TARGET_RT_MAC_68881     0
        !           432:                #endif
        !           433:        #endif
        !           434:        #define PRAGMA_IMPORT                           0
        !           435:        #define PRAGMA_ONCE                                     1
        !           436:        #define PRAGMA_STRUCT_ALIGN                     1
        !           437:        #define PRAGMA_STRUCT_PACK                      0
        !           438:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           439:        #define PRAGMA_ENUM_PACK                        1
        !           440:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           441:        #define PRAGMA_ENUM_OPTIONS                     0
        !           442:        #define FOUR_CHAR_CODE(x)                       (x)
        !           443:        
        !           444:        #if __useAppleExts__
        !           445:                #define TYPE_EXTENDED                   1
        !           446:        #else
        !           447:                #define TYPE_EXTENDED                   0
        !           448:        #endif
        !           449:        #define TYPE_LONGLONG                           0
        !           450:        #define TYPE_BOOL                                       0
        !           451:        
        !           452: 
        !           453: 
        !           454: #elif defined(THINK_C)
        !           455:        /*
        !           456:                THINK C compiler from Symantec, Inc.            << WARNING: Unsupported Compiler >>
        !           457:        */
        !           458:        #define TARGET_CPU_PPC                          0
        !           459:        #define TARGET_CPU_68K                          1
        !           460:        #define TARGET_CPU_X86                          0
        !           461:        #define TARGET_CPU_MIPS                         0
        !           462:        #define TARGET_CPU_SPARC                        0               
        !           463:        #define TARGET_CPU_ALPHA                        0
        !           464:        #define TARGET_OS_MAC                           1
        !           465:        #define TARGET_OS_WIN32                         0
        !           466:        #define TARGET_OS_UNIX                          0
        !           467:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           468:        #define TARGET_RT_BIG_ENDIAN            1
        !           469:        #define TARGET_RT_MAC_CFM                       0
        !           470:        #if defined(mc68881)
        !           471:                #define TARGET_RT_MAC_68881             1
        !           472:        #else
        !           473:                #define TARGET_RT_MAC_68881             0
        !           474:        #endif
        !           475:        #define PRAGMA_IMPORT                           0
        !           476:        #define PRAGMA_STRUCT_ALIGN                     0
        !           477:        #define PRAGMA_ONCE                                     1
        !           478:        #define PRAGMA_STRUCT_PACK                      0
        !           479:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           480:        #define PRAGMA_ENUM_PACK                        1
        !           481:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           482:        #define PRAGMA_ENUM_OPTIONS                     0
        !           483:        #define FOUR_CHAR_CODE(x)                       (x)
        !           484:        
        !           485:        #define TYPE_EXTENDED                           1
        !           486:        #define TYPE_LONGLONG                           0
        !           487:        #define TYPE_BOOL                                       0
        !           488:        
        !           489: 
        !           490: 
        !           491: #elif defined(__PPCC__)
        !           492:        /*
        !           493:                PPCC compiler from Apple Computer, Inc.         << WARNING: Unsupported Compiler >>
        !           494:        */
        !           495:        #define TARGET_CPU_PPC                          1
        !           496:        #define TARGET_CPU_68K                          0
        !           497:        #define TARGET_CPU_X86                          0
        !           498:        #define TARGET_CPU_MIPS                         0
        !           499:        #define TARGET_CPU_SPARC                        0               
        !           500:        #define TARGET_CPU_ALPHA                        0
        !           501:        #define TARGET_OS_MAC                           1
        !           502:        #define TARGET_OS_WIN32                         0
        !           503:        #define TARGET_OS_UNIX                          0
        !           504:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           505:        #define TARGET_RT_BIG_ENDIAN            1
        !           506:        #define TARGET_RT_MAC_CFM                       1
        !           507:        #define TARGET_RT_MAC_68881                     0
        !           508:        #define PRAGMA_IMPORT                           0
        !           509:        #define PRAGMA_STRUCT_ALIGN                     1
        !           510:        #define PRAGMA_ONCE                                     0
        !           511:        #define PRAGMA_STRUCT_PACK                      0
        !           512:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           513:        #define PRAGMA_ENUM_PACK                        0
        !           514:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           515:        #define PRAGMA_ENUM_OPTIONS                     0
        !           516:        #define FOUR_CHAR_CODE(x)                       (x)
        !           517:        
        !           518:        #define TYPE_EXTENDED                           0
        !           519:        #define TYPE_LONGLONG                           0
        !           520:        #define TYPE_BOOL                                       0
        !           521: 
        !           522: 
        !           523: #elif defined(applec) && !defined(__SC__)
        !           524:        /*
        !           525:                MPW C compiler from Apple Computer, Inc.        << WARNING: Unsupported Compiler >>
        !           526:        */
        !           527:        #define TARGET_CPU_PPC                          0
        !           528:        #define TARGET_CPU_68K                          1
        !           529:        #define TARGET_CPU_X86                          0
        !           530:        #define TARGET_CPU_MIPS                         0
        !           531:        #define TARGET_CPU_SPARC                        0               
        !           532:        #define TARGET_CPU_ALPHA                        0
        !           533:        #define TARGET_OS_MAC                           1
        !           534:        #define TARGET_OS_WIN32                         0
        !           535:        #define TARGET_OS_UNIX                          0
        !           536:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           537:        #define TARGET_RT_BIG_ENDIAN            1
        !           538:        #define TARGET_RT_MAC_CFM                       0
        !           539:        #if defined(mc68881)
        !           540:                #define TARGET_RT_MAC_68881             1
        !           541:        #else
        !           542:                #define TARGET_RT_MAC_68881             0
        !           543:        #endif
        !           544:        #define PRAGMA_IMPORT                           0
        !           545:        #define PRAGMA_STRUCT_ALIGN                     0
        !           546:        #define PRAGMA_ONCE                                     0
        !           547:        #define PRAGMA_STRUCT_PACK                      0
        !           548:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           549:        #define PRAGMA_ENUM_PACK                        0
        !           550:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           551:        #define PRAGMA_ENUM_OPTIONS                     0
        !           552:        /* Note: MPW C 3.2 had a bug where MACRO('xx   ') would cause 'xx  ' to be misevaluated */
        !           553:        #define FOUR_CHAR_CODE                          
        !           554: 
        !           555:        #define TYPE_EXTENDED                           1
        !           556:        #define TYPE_LONGLONG                           0
        !           557:        #define TYPE_BOOL                                       0
        !           558: 
        !           559: 
        !           560: 
        !           561: #elif defined(__GNUC__) && (defined(__APPLE_CPP__) || defined(__APPLE_CC__) || defined(__NEXT_CPP__))
        !           562:        /*
        !           563:                gcc from Next, Inc., with cpp-precomp (header precompiler)
        !           564:        */
        !           565:        #if defined(powerpc) || defined(ppc)
        !           566:                #define TARGET_CPU_PPC                  1
        !           567:                #define TARGET_CPU_68K                  0
        !           568:                #define TARGET_CPU_X86                  0
        !           569:                #define TARGET_CPU_MIPS                 0
        !           570:                #define TARGET_CPU_SPARC                0   
        !           571:                #define TARGET_CPU_ALPHA                0
        !           572:                #define TARGET_RT_MAC_CFM               0
        !           573:                #define TARGET_RT_MAC_68881             0
        !           574:                #define TARGET_RT_LITTLE_ENDIAN 0
        !           575:                #define TARGET_RT_BIG_ENDIAN    1
        !           576:        #elif defined(m68k)
        !           577:                #define TARGET_CPU_PPC                  0
        !           578:                #define TARGET_CPU_68K                  1
        !           579:                #define TARGET_CPU_X86                  0
        !           580:                #define TARGET_CPU_MIPS                 0
        !           581:                #define TARGET_CPU_SPARC                0   
        !           582:                #define TARGET_CPU_ALPHA                0
        !           583:                #define TARGET_RT_MAC_CFM               0
        !           584:                #define TARGET_RT_MAC_68881             0
        !           585:                #define TARGET_RT_LITTLE_ENDIAN 0
        !           586:                #define TARGET_RT_BIG_ENDIAN    1
        !           587:        #elif defined(sparc)
        !           588:                #define TARGET_CPU_PPC                  0
        !           589:                #define TARGET_CPU_68K                  0
        !           590:                #define TARGET_CPU_X86                  0
        !           591:                #define TARGET_CPU_MIPS                 0
        !           592:                #define TARGET_CPU_SPARC                1
        !           593:                #define TARGET_CPU_ALPHA                0
        !           594:                #define TARGET_RT_MAC_CFM               0
        !           595:                #define TARGET_RT_MAC_68881             0
        !           596:                #define TARGET_RT_LITTLE_ENDIAN 0
        !           597:                #define TARGET_RT_BIG_ENDIAN    1
        !           598:        #elif defined(i386) || defined(intel)
        !           599:                #define TARGET_CPU_PPC                  0
        !           600:                #define TARGET_CPU_68K                  0
        !           601:                #define TARGET_CPU_X86                  1
        !           602:                #define TARGET_CPU_MIPS                 0
        !           603:                #define TARGET_CPU_SPARC                0
        !           604:                #define TARGET_CPU_ALPHA                0
        !           605:                #define TARGET_RT_MAC_CFM               0
        !           606:                #define TARGET_RT_MAC_68881             0
        !           607:                #define TARGET_RT_LITTLE_ENDIAN 1
        !           608:                #define TARGET_RT_BIG_ENDIAN    0
        !           609:        #else
        !           610:                #error unrecognized NeXT GNU C compiler
        !           611:        #endif
        !           612: 
        !           613: /* BlueBox wants TARGET_OS_MAC when compiling on Rhapsody.
        !           614:    Carbon wants TARGET_OS_UNIX (for now, at least).
        !           615:    Similarly, BlueBox wants TARGET_RT_MAC_CFM=1 and Carbon does not.
        !           616:    Since BlueBox does an -Asystem(macos) on the command line for builds,
        !           617:    these conditionals below let us all be happy campers. */
        !           618: 
        !           619:        #if #system(macos)
        !           620:                #define TARGET_OS_MAC                           1
        !           621:                #define TARGET_OS_WIN32                         0
        !           622:                #define TARGET_OS_UNIX                          0
        !           623:                #undef TARGET_RT_MAC_CFM /* different from above setting */
        !           624:                #define TARGET_RT_MAC_CFM                       1
        !           625:        #else
        !           626:                #define TARGET_OS_MAC                           0
        !           627:                #define TARGET_OS_WIN32                         0
        !           628:                #define TARGET_OS_UNIX                          1
        !           629:        #endif
        !           630: 
        !           631: 
        !           632:        #define PRAGMA_IMPORT                           0
        !           633:        #define PRAGMA_STRUCT_ALIGN                     1
        !           634:        #define PRAGMA_ONCE                                     0
        !           635:        #define PRAGMA_STRUCT_PACK                      0
        !           636:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           637:        #define PRAGMA_ENUM_PACK                        0
        !           638:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           639:        #define PRAGMA_ENUM_OPTIONS                     0
        !           640:        #define FOUR_CHAR_CODE(x)                       (x)
        !           641: 
        !           642:        #define TYPE_EXTENDED                           0
        !           643:        #ifdef _LONG_LONG
        !           644:                #define TYPE_LONGLONG                   1
        !           645:        #else
        !           646:                #define TYPE_LONGLONG                   0
        !           647:        #endif
        !           648:        #ifdef __cplusplus
        !           649:                #define TYPE_BOOL                                       1
        !           650:        #else
        !           651:                #define TYPE_BOOL                                       0
        !           652:        #endif
        !           653: 
        !           654: 
        !           655:        #define forCarbon                                       1
        !           656: 
        !           657: 
        !           658: #elif defined(__GNUC__) && defined(__linux__)
        !           659:        /*
        !           660:                gcc (egcs, really) for MkLinux.                         << WARNING: Unsupported Compiler >>
        !           661:        */
        !           662:        #if #cpu(powerpc)
        !           663:                #define TARGET_CPU_PPC                  1
        !           664:                #define TARGET_CPU_68K                  0
        !           665:                #define TARGET_CPU_X86                  0
        !           666:                #define TARGET_CPU_MIPS                 0
        !           667:                #define TARGET_CPU_SPARC                0       
        !           668:                #define TARGET_CPU_ALPHA                0
        !           669:                #define TARGET_RT_MAC_CFM               1
        !           670:                #define TARGET_RT_MAC_68881             0
        !           671:        #elif #cpu(m68k)
        !           672:                #define TARGET_CPU_PPC                  0
        !           673:                #define TARGET_CPU_68K                  1
        !           674:                #define TARGET_CPU_X86                  0
        !           675:                #define TARGET_CPU_MIPS                 0
        !           676:                #define TARGET_CPU_SPARC                0       
        !           677:                #define TARGET_CPU_ALPHA                0
        !           678:                #define TARGET_RT_MAC_CFM               0
        !           679:                #define TARGET_RT_MAC_68881             0
        !           680:        #else
        !           681:                #error unsupported GNU C compiler
        !           682:        #endif
        !           683:        
        !           684:        #if #system(macos)
        !           685:                #define TARGET_OS_MAC                   1
        !           686:                #define TARGET_OS_WIN32                 0
        !           687:                #define TARGET_OS_UNIX                  0
        !           688:        #elif #system(unix)
        !           689:                #define TARGET_OS_MAC                   0
        !           690:                #define TARGET_OS_WIN32                 0
        !           691:                #define TARGET_OS_UNIX                  1
        !           692:        #else
        !           693:                #error unsupported GNU C compiler
        !           694:        #endif
        !           695: 
        !           696: 
        !           697:        
        !           698:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           699:        #define TARGET_RT_BIG_ENDIAN            1
        !           700:        #define PRAGMA_IMPORT                           0
        !           701:        #define PRAGMA_STRUCT_ALIGN                     0
        !           702:        #define PRAGMA_ONCE                                     0
        !           703:        #define PRAGMA_STRUCT_PACK                      1
        !           704:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           705:        #define PRAGMA_ENUM_PACK                        0
        !           706:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           707:        #define PRAGMA_ENUM_OPTIONS                     0
        !           708:        #define FOUR_CHAR_CODE(x)                       (x)
        !           709: 
        !           710:        #define TYPE_EXTENDED                           0
        !           711:        #ifdef _LONG_LONG
        !           712:                #define TYPE_LONGLONG                   1
        !           713:        #else
        !           714:                #define TYPE_LONGLONG                   0
        !           715:        #endif
        !           716:        #define TYPE_BOOL                                       0
        !           717: 
        !           718: 
        !           719: #elif defined(__GNUC__)
        !           720:        /*
        !           721:                gC for MPW from Free Software Foundation, Inc.
        !           722:        */
        !           723:        #if #cpu(powerpc)
        !           724:                #define TARGET_CPU_PPC                  1
        !           725:                #define TARGET_CPU_68K                  0
        !           726:                #define TARGET_CPU_X86                  0
        !           727:                #define TARGET_CPU_MIPS                 0
        !           728:                #define TARGET_CPU_SPARC                0       
        !           729:                #define TARGET_CPU_ALPHA                0
        !           730:                #define TARGET_RT_MAC_CFM               1
        !           731:                #define TARGET_RT_MAC_68881             0
        !           732:        #elif #cpu(m68k)
        !           733:                #define TARGET_CPU_PPC                  0
        !           734:                #define TARGET_CPU_68K                  1
        !           735:                #define TARGET_CPU_X86                  0
        !           736:                #define TARGET_CPU_MIPS                 0
        !           737:                #define TARGET_CPU_SPARC                0       
        !           738:                #define TARGET_CPU_ALPHA                0
        !           739:                #define TARGET_RT_MAC_CFM               0
        !           740:                #define TARGET_RT_MAC_68881             0
        !           741:        #else
        !           742:                #error unsupported GNU C compiler
        !           743:        #endif
        !           744:        
        !           745:        #if #system(macos)
        !           746:                #define TARGET_OS_MAC                   1
        !           747:                #define TARGET_OS_WIN32                 0
        !           748:                #define TARGET_OS_UNIX                  0
        !           749:        #elif #system(unix)
        !           750:                #define TARGET_OS_MAC                   0
        !           751:                #define TARGET_OS_WIN32                 0
        !           752:                #define TARGET_OS_UNIX                  1
        !           753:        #else
        !           754:                #error unsupported GNU C compiler
        !           755:        #endif
        !           756:        
        !           757:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           758:        #define TARGET_RT_BIG_ENDIAN            1
        !           759:        #define PRAGMA_IMPORT                           0
        !           760:        #define PRAGMA_STRUCT_ALIGN                     1
        !           761:        #define PRAGMA_ONCE                                     0
        !           762:        #define PRAGMA_STRUCT_PACK                      0
        !           763:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           764:        #define PRAGMA_ENUM_PACK                        0
        !           765:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           766:        #define PRAGMA_ENUM_OPTIONS                     0
        !           767:        #define FOUR_CHAR_CODE(x)                       (x)
        !           768: 
        !           769:        #define TYPE_EXTENDED                           0
        !           770:        #ifdef _LONG_LONG
        !           771:                #define TYPE_LONGLONG                   1
        !           772:        #else
        !           773:                #define TYPE_LONGLONG                   0
        !           774:        #endif
        !           775:        #define TYPE_BOOL                                       0
        !           776: 
        !           777: 
        !           778: 
        !           779: #elif defined(__xlc) || defined(__xlC) || defined(__xlC__) || defined(__XLC121__)
        !           780:        /*
        !           781:                xlc and xlC on RS/6000 from IBM, Inc.
        !           782:        */
        !           783:        #define TARGET_CPU_PPC                          1
        !           784:        #define TARGET_CPU_68K                          0
        !           785:        #define TARGET_CPU_X86                          0
        !           786:        #define TARGET_CPU_MIPS                         0
        !           787:        #define TARGET_CPU_SPARC                        0               
        !           788:        #define TARGET_CPU_ALPHA                        0
        !           789:        #if defined(_AIX)
        !           790:                #define TARGET_OS_MAC                   0
        !           791:                #define TARGET_OS_UNIX                  1
        !           792:        #else
        !           793:                #define TARGET_OS_MAC                   1
        !           794:                #define TARGET_OS_UNIX                  0
        !           795:        #endif
        !           796:        #define TARGET_OS_WIN32                         0
        !           797:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           798:        #define TARGET_RT_BIG_ENDIAN            1
        !           799:        #define TARGET_RT_MAC_CFM                       1
        !           800:        #define TARGET_RT_MAC_68881                     0
        !           801:        #define PRAGMA_IMPORT                           0
        !           802:        #define PRAGMA_STRUCT_ALIGN                     1
        !           803:        #define PRAGMA_ONCE                                     0
        !           804:        #define PRAGMA_STRUCT_PACK                      0
        !           805:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           806:        #define PRAGMA_ENUM_PACK                        0
        !           807:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           808:        #define PRAGMA_ENUM_OPTIONS                     1
        !           809:        #define FOUR_CHAR_CODE(x)                       (x)
        !           810: 
        !           811:        #define TYPE_EXTENDED                           0
        !           812:        #ifdef _LONG_LONG
        !           813:                #define TYPE_LONGLONG                   1
        !           814:        #else
        !           815:                #define TYPE_LONGLONG                   0
        !           816:        #endif
        !           817:        #define TYPE_BOOL                                       0
        !           818: 
        !           819: 
        !           820: #elif defined(_MSC_VER) && !defined(__MWERKS__) 
        !           821:        /*
        !           822:                Visual C++ from Microsoft, Inc.
        !           823:        */
        !           824:        #if defined(_M_M68K)    /* Visual C++ with Macintosh 68K target */
        !           825:                #define TARGET_CPU_PPC                          0
        !           826:                #define TARGET_CPU_68K                          1
        !           827:                #define TARGET_CPU_X86                          0
        !           828:                #define TARGET_CPU_MIPS                         0
        !           829:                #define TARGET_CPU_SPARC                        0
        !           830:                #define TARGET_CPU_ALPHA                        0
        !           831:                #define TARGET_OS_MAC                           1
        !           832:                #define TARGET_OS_WIN32                         0
        !           833:                #define TARGET_OS_UNIX                          0
        !           834:                #define TARGET_RT_LITTLE_ENDIAN         0
        !           835:                #define TARGET_RT_BIG_ENDIAN            1
        !           836:                #define TARGET_RT_MAC_CFM                       0
        !           837:                #define TARGET_RT_MAC_68881                     0
        !           838:                #define PRAGMA_IMPORT                           0
        !           839:                #define PRAGMA_STRUCT_ALIGN                     1
        !           840:                #define PRAGMA_ONCE                                     0
        !           841:                #define PRAGMA_STRUCT_PACK                      1
        !           842:                #define PRAGMA_STRUCT_PACKPUSH          1
        !           843:                #define PRAGMA_ENUM_PACK                        0
        !           844:                #define PRAGMA_ENUM_ALWAYSINT           0
        !           845:                #define PRAGMA_ENUM_OPTIONS                     0
        !           846:                #define FOUR_CHAR_CODE(x)                       (x)
        !           847:                #define TYPE_EXTENDED                           0
        !           848:                #define TYPE_LONGLONG                           0
        !           849:                #define TYPE_BOOL                                       0
        !           850:        #elif defined(_M_MPPC)  /* Visual C++ with Macintosh PowerPC target */
        !           851:                #define TARGET_CPU_PPC                          1
        !           852:                #define TARGET_CPU_68K                          0
        !           853:                #define TARGET_CPU_X86                          0
        !           854:                #define TARGET_CPU_MIPS                         0
        !           855:                #define TARGET_CPU_SPARC                        0
        !           856:                #define TARGET_CPU_ALPHA                        0
        !           857:                #define TARGET_OS_MAC                           1
        !           858:                #define TARGET_OS_WIN32                         0
        !           859:                #define TARGET_OS_UNIX                          0
        !           860:                #define TARGET_RT_LITTLE_ENDIAN         0
        !           861:                #define TARGET_RT_BIG_ENDIAN            1
        !           862:                #define TARGET_RT_MAC_CFM                       1
        !           863:                #define TARGET_RT_MAC_68881                     0
        !           864:                #define PRAGMA_IMPORT                           0
        !           865:                #define PRAGMA_STRUCT_ALIGN                     1
        !           866:                #define PRAGMA_ONCE                                     0
        !           867:                #define PRAGMA_STRUCT_PACK                      1
        !           868:                #define PRAGMA_STRUCT_PACKPUSH          1
        !           869:                #define PRAGMA_ENUM_PACK                        0
        !           870:                #define PRAGMA_ENUM_ALWAYSINT           0
        !           871:                #define PRAGMA_ENUM_OPTIONS                     0
        !           872:                #define FOUR_CHAR_CODE(x)                       (x)
        !           873:                #define TYPE_EXTENDED                           0
        !           874:                #define TYPE_LONGLONG                           0
        !           875:                #define TYPE_BOOL                                       0
        !           876: 
        !           877:        #elif defined(_M_IX86)  /* Visual C++ with Intel x86 target */
        !           878:                #define TARGET_CPU_PPC                          0
        !           879:                #define TARGET_CPU_68K                          0
        !           880:                #define TARGET_CPU_X86                          1
        !           881:                #define TARGET_CPU_MIPS                         0
        !           882:                #define TARGET_CPU_SPARC                        0
        !           883:                #define TARGET_CPU_ALPHA                        0
        !           884:                #define TARGET_OS_MAC                           0
        !           885:                #define TARGET_OS_WIN32                         1
        !           886:                #define TARGET_OS_UNIX                          0
        !           887:                #define TARGET_RT_LITTLE_ENDIAN         1
        !           888:                #define TARGET_RT_BIG_ENDIAN            0
        !           889:                #define TARGET_RT_MAC_CFM                       0
        !           890:                #define TARGET_RT_MAC_68881                     0
        !           891:                #define PRAGMA_IMPORT                           0
        !           892:                #define PRAGMA_STRUCT_ALIGN                     0
        !           893:                #define PRAGMA_ONCE                                     0
        !           894:                #define PRAGMA_STRUCT_PACK                      1
        !           895:                #define PRAGMA_STRUCT_PACKPUSH          1
        !           896:                #define PRAGMA_ENUM_PACK                        0
        !           897:                #define PRAGMA_ENUM_ALWAYSINT           0
        !           898:                #define PRAGMA_ENUM_OPTIONS                     0
        !           899:                #define FOUR_CHAR_CODE(x)                       (x) 
        !           900:                #define TYPE_EXTENDED                           0
        !           901:                #define TYPE_LONGLONG                           0
        !           902:                #if defined(__cplusplus) && (_MSC_VER >= 1100)
        !           903:                        #define TYPE_BOOL                               1
        !           904:                #else
        !           905:                        #define TYPE_BOOL                               0
        !           906:                #endif
        !           907: 
        !           908:                #elif defined(_M_ALPHA)         /* Visual C++ with Dec Alpha target */
        !           909:                #define TARGET_CPU_PPC                          0
        !           910:                #define TARGET_CPU_68K                          0
        !           911:                #define TARGET_CPU_X86                          0
        !           912:                #define TARGET_CPU_MIPS                         0
        !           913:                #define TARGET_CPU_SPARC                        0
        !           914:                #define TARGET_CPU_ALPHA                        1
        !           915:                #define TARGET_OS_MAC                           0
        !           916:                #define TARGET_OS_WIN32                         1
        !           917:                #define TARGET_OS_UNIX                          0
        !           918:                #define TARGET_RT_LITTLE_ENDIAN         1
        !           919:                #define TARGET_RT_BIG_ENDIAN            0
        !           920:                #define TARGET_RT_MAC_CFM                       0
        !           921:                #define TARGET_RT_MAC_68881                     0
        !           922:                #define PRAGMA_IMPORT                           0
        !           923:                #define PRAGMA_STRUCT_ALIGN                     0
        !           924:                #define PRAGMA_ONCE                                     0
        !           925:                #define PRAGMA_STRUCT_PACK                      1
        !           926:                #define PRAGMA_STRUCT_PACKPUSH          1
        !           927:                #define PRAGMA_ENUM_PACK                        0
        !           928:                #define PRAGMA_ENUM_ALWAYSINT           0
        !           929:                #define PRAGMA_ENUM_OPTIONS                     0
        !           930:                #define FOUR_CHAR_CODE(x)               (((unsigned long) ((x) & 0x000000FF)) << 24) \
        !           931:                                                                        | (((unsigned long) ((x) & 0x0000FF00)) << 8) \
        !           932:                                                                        | (((unsigned long) ((x) & 0x00FF0000)) >> 8) \
        !           933:                                                                        | (((unsigned long) ((x) & 0xFF000000)) >> 24)
        !           934:                #define TYPE_EXTENDED                           0
        !           935:                #define TYPE_LONGLONG                           0
        !           936:                #define TYPE_BOOL                                       0
        !           937: 
        !           938:        #elif defined(_M_PPC)   /* Visual C++ for Windows NT on PowerPC target */
        !           939:                #define TARGET_CPU_PPC                          1
        !           940:                #define TARGET_CPU_68K                          0
        !           941:                #define TARGET_CPU_X86                          0
        !           942:                #define TARGET_CPU_MIPS                         0
        !           943:                #define TARGET_CPU_SPARC                        0
        !           944:                #define TARGET_CPU_ALPHA                        0
        !           945:                #define TARGET_OS_MAC                           0
        !           946:                #define TARGET_OS_WIN32                         1
        !           947:                #define TARGET_OS_UNIX                          0
        !           948:                #define TARGET_RT_LITTLE_ENDIAN         1
        !           949:                #define TARGET_RT_BIG_ENDIAN            0
        !           950:                #define TARGET_RT_MAC_CFM                       0
        !           951:                #define TARGET_RT_MAC_68881                     0
        !           952:                #define PRAGMA_IMPORT                           0
        !           953:                #define PRAGMA_STRUCT_ALIGN                     0
        !           954:                #define PRAGMA_ONCE                                     0
        !           955:                #define PRAGMA_STRUCT_PACK                      1
        !           956:                #define PRAGMA_STRUCT_PACKPUSH          1
        !           957:                #define PRAGMA_ENUM_PACK                        0
        !           958:                #define PRAGMA_ENUM_ALWAYSINT           0
        !           959:                #define PRAGMA_ENUM_OPTIONS                     0
        !           960:                #define FOUR_CHAR_CODE(x)               (((unsigned long) ((x) & 0x000000FF)) << 24) \
        !           961:                                                                        | (((unsigned long) ((x) & 0x0000FF00)) << 8) \
        !           962:                                                                        | (((unsigned long) ((x) & 0x00FF0000)) >> 8) \
        !           963:                                                                        | (((unsigned long) ((x) & 0xFF000000)) >> 24)
        !           964:                #define TYPE_EXTENDED                           0
        !           965:                #define TYPE_LONGLONG                           0
        !           966:                #define TYPE_BOOL                                       0
        !           967: 
        !           968:                #elif defined(_M_MRX000)        /* Visual C++ for Windows NT on MIPS target */
        !           969:                #define TARGET_CPU_PPC                          0
        !           970:                #define TARGET_CPU_68K                          0
        !           971:                #define TARGET_CPU_X86                          0
        !           972:                #define TARGET_CPU_MIPS                         1
        !           973:                #define TARGET_CPU_SPARC                        0
        !           974:                #define TARGET_CPU_ALPHA                        0
        !           975:                #define TARGET_OS_MAC                           0
        !           976:                #define TARGET_OS_WIN32                         1
        !           977:                #define TARGET_OS_UNIX                          0
        !           978:                #define TARGET_RT_LITTLE_ENDIAN         1
        !           979:                #define TARGET_RT_BIG_ENDIAN            0
        !           980:                #define TARGET_RT_MAC_CFM                       0
        !           981:                #define TARGET_RT_MAC_68881                     0
        !           982:                #define PRAGMA_IMPORT                           0
        !           983:                #define PRAGMA_STRUCT_ALIGN                     0
        !           984:                #define PRAGMA_ONCE                                     0
        !           985:                #define PRAGMA_STRUCT_PACK                      1
        !           986:                #define PRAGMA_STRUCT_PACKPUSH          1
        !           987:                #define PRAGMA_ENUM_PACK                        0
        !           988:                #define PRAGMA_ENUM_ALWAYSINT           0
        !           989:                #define PRAGMA_ENUM_OPTIONS                     0
        !           990:                #define FOUR_CHAR_CODE(x)               (((unsigned long) ((x) & 0x000000FF)) << 24) \
        !           991:                                                                        | (((unsigned long) ((x) & 0x0000FF00)) << 8) \
        !           992:                                                                        | (((unsigned long) ((x) & 0x00FF0000)) >> 8) \
        !           993:                                                                        | (((unsigned long) ((x) & 0xFF000000)) >> 24)
        !           994:                #define TYPE_EXTENDED                           0
        !           995:                #define TYPE_LONGLONG                           0
        !           996:                #define TYPE_BOOL                                       0
        !           997:        #endif
        !           998: 
        !           999: 
        !          1000: #elif defined(__MOTO__)
        !          1001:        /*
        !          1002:                mcc from Motorola, Inc. 
        !          1003:        */
        !          1004:        #define TARGET_CPU_PPC                          1
        !          1005:        #define TARGET_CPU_68K                          0
        !          1006:        #define TARGET_CPU_X86                          0
        !          1007:        #define TARGET_CPU_MIPS                         0
        !          1008:        #define TARGET_CPU_SPARC                        0               
        !          1009:        #define TARGET_CPU_ALPHA                        0
        !          1010:        #define TARGET_OS_MAC                           1
        !          1011:        #define TARGET_OS_WIN32                         0
        !          1012:        #define TARGET_OS_UNIX                          0
        !          1013:        #define TARGET_RT_LITTLE_ENDIAN         0
        !          1014:        #define TARGET_RT_BIG_ENDIAN            1
        !          1015:        #define TARGET_RT_MAC_CFM                       1
        !          1016:        #define TARGET_RT_MAC_68881                     0
        !          1017:        #define PRAGMA_IMPORT                           0                       /* how is this detected ?? */
        !          1018:        #define PRAGMA_STRUCT_ALIGN                     1
        !          1019:        #if __MOTO__ >= 40702                                                   /* MCC version 4.7.2 */
        !          1020:          #define PRAGMA_ONCE                           1
        !          1021:        #else
        !          1022:          #define PRAGMA_ONCE                           0
        !          1023:        #endif
        !          1024:        #define PRAGMA_STRUCT_PACK                      0
        !          1025:        #define PRAGMA_STRUCT_PACKPUSH          0
        !          1026:        #define PRAGMA_ENUM_PACK                        0
        !          1027:        #define PRAGMA_ENUM_ALWAYSINT           0
        !          1028:        #define PRAGMA_ENUM_OPTIONS                     0
        !          1029:        #define FOUR_CHAR_CODE(x)                       (x)
        !          1030:        #define TYPE_LONGLONG                           0                       /* how is this detected ?? */
        !          1031:        #ifdef _BOOL
        !          1032:                #define TYPE_BOOL                               1                       
        !          1033:        #else
        !          1034:                #define TYPE_BOOL                               0                       
        !          1035:        #endif
        !          1036:        #define TYPE_EXTENDED                           0
        !          1037: 
        !          1038: 
        !          1039: 
        !          1040: #elif defined(_MIPS_ISA)
        !          1041:        /*
        !          1042:                MIPSpro compiler from Silicon Graphics Inc.
        !          1043:        */
        !          1044:        #define TARGET_CPU_PPC                          0
        !          1045:        #define TARGET_CPU_68K                          0
        !          1046:        #define TARGET_CPU_X86                          0
        !          1047:        #define TARGET_CPU_MIPS                         1
        !          1048:        #define TARGET_CPU_SPARC                        0               
        !          1049:        #define TARGET_CPU_ALPHA                        0
        !          1050:        #define TARGET_OS_MAC                           0
        !          1051:        #define TARGET_OS_WIN32                         0
        !          1052:        #define TARGET_OS_UNIX                          1
        !          1053:        #define TARGET_RT_LITTLE_ENDIAN         0
        !          1054:        #define TARGET_RT_BIG_ENDIAN            1
        !          1055:        #define TARGET_RT_MAC_CFM                       0
        !          1056:        #define TARGET_RT_MAC_68881                     0
        !          1057:        #define PRAGMA_IMPORT                           0
        !          1058:        #define PRAGMA_STRUCT_ALIGN                     0
        !          1059:        #define PRAGMA_ONCE                                     0
        !          1060:        #define PRAGMA_STRUCT_PACK                      1
        !          1061:        #define PRAGMA_STRUCT_PACKPUSH          0
        !          1062:        #define PRAGMA_ENUM_PACK                        0
        !          1063:        #define PRAGMA_ENUM_ALWAYSINT           0
        !          1064:        #define PRAGMA_ENUM_OPTIONS                     0
        !          1065:        #define FOUR_CHAR_CODE(x)                       (x)
        !          1066:        #define TYPE_EXTENDED                           0
        !          1067:        #define TYPE_LONGLONG                           0
        !          1068:        #define TYPE_BOOL                                       0
        !          1069: 
        !          1070: 
        !          1071: #elif defined(__sparc)
        !          1072:        /*
        !          1073:                SPARCompiler compiler from Sun Microsystems Inc.
        !          1074:        */
        !          1075:        #define TARGET_CPU_PPC                          0
        !          1076:        #define TARGET_CPU_68K                          0
        !          1077:        #define TARGET_CPU_X86                          0
        !          1078:        #define TARGET_CPU_MIPS                         0
        !          1079:        #define TARGET_CPU_SPARC                        1               
        !          1080:        #define TARGET_CPU_ALPHA                        0
        !          1081:        #define TARGET_OS_MAC                           0
        !          1082:        #define TARGET_OS_WIN32                         0
        !          1083:        #define TARGET_OS_UNIX                          1
        !          1084:        #define TARGET_RT_LITTLE_ENDIAN         0
        !          1085:        #define TARGET_RT_BIG_ENDIAN            1
        !          1086:        #define TARGET_RT_MAC_CFM                       0
        !          1087:        #define TARGET_RT_MAC_68881                     0
        !          1088:        #define PRAGMA_IMPORT                           0
        !          1089:        #define PRAGMA_STRUCT_ALIGN                     0
        !          1090:        #define PRAGMA_ONCE                                     0
        !          1091:        #define PRAGMA_STRUCT_PACK                      1
        !          1092:        #define PRAGMA_STRUCT_PACKPUSH          0
        !          1093:        #define PRAGMA_ENUM_PACK                        0
        !          1094:        #define PRAGMA_ENUM_ALWAYSINT           0
        !          1095:        #define PRAGMA_ENUM_OPTIONS                     0
        !          1096:        #define FOUR_CHAR_CODE(x)               (((unsigned long) ((x) & 0x000000FF)) << 24) \
        !          1097:                                                                        | (((unsigned long) ((x) & 0x0000FF00)) << 8) \
        !          1098:                                                                        | (((unsigned long) ((x) & 0x00FF0000)) >> 8) \
        !          1099:                                                                        | (((unsigned long) ((x) & 0xFF000000)) >> 24)
        !          1100:        #define TYPE_EXTENDED                           0
        !          1101:        #define TYPE_LONGLONG                           0
        !          1102:        #define TYPE_BOOL                                       0
        !          1103: 
        !          1104: 
        !          1105: #else
        !          1106:        /*
        !          1107:                Unknown compiler, perhaps set up from the command line (e.g. -d TARGET_CPU_MIPS , etc.)
        !          1108:        */
        !          1109:        #if defined(TARGET_CPU_PPC) && TARGET_CPU_PPC
        !          1110:                #define TARGET_CPU_68K   0
        !          1111:                #define TARGET_CPU_X86   0
        !          1112:                #define TARGET_CPU_MIPS  0
        !          1113:                #define TARGET_CPU_SPARC 0
        !          1114:                #define TARGET_CPU_ALPHA 0
        !          1115:        #elif defined(TARGET_CPU_68K) && TARGET_CPU_68K
        !          1116:                #define TARGET_CPU_PPC   0
        !          1117:                #define TARGET_CPU_X86   0
        !          1118:                #define TARGET_CPU_MIPS  0
        !          1119:                #define TARGET_CPU_SPARC 0
        !          1120:                #define TARGET_CPU_ALPHA 0
        !          1121:        #elif defined(TARGET_CPU_X86) && TARGET_CPU_X86
        !          1122:                #define TARGET_CPU_PPC   0
        !          1123:                #define TARGET_CPU_68K   0
        !          1124:                #define TARGET_CPU_MIPS  0
        !          1125:                #define TARGET_CPU_SPARC 0
        !          1126:                #define TARGET_CPU_ALPHA 0
        !          1127:        #elif defined(TARGET_CPU_MIPS) && TARGET_CPU_MIPS
        !          1128:                #define TARGET_CPU_PPC   0
        !          1129:                #define TARGET_CPU_68K   0
        !          1130:                #define TARGET_CPU_X86   0
        !          1131:                #define TARGET_CPU_SPARC 0
        !          1132:                #define TARGET_CPU_ALPHA 0
        !          1133:        #elif defined(TARGET_CPU_SPARC) && TARGET_CPU_SPARC
        !          1134:                #define TARGET_CPU_PPC   0
        !          1135:                #define TARGET_CPU_68K   0
        !          1136:                #define TARGET_CPU_X86   0
        !          1137:                #define TARGET_CPU_MIPS  0
        !          1138:                #define TARGET_CPU_ALPHA 0
        !          1139:        #elif defined(TARGET_CPU_ALPHA) && TARGET_CPU_ALPHA
        !          1140:                #define TARGET_CPU_PPC   0
        !          1141:                #define TARGET_CPU_68K   0
        !          1142:                #define TARGET_CPU_X86   0
        !          1143:                #define TARGET_CPU_MIPS  0
        !          1144:                #define TARGET_CPU_SPARC 0
        !          1145: 
        !          1146:                
        !          1147:        #else
        !          1148:                /*
        !          1149:                        NOTE:   If your compiler errors out here then support for your compiler 
        !          1150:                                        has not yet been added to ConditionalMacros.h.  
        !          1151:                                        
        !          1152:                                        ConditionalMacros.h is designed to be plug-and-play.  It auto detects
        !          1153:                                        which compiler is being run and configures the TARGET_ conditionals
        !          1154:                                        appropriately.  
        !          1155:                                        
        !          1156:                                        The short term work around is to set the TARGET_CPU_ and TARGET_OS_
        !          1157:                                        on the command line to the compiler (e.g. d TARGET_CPU_MIPS -d TARGET_OS_UNIX)
        !          1158:                                        
        !          1159:                                        The long term solution is to add a new case to this file which
        !          1160:                                        auto detects your compiler and sets up the TARGET_ conditionals.
        !          1161:                                        If you do this, send the changes you made to [email protected]
        !          1162:                                        to get it integrated into the next release of ConditionalMacros.h.
        !          1163:                */
        !          1164:                #error ConditionalMacros.h: unknown compiler (see comment above)
        !          1165:                #define TARGET_CPU_PPC   0
        !          1166:                #define TARGET_CPU_68K   0
        !          1167:                #define TARGET_CPU_X86   0
        !          1168:                #define TARGET_CPU_MIPS  0
        !          1169:                #define TARGET_CPU_SPARC 0
        !          1170:                #define TARGET_CPU_ALPHA 0
        !          1171:        #endif
        !          1172:        
        !          1173: 
        !          1174: 
        !          1175:        #if defined(TARGET_OS_MAC) && TARGET_OS_MAC
        !          1176:                #define TARGET_OS_WIN32  0
        !          1177:                #define TARGET_OS_UNIX   0
        !          1178:        #elif defined(TARGET_OS_WIN32) && TARGET_OS_WIN32
        !          1179:                #define TARGET_OS_MAC    0
        !          1180:                #define TARGET_OS_UNIX   0
        !          1181:        #elif defined(TARGET_OS_UNIX) && TARGET_OS_UNIX
        !          1182:                #define TARGET_OS_MAC    0
        !          1183:                #define TARGET_OS_WIN32  0
        !          1184:        #elif TARGET_CPU_PPC || TARGET_CPU_68K
        !          1185:                #define TARGET_OS_MAC    1
        !          1186:                #define TARGET_OS_WIN32  0
        !          1187:                #define TARGET_OS_UNIX   0
        !          1188:        #else
        !          1189:                #error ConditionalMacros.h: unknown target OS (see comment above)
        !          1190:        #endif
        !          1191: 
        !          1192:        #if !defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
        !          1193:                #if TARGET_OS_MAC
        !          1194:                        #define TARGET_RT_LITTLE_ENDIAN         0
        !          1195:                        #define TARGET_RT_BIG_ENDIAN            1
        !          1196:                #elif TARGET_OS_WIN32
        !          1197:                        #define TARGET_RT_LITTLE_ENDIAN         1
        !          1198:                        #define TARGET_RT_BIG_ENDIAN            0
        !          1199:                #endif
        !          1200:        #endif
        !          1201:                
        !          1202:        #if defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
        !          1203:                #define TARGET_RT_LITTLE_ENDIAN         !TARGET_RT_BIG_ENDIAN
        !          1204:        #elif !defined(TARGET_RT_BIG_ENDIAN) && defined(TARGET_RT_LITTLE_ENDIAN)
        !          1205:                #define TARGET_RT_BIG_ENDIAN            !TARGET_RT_LITTLE_ENDIAN
        !          1206:        #endif
        !          1207:        
        !          1208:        #if !defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
        !          1209:                #error unknown endianess of target processor
        !          1210:        #endif
        !          1211: 
        !          1212:        #ifndef TARGET_RT_MAC_CFM
        !          1213:        #define TARGET_RT_MAC_CFM                       TARGET_CPU_PPC
        !          1214:        #endif
        !          1215:        #ifndef TARGET_RT_MAC_68881
        !          1216:        #define TARGET_RT_MAC_68881                     0
        !          1217:        #endif
        !          1218: 
        !          1219:                
        !          1220:        #ifndef PRAGMA_IMPORT
        !          1221:        #define PRAGMA_IMPORT                           0
        !          1222:        #endif
        !          1223:        #ifndef PRAGMA_STRUCT_ALIGN
        !          1224:        #define PRAGMA_STRUCT_ALIGN                     0
        !          1225:        #endif
        !          1226:        #ifndef PRAGMA_ONCE
        !          1227:        #define PRAGMA_ONCE                                     0
        !          1228:        #endif
        !          1229:        #ifndef PRAGMA_STRUCT_PACK
        !          1230:        #define PRAGMA_STRUCT_PACK                      0
        !          1231:        #endif
        !          1232:        #ifndef PRAGMA_STRUCT_PACKPUSH
        !          1233:        #define PRAGMA_STRUCT_PACKPUSH          0
        !          1234:        #endif
        !          1235:        #ifndef PRAGMA_ENUM_PACK
        !          1236:        #define PRAGMA_ENUM_PACK                        0
        !          1237:        #endif
        !          1238:        #ifndef PRAGMA_ENUM_ALWAYSINT
        !          1239:        #define PRAGMA_ENUM_ALWAYSINT           0
        !          1240:        #endif
        !          1241:        #ifndef PRAGMA_ENUM_OPTIONS
        !          1242:        #define PRAGMA_ENUM_OPTIONS                     0
        !          1243:        #endif
        !          1244:        #ifndef FOUR_CHAR_CODE
        !          1245:        #define FOUR_CHAR_CODE(x)                       (x)
        !          1246:        #endif
        !          1247: 
        !          1248:        #ifndef TYPE_EXTENDED
        !          1249:        #define TYPE_EXTENDED                           0
        !          1250:        #endif
        !          1251:        #ifndef TYPE_LONGLONG
        !          1252:        #define TYPE_LONGLONG                           0
        !          1253:        #endif
        !          1254:        #ifndef TYPE_BOOL
        !          1255:        #define TYPE_BOOL                                       0
        !          1256:        #endif
        !          1257: #endif
        !          1258: 
        !          1259: 
        !          1260: 
        !          1261: 
        !          1262: /****************************************************************************************************
        !          1263: 
        !          1264:        EXTERN_API�     
        !          1265:        These conditionals are used to specify the calling convention of a function.
        !          1266:        Mac classic 68K and Win32 each have two possible calling conventions:
        !          1267: 
        !          1268:                EXTERN_API                              - Classic 68K pascal, Win32 __cdecl
        !          1269:                EXTERN_API_C                    - Classic 68K C,      Win32 __cdecl
        !          1270:                EXTERN_API_STDCALL              - Classic 68K pascal, Win32 __stdcall
        !          1271:                EXTERN_API_C_STDCALL    - Classic 68K C,      Win32 __stdcall
        !          1272: 
        !          1273: 
        !          1274:        CALLBACK_API�   
        !          1275:        These conditionals are used to specify the calling convention of a function pointer.
        !          1276:        Mac classic 68K and Win32 each have two possible calling conventions:
        !          1277: 
        !          1278:                CALLBACK_API                    - Classic 68K pascal, Win32 __stdcall
        !          1279:                CALLBACK_API_C                  - Classic 68K C,      Win32 __stdcall
        !          1280:                CALLBACK_API_STDCALL    - Classic 68K pascal, Win32 __cdecl
        !          1281:                CALLBACK_API_C_STDCALL  - Classic 68K C,      Win32 __cdecl
        !          1282: 
        !          1283: ****************************************************************************************************/
        !          1284: #if TARGET_OS_MAC
        !          1285:        /*
        !          1286:                Mac OS
        !          1287:        */
        !          1288:        #define EXTERN_API(_type)                                               extern pascal _type             /* Note: all Mac OS compilers must be able to handle the pascal keyword */
        !          1289:        #define EXTERN_API_C(_type)                                             extern _type
        !          1290:        #define EXTERN_API_STDCALL(_type)                               extern pascal _type
        !          1291:        #define EXTERN_API_C_STDCALL(_type)                             extern _type
        !          1292:        #define CALLBACK_API(_type, _name)                              pascal _type (*_name)
        !          1293:        #define CALLBACK_API_C(_type, _name)                    _type (*_name)
        !          1294:        #define CALLBACK_API_STDCALL(_type, _name)              pascal _type (*_name)
        !          1295:        #define CALLBACK_API_C_STDCALL(_type, _name)    _type (*_name)
        !          1296: #elif TARGET_OS_WIN32
        !          1297:        /*
        !          1298:                Win32 
        !          1299:        */
        !          1300:        #define EXTERN_API(_type)                                               _type __cdecl
        !          1301:        #define EXTERN_API_C(_type)                                             _type __cdecl
        !          1302:        #define EXTERN_API_STDCALL(_type)                               _type __stdcall
        !          1303:        #define EXTERN_API_C_STDCALL(_type)                             _type __stdcall
        !          1304:        #define CALLBACK_API(_type, _name)                              _type (__cdecl * _name)
        !          1305:        #define CALLBACK_API_C(_type, _name)                    _type (__cdecl * _name)
        !          1306:        #define CALLBACK_API_STDCALL(_type, _name)              _type (__stdcall * _name)
        !          1307:        #define CALLBACK_API_C_STDCALL(_type, _name)    _type (__stdcall * _name)
        !          1308:        /* MacOS 68K compilers need pascal keyword on function implementation, but Win32 cannot have it */
        !          1309:        #undef pascal
        !          1310:        #define pascal 
        !          1311: #else
        !          1312:        /*
        !          1313:                Unix or anything else
        !          1314:        */
        !          1315:        #define EXTERN_API(_type)                                               extern _type
        !          1316:        #define EXTERN_API_C(_type)                                             extern _type
        !          1317:        #define EXTERN_API_STDCALL(_type)                               extern _type
        !          1318:        #define EXTERN_API_C_STDCALL(_type)                             extern _type
        !          1319:        #define CALLBACK_API(_type, _name)                              _type (*_name)
        !          1320:        #define CALLBACK_API_C(_type, _name)                    _type (*_name)
        !          1321:        #define CALLBACK_API_STDCALL(_type, _name)              _type (*_name)
        !          1322:        #define CALLBACK_API_C_STDCALL(_type, _name)    _type (*_name)  
        !          1323:        /* MacOS 68K compilers need pascal keyword on function implementation, but unix cannot have it */
        !          1324:        #undef pascal
        !          1325:        #define pascal
        !          1326: #endif
        !          1327: 
        !          1328: 
        !          1329: /*  Backwards compatibility for clients expecting Universal Interfacew 3.0d7 (Interfacer 2.d014) style */
        !          1330: #define EXTERN_API_1   EXTERN_API_STDCALL
        !          1331: #define EXTERN_API_2   EXTERN_API_C_STDCALL
        !          1332: #define EXTERN_API_3   EXTERN_API
        !          1333: #define EXTERN_API_4   EXTERN_API_C
        !          1334: #define CALLBACK_API_1 CALLBACK_API_STDCALL
        !          1335: #define CALLBACK_API_2 CALLBACK_API_C_STDCALL
        !          1336: #define CALLBACK_API_3 CALLBACK_API
        !          1337: #define CALLBACK_API_4 CALLBACK_API_C
        !          1338: 
        !          1339: /****************************************************************************************************
        !          1340:        Backward compatibility for clients expecting 2.x version on ConditionalMacros.h
        !          1341: 
        !          1342:        GENERATINGPOWERPC               - Compiler is generating PowerPC instructions
        !          1343:        GENERATING68K                   - Compiler is generating 68k family instructions
        !          1344:        GENERATING68881                 - Compiler is generating mc68881 floating point instructions
        !          1345:        GENERATINGCFM                   - Code being generated assumes CFM calling conventions
        !          1346:        CFMSYSTEMCALLS                  - No A-traps.  Systems calls are made using CFM and UPP's
        !          1347:        PRAGMA_ALIGN_SUPPORTED  - Compiler supports: #pragma options align=mac68k/power/reset
        !          1348:        PRAGMA_IMPORT_SUPPORTED - Compiler supports: #pragma import on/off/reset
        !          1349: 
        !          1350: ****************************************************************************************************/
        !          1351: #if TARGET_OS_MAC
        !          1352: #define GENERATINGPOWERPC TARGET_CPU_PPC
        !          1353: #define GENERATING68K TARGET_CPU_68K
        !          1354: #define GENERATING68881 TARGET_RT_MAC_68881
        !          1355: #define GENERATINGCFM TARGET_RT_MAC_CFM
        !          1356: #define CFMSYSTEMCALLS TARGET_RT_MAC_CFM
        !          1357: #define PRAGMA_ALIGN_SUPPORTED PRAGMA_STRUCT_ALIGN
        !          1358: #define PRAGMA_IMPORT_SUPPORTED PRAGMA_IMPORT
        !          1359: /*
        !          1360:        NOTE: The FOR_� conditionals were developed to produce integerated
        !          1361:                  interface files for System 7 and Copland.  Now that Copland
        !          1362:                  is canceled, all FOR_ conditionals have been removed from
        !          1363:                  the interface files.  But, just in case you someone got an 
        !          1364:                  interface file that uses them, the following sets the FOR_�
        !          1365:                  conditionals to a consistent, usable state.
        !          1366: 
        !          1367:        #define FOR_OPAQUE_SYSTEM_DATA_STRUCTURES               0
        !          1368:        #ifndef FOR_PTR_BASED_AE
        !          1369:                #define FOR_PTR_BASED_AE                                        0
        !          1370:        #endif
        !          1371:        #define FOR_SYSTEM7_ONLY                                                1
        !          1372:        #define FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED              1
        !          1373:        #define FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE             1
        !          1374:        #define FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE              1
        !          1375:        #define FOR_SYSTEM8_COOPERATIVE                                 0
        !          1376:        #define FOR_SYSTEM8_PREEMPTIVE                                  0
        !          1377: */
        !          1378: #define FOR_OPAQUE_SYSTEM_DATA_STRUCTURES      ..FOR_OPAQUE_SYSTEM_DATA_STRUCTURES_is_an_obsolete_Coplandism..
        !          1379: #define FOR_PTR_BASED_AE                                       ..FOR_PTR_BASED_AE_is_an_obsolete_Coplandism..
        !          1380: #define FOR_SYSTEM7_ONLY                                       ..FOR_SYSTEM7_ONLY_is_an_obsolete_Coplandism..
        !          1381: #define FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED     ..FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED_is_an_obsolete_Coplandism..
        !          1382: #define FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE ..FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE_is_an_obsolete_Coplandism..
        !          1383: #define FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE     ..FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE_is_an_obsolete_Coplandism..
        !          1384: #define FOR_SYSTEM8_COOPERATIVE                        ..FOR_SYSTEM8_COOPERATIVE_is_an_obsolete_Coplandism..
        !          1385: #define FOR_SYSTEM8_PREEMPTIVE                                 ..FOR_SYSTEM8_PREEMPTIVE_is_an_obsolete_Coplandism..
        !          1386: #endif  /* TARGET_OS_MAC */
        !          1387: 
        !          1388: 
        !          1389: 
        !          1390: /****************************************************************************************************
        !          1391: 
        !          1392:        OLDROUTINENAMES                 - "Old" names for Macintosh system calls are allowed in source code.
        !          1393:                                                          (e.g. DisposPtr instead of DisposePtr). The names of system routine
        !          1394:                                                          are now more sensitive to change because CFM binds by name.  In the 
        !          1395:                                                          past, system routine names were compiled out to just an A-Trap.  
        !          1396:                                                          Macros have been added that each map an old name to its new name.  
        !          1397:                                                          This allows old routine names to be used in existing source files,
        !          1398:                                                          but the macros only work if OLDROUTINENAMES is true.  This support
        !          1399:                                                          will be removed in the near future.  Thus, all source code should 
        !          1400:                                                          be changed to use the new names! You can set OLDROUTINENAMES to false
        !          1401:                                                          to see if your code has any old names left in it.
        !          1402:        
        !          1403:        OLDROUTINELOCATIONS     - "Old" location of Macintosh system calls are used.  For example, c2pstr 
        !          1404:                                                          has been moved from Strings to TextUtils.  It is conditionalized in
        !          1405:                                                          Strings with OLDROUTINELOCATIONS and in TextUtils with !OLDROUTINELOCATIONS.
        !          1406:                                                          This allows developers to upgrade to newer interface files without 
        !          1407:                                                          having to change the includes in their source code.  But, it allows
        !          1408:                                                          the slow migration of system calls to more understandable file locations.  
        !          1409:                                                          OLDROUTINELOCATIONS currently defaults to true, but eventually will 
        !          1410:                                                          default to false.
        !          1411: 
        !          1412: ****************************************************************************************************/
        !          1413: #ifndef OLDROUTINENAMES
        !          1414: #define OLDROUTINENAMES 0
        !          1415: #endif  /* !defined(OLDROUTINENAMES) */
        !          1416: 
        !          1417: #ifndef OLDROUTINELOCATIONS
        !          1418: #define OLDROUTINELOCATIONS 0
        !          1419: #endif  /* !defined(OLDROUTINELOCATIONS) */
        !          1420: 
        !          1421: 
        !          1422: 
        !          1423: /****************************************************************************************************
        !          1424:        C specific conditionals
        !          1425: 
        !          1426:        CGLUESUPPORTED                  - Interface library will support "C glue" functions (function names
        !          1427:                                                          are: all lowercase, use C strings instead of pascal strings, use 
        !          1428:                                                          Point* instead of Point).
        !          1429: 
        !          1430: ****************************************************************************************************/
        !          1431: #ifndef CGLUESUPPORTED
        !          1432: #if TARGET_OS_MAC && !defined(THINK_C)
        !          1433: #define CGLUESUPPORTED 1
        !          1434: #else
        !          1435: #define CGLUESUPPORTED 0
        !          1436: #endif  /* TARGET_OS_MAC && !defined(THINK_C) */
        !          1437: 
        !          1438: #endif  /* !defined(CGLUESUPPORTED) */
        !          1439: 
        !          1440: 
        !          1441: 
        !          1442: /****************************************************************************************************
        !          1443:        The following macros isolate the use of 68K inlines in function prototypes.
        !          1444:        On the Mac OS under the Classic 68K runtime, function prototypes were followed
        !          1445:        by a list of 68K opcodes which the compiler inserted in the generated code instead
        !          1446:        of a JSR.  Under Classic 68K on the Mac OS, this macro will put the opcodes
        !          1447:        in the right syntax.  For all other OS's and runtimes the macro suppress the opcodes.
        !          1448:        Example:
        !          1449:        
        !          1450:                EXTERN_P void DrawPicture(PicHandle myPicture, const Rect *dstRect)
        !          1451:                        ONEWORDINLINE(0xA8F6);
        !          1452:        
        !          1453: ****************************************************************************************************/
        !          1454: 
        !          1455: #if TARGET_OS_MAC && !TARGET_RT_MAC_CFM
        !          1456:        #define ONEWORDINLINE(w1) = w1
        !          1457:        #define TWOWORDINLINE(w1,w2) = {w1,w2}
        !          1458:        #define THREEWORDINLINE(w1,w2,w3) = {w1,w2,w3}
        !          1459:        #define FOURWORDINLINE(w1,w2,w3,w4)  = {w1,w2,w3,w4}
        !          1460:        #define FIVEWORDINLINE(w1,w2,w3,w4,w5) = {w1,w2,w3,w4,w5}
        !          1461:        #define SIXWORDINLINE(w1,w2,w3,w4,w5,w6)         = {w1,w2,w3,w4,w5,w6}
        !          1462:        #define SEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7)    = {w1,w2,w3,w4,w5,w6,w7}
        !          1463:        #define EIGHTWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8)         = {w1,w2,w3,w4,w5,w6,w7,w8}
        !          1464:        #define NINEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9)       = {w1,w2,w3,w4,w5,w6,w7,w8,w9}
        !          1465:        #define TENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10)  = {w1,w2,w3,w4,w5,w6,w7,w8,w9,w10}
        !          1466:        #define ELEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11)     = {w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11}
        !          1467:        #define TWELVEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12)         = {w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12}
        !          1468: #else
        !          1469:        #define ONEWORDINLINE(w1)
        !          1470:        #define TWOWORDINLINE(w1,w2)
        !          1471:        #define THREEWORDINLINE(w1,w2,w3)
        !          1472:        #define FOURWORDINLINE(w1,w2,w3,w4)
        !          1473:        #define FIVEWORDINLINE(w1,w2,w3,w4,w5)
        !          1474:        #define SIXWORDINLINE(w1,w2,w3,w4,w5,w6)
        !          1475:        #define SEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7)
        !          1476:        #define EIGHTWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8)
        !          1477:        #define NINEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9)
        !          1478:        #define TENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10)
        !          1479:        #define ELEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11)
        !          1480:        #define TWELVEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12)
        !          1481: #endif
        !          1482: 
        !          1483: 
        !          1484: /****************************************************************************************************
        !          1485: 
        !          1486:        TARGET_CARBON                                   - default: false. Switches all of the above as described.  Overrides all others
        !          1487:                                                                        - NOTE: If you set TARGET_CARBON to 1, then the other switches will be setup by
        !          1488:                                                                                        ConditionalMacros, and should not be set manually.
        !          1489: 
        !          1490:        If you wish to do development for pre-Carbon Systems, you can set the following:
        !          1491: 
        !          1492:        OPAQUE_TOOLBOX_STRUCTS                  - default: false. True for TARGET_CARBON, hides struct fields.
        !          1493:        ACCESSOR_CALLS_ARE_FUNCTIONS    - default: false. True for TARGET_CARBON, preserve old #define-style accessors
        !          1494:        MIXEDMODE_CALLS_ARE_FUNCTIONS   - default: false. True for TARGET_CARBON, turn MixedMode macros into functions
        !          1495:        CALL_NOT_IN_CARBON                              - default: true.  False for TARGET_CARBON, hide calls not supported in Carbon
        !          1496: 
        !          1497: ****************************************************************************************************/
        !          1498: #ifndef TARGET_CARBON
        !          1499: #define TARGET_CARBON 0
        !          1500: #endif  /* !defined(TARGET_CARBON) */
        !          1501: 
        !          1502: #if TARGET_CARBON
        !          1503: #define OPAQUE_TOOLBOX_STRUCTS 1
        !          1504: #define ACCESSOR_CALLS_ARE_FUNCTIONS 1
        !          1505: #define MIXEDMODE_CALLS_ARE_FUNCTIONS 1
        !          1506: #define CALL_NOT_IN_CARBON 0
        !          1507: #else
        !          1508: #ifndef OPAQUE_TOOLBOX_STRUCTS
        !          1509: #define OPAQUE_TOOLBOX_STRUCTS 0
        !          1510: #endif  /* !defined(OPAQUE_TOOLBOX_STRUCTS) */
        !          1511: 
        !          1512: #ifndef ACCESSOR_CALLS_ARE_FUNCTIONS
        !          1513: #define ACCESSOR_CALLS_ARE_FUNCTIONS 0
        !          1514: #endif  /* !defined(ACCESSOR_CALLS_ARE_FUNCTIONS) */
        !          1515: 
        !          1516: /*
        !          1517:         * It's possible to have ACCESSOR_CALLS_ARE_FUNCTIONS set to true and OPAQUE_TOOLBOX_STRUCTS
        !          1518:         * set to false, but not the other way around, so make sure the defines are not set this way.
        !          1519:         */
        !          1520: #if OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
        !          1521: #error OPAQUE_TOOLBOX_STRUCTS cannot be true when ACCESSOR_CALLS_ARE_FUNCTIONS is false
        !          1522: #endif  /* OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS */
        !          1523: 
        !          1524: #ifndef MIXEDMODE_CALLS_ARE_FUNCTIONS
        !          1525: #define MIXEDMODE_CALLS_ARE_FUNCTIONS 0
        !          1526: #endif  /* !defined(MIXEDMODE_CALLS_ARE_FUNCTIONS) */
        !          1527: 
        !          1528: #ifndef CALL_NOT_IN_CARBON
        !          1529: #define CALL_NOT_IN_CARBON 1
        !          1530: #endif  /* !defined(CALL_NOT_IN_CARBON) */
        !          1531: 
        !          1532: #endif  /* TARGET_CARBON */
        !          1533: 
        !          1534: /*
        !          1535:        Conditional forCarbon is a temporary workaround
        !          1536:        for the fact that our Carbon sources don't compile with
        !          1537:        TARGET_OS_MAC set yet.  They compile TARGET_OS_UNIX now.
        !          1538: */
        !          1539: #ifndef forCarbon
        !          1540: #define forCarbon 0
        !          1541: #endif  /* !defined(forCarbon) */
        !          1542: 
        !          1543: 
        !          1544: 
        !          1545: #endif /* __CONDITIONALMACROS__ */
        !          1546: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.