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