1
+ {
2
+ "title" : " SDCC + Binutils Options" ,
3
+ "$schema" : " http://json-schema.org/draft-04/schema#" ,
4
+ "type" : " object" ,
5
+ "definitions" : {
6
+ "misc-controls" : {
7
+ "markdownDescription" : " Other Options" ,
8
+ "description.zh-cn" : " 其他选项" ,
9
+ "size" : " huge" ,
10
+ "type" : " string" ,
11
+ "default" : " "
12
+ },
13
+ "FLAGS" : {
14
+ "markdownDescription" : " Options" ,
15
+ "description.zh-cn" : " 选项" ,
16
+ "size" : " huge" ,
17
+ "type" : " string" ,
18
+ "default" : " "
19
+ }
20
+ },
21
+ "properties" : {
22
+ "beforeBuildTasks" : {
23
+ "markdownDescription" : " List of commands to execute before build" ,
24
+ "description.zh-cn" : " 构建前要执行的命令列表" ,
25
+ "type" : " array" ,
26
+ "default" : [
27
+ {
28
+ "name" : " clean" ,
29
+ "command" : " del /Q \" ${OutDir}\\ *.*\" "
30
+ }
31
+ ],
32
+ "items" : {
33
+ "type" : " object" ,
34
+ "required" : [
35
+ " name" ,
36
+ " command"
37
+ ],
38
+ "properties" : {
39
+ "name" : {
40
+ "markdownDescription" : " A readable name for display" ,
41
+ "description.zh-cn" : " 用于显示的可读名称" ,
42
+ "type" : " string"
43
+ },
44
+ "command" : {
45
+ "markdownDescription" : " Shell command line" ,
46
+ "description.zh-cn" : " Shell 命令行" ,
47
+ "type" : " string"
48
+ },
49
+ "disable" : {
50
+ "markdownDescription" : " Disable this command" ,
51
+ "description.zh-cn" : " 禁用此命令" ,
52
+ "type" : " boolean" ,
53
+ "enum" : [
54
+ true ,
55
+ false
56
+ ]
57
+ },
58
+ "abortAfterFailed" : {
59
+ "markdownDescription" : " Whether to skip subsequent commands if this command failed" ,
60
+ "description.zh-cn" : " 是否在此命令失败时,跳过后续的命令" ,
61
+ "type" : " boolean" ,
62
+ "enum" : [
63
+ true ,
64
+ false
65
+ ]
66
+ },
67
+ "stopBuildAfterFailed" : {
68
+ "markdownDescription" : " Whether to stop compiling directly when this command failed" ,
69
+ "description.zh-cn" : " 是否在此命令失败时,直接停止编译" ,
70
+ "type" : " boolean" ,
71
+ "enum" : [
72
+ true ,
73
+ false
74
+ ]
75
+ }
76
+ }
77
+ }
78
+ },
79
+ "afterBuildTasks" : {
80
+ "markdownDescription" : " List of commands to execute after build" ,
81
+ "description.zh-cn" : " 构建结束后要执行的命令列表" ,
82
+ "type" : " array" ,
83
+ "default" : [
84
+ {
85
+ "name" : " clean" ,
86
+ "command" : " del \" ${OutDir}\\ *._*\" "
87
+ }
88
+ ],
89
+ "items" : {
90
+ "type" : " object" ,
91
+ "required" : [
92
+ " name" ,
93
+ " command"
94
+ ],
95
+ "properties" : {
96
+ "name" : {
97
+ "markdownDescription" : " A readable name for display" ,
98
+ "description.zh-cn" : " 用于显示的可读名称" ,
99
+ "type" : " string"
100
+ },
101
+ "command" : {
102
+ "markdownDescription" : " Shell command line" ,
103
+ "description.zh-cn" : " Shell 命令行" ,
104
+ "type" : " string"
105
+ },
106
+ "disable" : {
107
+ "markdownDescription" : " Disable this command" ,
108
+ "description.zh-cn" : " 禁用此命令" ,
109
+ "type" : " boolean" ,
110
+ "enum" : [
111
+ true ,
112
+ false
113
+ ]
114
+ },
115
+ "abortAfterFailed" : {
116
+ "markdownDescription" : " Whether to skip subsequent commands if this command failed" ,
117
+ "description.zh-cn" : " 是否在此命令失败时,跳过后续的命令" ,
118
+ "type" : " boolean" ,
119
+ "enum" : [
120
+ true ,
121
+ false
122
+ ]
123
+ }
124
+ }
125
+ }
126
+ },
127
+ "global" : {
128
+ "markdownDescription" : " Global Options" ,
129
+ "description.zh-cn" : " 全局选项" ,
130
+ "type" : " object" ,
131
+ "properties" : {
132
+ "mem-model" : {
133
+ "type" : " string" ,
134
+ "markdownDescription" : " Memory Model" ,
135
+ "default" : " small" ,
136
+ "enum" : [
137
+ " small" ,
138
+ " large"
139
+ ]
140
+ },
141
+ "iram-size" : {
142
+ "markdownDescription" : " Internal RAM Size (idata)" ,
143
+ "size" : " small" ,
144
+ "type" : " string" ,
145
+ "default" : " 128"
146
+ },
147
+ "xram-size" : {
148
+ "markdownDescription" : " External RAM Size (xdata)" ,
149
+ "size" : " small" ,
150
+ "type" : " string" ,
151
+ "default" : " 0"
152
+ },
153
+ "code-size" : {
154
+ "markdownDescription" : " Flash Size (code)" ,
155
+ "size" : " small" ,
156
+ "type" : " string" ,
157
+ "default" : " 8192"
158
+ },
159
+ "optimize-type" : {
160
+ "type" : " string" ,
161
+ "readable_name" : " Optimization Level" ,
162
+ "markdownDescription" : " Optimization Level" ,
163
+ "description.zh-cn" : " 代码优化级别" ,
164
+ "default" : " balanced" ,
165
+ "enum" : [
166
+ " speed" ,
167
+ " balanced" ,
168
+ " size"
169
+ ]
170
+ },
171
+ "peep-asm" : {
172
+ "type" : " boolean" ,
173
+ "readable_name" : " Peephole Optimize Inline Assembly Code" ,
174
+ "markdownDescription" : " Enable peephole optimization on inline assembly" ,
175
+ "enum" : [
176
+ true ,
177
+ false
178
+ ]
179
+ },
180
+ "peep-return" : {
181
+ "type" : " boolean" ,
182
+ "readable_name" : " Peephole Optimize 'return' Instructions" ,
183
+ "markdownDescription" : " Enable peephole optimization for return instructions" ,
184
+ "enum" : [
185
+ true ,
186
+ false
187
+ ]
188
+ },
189
+ "allow-unsafe-read" : {
190
+ "type" : " boolean" ,
191
+ "readable_name" : " Allow Unsafe Memory Read" ,
192
+ "markdownDescription" : " Allow optimizations to read any memory location anytime" ,
193
+ "enum" : [
194
+ true ,
195
+ false
196
+ ]
197
+ },
198
+ "plain-char-is-signed" : {
199
+ "type" : " boolean" ,
200
+ "readable_name" : " Plain Char Is Signed" ,
201
+ "markdownDescription" : " Plain char is signed" ,
202
+ "enum" : [
203
+ true ,
204
+ false
205
+ ]
206
+ },
207
+ "misc-controls" : {
208
+ "markdownDescription" : " Other Global Options" ,
209
+ "description.zh-cn" : " 编译器附加选项(全局)" ,
210
+ "$ref" : " #/definitions/misc-controls"
211
+ }
212
+ }
213
+ },
214
+ "c/cpp-compiler" : {
215
+ "markdownDescription" : " C/C++ Compiler Options" ,
216
+ "description.zh-cn" : " C/C++ 编译器选项" ,
217
+ "type" : " object" ,
218
+ "properties" : {
219
+ "language-c" : {
220
+ "markdownDescription" : " C Standard" ,
221
+ "description.zh-cn" : " C 标准" ,
222
+ "type" : " string" ,
223
+ "default" : " c99" ,
224
+ "enum" : [
225
+ " c89" ,
226
+ " sdcc89" ,
227
+ " c95" ,
228
+ " c99" ,
229
+ " sdcc99" ,
230
+ " c11" ,
231
+ " sdcc11" ,
232
+ " c2x" ,
233
+ " sdcc2x"
234
+ ]
235
+ },
236
+ "misc-controls" : {
237
+ "markdownDescription" : " Other C Compiler Options" ,
238
+ "description.zh-cn" : " C 编译器附加选项" ,
239
+ "$ref" : " #/definitions/misc-controls"
240
+ }
241
+ }
242
+ },
243
+ "asm-compiler" : {
244
+ "markdownDescription" : " Assembler Options" ,
245
+ "description.zh-cn" : " 汇编器选项" ,
246
+ "type" : " object" ,
247
+ "properties" : {
248
+ "defines" : {
249
+ "markdownDescription" : " Define Symbols" ,
250
+ "type" : " array" ,
251
+ "items" : {
252
+ "type" : " string"
253
+ }
254
+ },
255
+ "ASM_FLAGS" : {
256
+ "markdownDescription" : " Assembler Options" ,
257
+ "description.zh-cn" : " 汇编器参数" ,
258
+ "$ref" : " #/definitions/FLAGS" ,
259
+ "default" : " "
260
+ }
261
+ }
262
+ },
263
+ "linker" : {
264
+ "markdownDescription" : " Linker Options" ,
265
+ "description.zh-cn" : " 链接器选项" ,
266
+ "type" : " object" ,
267
+ "properties" : {
268
+ "output-format" : {
269
+ "type" : " string" ,
270
+ "default" : " hex" ,
271
+ "description" : " Output Format" ,
272
+ "description.zh-cn" : " 输出格式" ,
273
+ "enum" : [
274
+ " elf" ,
275
+ " lib"
276
+ ],
277
+ "enumDescriptions" : [
278
+ " ELF" ,
279
+ " LIB"
280
+ ]
281
+ },
282
+ "remove-unused-input-sections" : {
283
+ "markdownDescription" : " Remove Unused Input Sections (--gc-sections)" ,
284
+ "type" : " boolean" ,
285
+ "default" : false
286
+ },
287
+ "misc-controls" : {
288
+ "markdownDescription" : " Other Linker Options" ,
289
+ "description.zh-cn" : " 链接器附加选项" ,
290
+ "$ref" : " #/definitions/misc-controls"
291
+ },
292
+ "LIB_FLAGS" : {
293
+ "readable_name" : " Lib Flags" ,
294
+ "readable_name.zh-cn" : " 链接库选项" ,
295
+ "markdownDescription" : " Lib Flags, like: -lxxx" ,
296
+ "description.zh-cn" : " 链接库选项,例如:-lxxx" ,
297
+ "$ref" : " #/definitions/FLAGS" ,
298
+ "default" : " "
299
+ },
300
+ "object-order" : {
301
+ "type" : " array" ,
302
+ "readable_name" : " Object Order" ,
303
+ "readable_name.zh-cn" : " Object Order" ,
304
+ "markdownDescription" : " Object Order (used to determine the order in which object files are linked)" ,
305
+ "description.zh-cn" : " Object Order(用于决定某些 obj 文件的链接顺序)" ,
306
+ "default" : [],
307
+ "items" : {
308
+ "type" : " object" ,
309
+ "properties" : {
310
+ "pattern" : {
311
+ "type" : " string" ,
312
+ "readable_name" : " Pattern" ,
313
+ "description" : " A glob pattern (https://github.com/dazinator/DotNet.Glob) to match a object (*.o) file" ,
314
+ "default" : " **/your/pattern/for/object/file/path/*.o"
315
+ },
316
+ "order" : {
317
+ "type" : " number" ,
318
+ "readable_name" : " Order" ,
319
+ "description" : " An integer number (The smaller the value, the higher the priority)" ,
320
+ "default" : 0
321
+ }
322
+ }
323
+ }
324
+ }
325
+ }
326
+ }
327
+ }
328
+ }
0 commit comments