/*
* DropInCompilerLinker.h - Drop-In Interface for Metrowerks CodeWarrior<6F> Compilers and Linkers
*
* Copyright <20> 1996 Metrowerks, Inc. All rights reserved.
*
*/#ifndef __DROPINCOMPILERLINKER_H__#define __DROPINCOMPILERLINKER_H__#ifdef __MWERKS__# pragma once#endif#ifndef __CWPlugins_H__#include"CWPlugins.h"#endif#ifndef __COMPILERMAPPING_H__#include"CompilerMapping.h"#endif#ifdef __MWERKS__#pragma options align=mac68k#endif#ifdef _MSC_VER#pragma pack(push,2)#endif#ifdef __cplusplusextern"C"{#endif#if CW_USE_PRAGMA_IMPORT#pragma import on#endif/* this is the current version number of the API documented herein */#define DROPINCOMPILERLINKERAPIVERSION_4 4#define DROPINCOMPILERLINKERAPIVERSION_5 5#define DROPINCOMPILERLINKERAPIVERSION_6 6#define DROPINCOMPILERLINKERAPIVERSION_7 7#define DROPINCOMPILERLINKERAPIVERSION_8 8#define DROPINCOMPILERLINKERAPIVERSION_9 9#define DROPINCOMPILERLINKERAPIVERSION_10 10#define DROPINCOMPILERLINKERAPIVERSION_11 11#define DROPINCOMPILERLINKERAPIVERSION_12 12#define DROPINCOMPILERLINKERAPIVERSION_13 13#define DROPINCOMPILERLINKERAPIVERSION DROPINCOMPILERLINKERAPIVERSION_13/* deprecated request codes */enum{reqInitCompiler=reqInitialize,/* (called when compiler is loaded) */reqTermCompiler=reqTerminate,/* (called when compiler is unloaded) */reqInitLinker=reqInitialize,/* (called when linker is loaded) */reqTermLinker=reqTerminate/* (called when linker is unloaded) */};/* request codes (common) */enum{reqTargetCompileEnded=-17,/* Sent when target's compile phase ends */reqTargetCompileStarted=-16,/* Sent when target's compile phase starts */reqTargetLinkEnded=-15,/* Sent when the link has ended */reqTargetLinkStarted=-14,/* Sent when the link starts */reqFileListBuildEnded=-13,/* Sent when the group file build ends */reqFileListBuildStarted=-12,/* Sent when the group file build starts */reqSubProjectBuildEnded=-11,/* Sent when subproject's build ends */reqSubProjectBuildStarted=-10,/* Sent when subproject's build starts */reqTargetBuildEnded=-9,/* Sent when target's build ends */reqTargetBuildStarted=-8,/* Sent when target's build starts */reqProjectBuildEnded=-7,/* Sent when project build ends */reqProjectBuildStarted=-6,/* Sent when project build starts */reqTargetLoaded=-5,/* called when the "keeps target info" flag is set */reqTargetPrefsChanged=-4,/* called when the "keeps target info" flag is set */reqTargetUnloaded=-3/* called when the "keeps target info" flag is set */};/* requests codes (compilers) */enum{reqCompile=0,/* compile/precompile/preprocess source file *//* and return results */reqMakeParse,/* used internally by Metrowerks */reqCompDisassemble,/* disassemble a specific file in the project */reqCheckSyntax,/* check syntax, but don't generate code */reqPreprocessForDebugger/* when preprocess, don't open window w/results */};/* requests codes (linkers) */enum{reqLink=0,/* link project and generate executable or library */reqDisassemble,/* disassemble a specific file in the project */reqTargetInfo,/* get info about the generated executable */reqPreRun/* give linker a last chance to modify target info */};/* Returned as part of CWFileInfo to indicate the *//* type of data pointed to by the filedata pointer */enum{filetypeText,/* data is text */filetypeUnknown/* unknown type, could be precompiled header */};/* executable linkage types, used in CWTargetInfo.linkType */enum{exelinkageFlat,/* flat executable */exelinkageSegmented,/* uses 68K code segments */exelinkageOverlay1/* uses overlay groups and overlays */};/* out