/*
* CompilerMapping.h - File Type & Extension => Compiler Mapping for Metrowerks CodeWarrior<6F> *
* Copyright <20> 1995 Metrowerks, Inc. All rights reserved.
*
*/#ifndef __COMPILERMAPPING_H__#define __COMPILERMAPPING_H__#ifdef __MWERKS__# pragma once#endif#ifndef __CWPLUGINS_H__#include"CWPlugins.h"#endif#ifdef __MWERKS__#pragma options align=mac68k#endif#ifdef _MSC_VER#pragma pack(push,2)#endif#ifdef __cplusplusextern"C"{#endif#ifdef __cplusplusconstCWDataTypeLang_C_CPP=CWFOURCHAR('c','+','+','');constCWDataTypeLang_Pascal=CWFOURCHAR('p','a','s','c');constCWDataTypeLang_Rez=CWFOURCHAR('r','e','z','');constCWDataTypeLang_Java=CWFOURCHAR('j','a','v','a');constCWDataTypeLang_MISC=CWFOURCHAR('\?','\?','\?','\?');#else#define Lang_C_CPP CWFOURCHAR('c','+','+',' ')#define Lang_Pascal CWFOURCHAR('p','a','s','c')#define Lang_Rez CWFOURCHAR('r','e','z',' ')#define Lang_Java CWFOURCHAR('j','a','v','a')#define Lang_MISC CWFOURCHAR('\?','\?','\?','\?')#endif/* Compiler flags, as used in member dropinflags of struct DropInFlags returned by compilers */enum{kGeneratescode=1L<<31,/* this compiler generates code */kGeneratesrsrcs=1L<<30,/* this compiler generates resources */kCanpreprocess=1L<<29,/* this compiler can accept a Preprocess request */kCanprecompile=1L<<28,/* this compiler can accept a Precompile request */kIspascal=1L<<27,/* this is the pascal compiler */kCanimport=1L<<26,/* this compiler needs the "Import Weak" popup */kCandisassemble=1L<<25,/* this compiler can disassemble */kPersistent=1L<<24,/* keep the compiler resident except on context switches*/kCompAllowDupFileNames=1L<<23,/* allow multiple project files with the same name */kCompMultiTargAware=1L<<22,/* the compiler can be used with multiple targets */kIsMPAware=1L<<21,/* the compiler can be run in an MP thread */kCompUsesTargetStorage=1L<<20,/* the compiler keeps storage per target */kCompEmitsOwnBrSymbols=1L<<19,/* browser info includes compiler-specific symbols */kCompAlwaysReload=1L<<18,/* always reload the compiler before request */kCompRequiresProjectBuildStartedMsg=1L<<17,/* Compiler listens for project build started messages */kCompRequiresTargetBuildStartedMsg=1L<<16,/* Compiler listens for target build started messages */kCompRequiresSubProjectBuildStartedMsg=1L<<15,/* Compiler listens for Sub project build started messages */kCompRequiresFileListBuildStartedMsg=1L<<14,/* Compiler listens for filelist build started messages */kCompReentrant=1L<<13,/* Compiler can use re-entrant DropIn and is re-entry safe */kCompSavesDbgPreprocess=1<<12,/* Compiler will save preprocessed files for debugging needs */kCompRequiresTargetCompileStartedMsg=1<<11/* Compiler listens for target compile started/ended messages *//* remaining flags are reserved for future use and should be zero-initialized */};/* Compiler mapping flags, used in CompilerMapping.flags & CWExtensionMapping.flags */typedefunsignedlongCompilerMappingFlags;enum{kPrecompile=1L<<31,/* should this file type be Precompiled? */kLaunchable=1L<<30,/* can this file type be double-clicked on? */kRsrcfile=1L<<29,/* does this file type contain resources for linking? */kIgnored=1L<<28/* should files of this type be ignored during Make? *//* remaining flags are reserved for future use and should be zero-initialized */};/* Format of data in 'EMap' resource, or as returned by a compiler's *//* GetExtensionMapping entry point */typedefstructCWExtensionMapping{CWDataTypetype;/* MacOS file type, e.g. 'TEXT' or 0 */charextension[32];/* file extension, e.g. .c/.cp/.pch or "" */CompilerMappingFlagsflags;/* see above