summaryrefslogtreecommitdiff
path: root/includes/pref_structs.h
blob: 3b34b7e80d1986c6b8e16012de8b587a9b823b72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
#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