MWCC/includes/pref_structs.h

265 lines
5.8 KiB
C
Raw Permalink Normal View History

#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;
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;
} 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;
} PExtraWarningC;
#ifdef __MWERKS__
#pragma options align=reset
#endif