#pragma once #include "common.h" #ifdef __MWERKS__ #pragma options align=mac68k #endif typedef struct PCmdLine { SInt16 version; SInt16 state; SInt16 stages; SInt16 toDisk; SInt16 outNameOwner; Boolean dryRun; Boolean debugInfo; SInt16 verbose; Boolean showLines; Boolean timeWorking; Boolean noWarnings; Boolean warningsAreErrors; UInt16 maxErrors; UInt16 maxWarnings; SInt16 msgStyle; Boolean noWrapOutput; Boolean stderr2stdout; Boolean noCmdLineWarnings; } PCmdLine; typedef struct PCmdLineCompiler { SInt16 version; Boolean noSysPath; Boolean noFail; SInt16 includeSearch; char linkerName[64]; char objFileExt[15]; char brsFileExt[15]; char ppFileExt[15]; char disFileExt[15]; char depFileExt[15]; char pchFileExt[15]; OSType objFileCreator; OSType objFileType; OSType brsFileCreator; OSType brsFileType; OSType ppFileCreator; OSType ppFileType; OSType disFileCreator; OSType disFileType; OSType depFileCreator; OSType depFileType; Boolean compileIgnored; Boolean relPathInOutputDir; Boolean browserEnabled; Boolean depsOnlyUserFiles; char outMakefile[256]; SInt8 forcePrecompile; Boolean ignoreMissingFiles; Boolean printHeaderNames; SInt8 sbmState; char sbmPath[256]; Boolean canonicalIncludes; Boolean keepObjects; } PCmdLineCompiler; typedef struct PCmdLineLinker { SInt16 version; Boolean callPreLinker; Boolean callPostLinker; Boolean keepLinkerOutput; Boolean callLinker; } PCmdLineLinker; typedef enum { PrefCPU_Generic, PrefCPU_601, PrefCPU_603, PrefCPU_603e, PrefCPU_604, PrefCPU_604e, PrefCPU_750, PrefCPU_Altivec } PrefCPU; typedef struct PBackEnd { SInt16 version; UInt8 structalignment; UInt8 tracebacktables; UInt8 processor; UInt8 readonlystrings; UInt8 profiler; UInt8 fpcontract; UInt8 schedule; UInt8 peephole; UInt8 processorspecific; UInt8 altivec; UInt8 vrsave; UInt8 autovectorize; UInt8 usebuiltins; UInt8 pic; UInt8 dynamic; UInt8 common; UInt8 implicit_templates; UInt8 reserved[3]; } PBackEnd; typedef struct PDisassembler { SInt16 version; Boolean showcode; Boolean extended; Boolean mix; Boolean nohex; Boolean showdata; Boolean showexceptions; Boolean showsym; Boolean shownames; } PDisassembler; typedef struct PMachOLinker { SInt16 version; UInt8 linksym; UInt8 symfullpath; UInt8 suppresswarn; UInt8 linkmap; UInt8 multisymerror; UInt8 whatfileloaded; UInt8 whyfileloaded; UInt8 use_objectivec_semantics; SInt8 undefinedsymbols; SInt8 readonlyrelocs; SInt8 reserved_value1; SInt8 reserved_value2; SInt16 exports; SInt16 reserved_short1; UInt32 currentversion; UInt32 compatibleversion; SInt32 reserved_long1; char mainname[64]; UInt8 prebind; UInt8 dead_strip; UInt8 twolevel_namespace; UInt8 strip_debug_symbols; } PMachOLinker; typedef struct PMachOProject { SInt16 version; SInt16 type; Str63 outfile; OSType filecreator; OSType filetype; SInt32 stacksize; SInt32 stackaddress; SInt32 reserved1; SInt32 reserved2; SInt32 reserved3; SInt32 reserved4; SInt32 reserved5; SInt32 reserved6; SInt32 reserved7; SInt32 reserved8; SInt32 reserved9; SInt32 reserved10; SInt32 reserved11; SInt32 reserved12; SInt32 reserved13; SInt32 reserved14; SInt32 reserved15; SInt32 reserved16; SInt32 reserved17; SInt32 reserved18; SInt32 reserved19; SInt32 reserved20; UInt8 flatrsrc; UInt8 filler1; UInt8 filler2; UInt8 filler3; Str63 separateflatfile; Str255 installpath; } PMachOProject; typedef struct { SInt16 version; Boolean userSetCreator; Boolean userSetType; Boolean gPrintMapToStdOutput; Str255 mapfilename; Str255 symfilename; } PCLTExtras; typedef struct PCmdLineEnvir { SInt16 version; SInt16 cols; SInt16 rows; Boolean underIDE; } PCmdLineEnvir; typedef struct PFrontEndC { SInt16 version; Boolean cplusplus; Boolean checkprotos; Boolean arm; Boolean trigraphs; Boolean onlystdkeywords; Boolean enumsalwaysint; Boolean mpwpointerstyle; unsigned char oldprefixname[32]; Boolean ansistrict; Boolean mpwcnewline; Boolean wchar_type; Boolean enableexceptions; Boolean dontreusestrings; Boolean poolstrings; Boolean dontinline; Boolean useRTTI; Boolean multibyteaware; Boolean unsignedchars; Boolean autoinline; Boolean booltruefalse; Boolean direct_to_som; Boolean som_env_check; Boolean alwaysinline; SInt16 inlinelevel; Boolean ecplusplus; Boolean objective_c; Boolean defer_codegen; // Boolean templateparser; // Boolean c99; // Boolean bottomupinline; } PFrontEndC; typedef struct PWarningC { SInt16 version; Boolean warn_illpragma; Boolean warn_emptydecl; Boolean warn_possunwant; Boolean warn_unusedvar; Boolean warn_unusedarg; Boolean warn_extracomma; Boolean pedantic; Boolean warningerrors; Boolean warn_hidevirtual; Boolean warn_implicitconv; Boolean warn_notinlined; Boolean warn_structclass; } PWarningC; typedef struct PGlobalOptimizer { SInt16 version; UInt8 optimizationlevel; UInt8 optfor; UInt8 reserved[8]; } PGlobalOptimizer; // assumed name/symbols for this one typedef struct PExtraWarningC { UInt8 warn_largeargs; UInt8 warn_padding; UInt8 warn_resultnotused; UInt8 warn_ptr_int_conv; UInt8 warn_no_side_effect; } PExtraWarningC; #ifdef __MWERKS__ #pragma options align=reset #endif