2022-10-19 20:16:13 +00:00
|
|
|
#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;
|
|
|
|
|
2023-01-11 22:29:53 +00:00
|
|
|
typedef enum {
|
|
|
|
PrefCPU_Generic,
|
|
|
|
PrefCPU_601,
|
|
|
|
PrefCPU_603,
|
|
|
|
PrefCPU_603e,
|
|
|
|
PrefCPU_604,
|
|
|
|
PrefCPU_604e,
|
|
|
|
PrefCPU_750,
|
|
|
|
PrefCPU_Altivec
|
|
|
|
} PrefCPU;
|
|
|
|
|
2022-10-19 20:16:13 +00:00
|
|
|
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;
|
2022-10-25 19:30:28 +00:00
|
|
|
// Boolean templateparser;
|
|
|
|
// Boolean c99;
|
|
|
|
// Boolean bottomupinline;
|
2022-10-19 20:16:13 +00:00
|
|
|
} 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 {
|
2023-01-11 22:29:53 +00:00
|
|
|
UInt8 warn_largeargs;
|
|
|
|
UInt8 warn_padding;
|
|
|
|
UInt8 warn_resultnotused;
|
|
|
|
UInt8 warn_ptr_int_conv;
|
|
|
|
UInt8 warn_no_side_effect;
|
2022-10-19 20:16:13 +00:00
|
|
|
} PExtraWarningC;
|
|
|
|
|
|
|
|
#ifdef __MWERKS__
|
|
|
|
#pragma options align=reset
|
|
|
|
#endif
|