1+ {
2+ "name" : " COSMIC C Compiler For STM8" ,
3+ "id" : " COSMIC_STM8" ,
4+ "useUnixPath" : true ,
5+ "version" : {
6+ "args" : " " ,
7+ "matcher" : " (?<name>COSMIC Software STM8 C Cross Compiler.*?) V(?<version>[\\ d\\ .]+)"
8+ },
9+ "global" : {
10+ "model" : {
11+ "type" : " selectable" ,
12+ "command" : {
13+ "small" : " +model-small" ,
14+ "large" : " +model-large" ,
15+ "small-0" : " +model-small-small" ,
16+ "large-0" : " +model-large-small" ,
17+ "false" : " +model-small"
18+ },
19+ "group" : [
20+ " c/cpp" ,
21+ " asm"
22+ ],
23+ "location" : " first"
24+ },
25+ "cxstm8-config" : {
26+ "type" : " value" ,
27+ "command" : " -f " ,
28+ "group" : [
29+ " c/cpp" ,
30+ " asm"
31+ ],
32+ "location" : " first"
33+ },
34+ "output-list-file" : {
35+ "type" : " selectable" ,
36+ "command" : {
37+ "true" : " -l" ,
38+ "false" : " "
39+ },
40+ "group" : [
41+ " c/cpp" ,
42+ " asm"
43+ ]
44+ },
45+ "output-debug-info" : {
46+ "type" : " selectable" ,
47+ "command" : {
48+ "enable" : " +debug" ,
49+ "disable" : " " ,
50+ "false" : " "
51+ },
52+ "group" : [
53+ " c/cpp" ,
54+ " asm"
55+ ]
56+ },
57+ "no-bss" : {
58+ "type" : " selectable" ,
59+ "command" : {
60+ "true" : " +nobss" ,
61+ "false" : " "
62+ },
63+ "group" : [
64+ " c/cpp" ,
65+ " asm"
66+ ]
67+ },
68+ "const-in-text" : {
69+ "type" : " selectable" ,
70+ "command" : {
71+ "true" : " +nocst" ,
72+ "false" : " "
73+ },
74+ "group" : [
75+ " c/cpp" ,
76+ " asm"
77+ ]
78+ },
79+ "verbose" : {
80+ "type" : " selectable" ,
81+ "command" : {
82+ "true" : " -v" ,
83+ "false" : " "
84+ },
85+ "group" : [
86+ " c/cpp" ,
87+ " asm" ,
88+ " linker"
89+ ]
90+ },
91+ "misc-controls" : {
92+ "type" : " list" ,
93+ "command" : " " ,
94+ "group" : [
95+ " c/cpp" ,
96+ " asm"
97+ ]
98+ }
99+ },
100+ "groups" : {
101+ "c/cpp" : {
102+ "$path" : " cxstm8" ,
103+ "$includes" : {
104+ "body" : " -i ${value}"
105+ },
106+ "$defines" : {
107+ "body" : " -d${key}=${value}"
108+ },
109+ "$output" : " -co \" ${outDir}\" ${in}" ,
110+ "$outputSuffix" : " .o" ,
111+ "$default" : [],
112+ "c99-mode" : {
113+ "type" : " selectable" ,
114+ "command" : {
115+ "true" : " +c99" ,
116+ "false" : " "
117+ }
118+ },
119+ "optimization" : {
120+ "type" : " selectable" ,
121+ "command" : {
122+ "none" : " " ,
123+ "fast" : " +Ofast" ,
124+ "size" : " +Osize" ,
125+ "false" : " "
126+ }
127+ },
128+ "split-functions" : {
129+ "type" : " selectable" ,
130+ "command" : {
131+ "true" : " +ffunction-sections" ,
132+ "false" : " "
133+ }
134+ },
135+ "plain-char-is-unsigned" : {
136+ "type" : " selectable" ,
137+ "command" : {
138+ "true" : " +unsigned-chars" ,
139+ "false" : " "
140+ }
141+ },
142+ "strict-mode" : {
143+ "type" : " selectable" ,
144+ "command" : {
145+ "true" : " +strict" ,
146+ "false" : " "
147+ }
148+ },
149+ "reverse-bits-order" : {
150+ "type" : " selectable" ,
151+ "command" : {
152+ "true" : " +rev" ,
153+ "false" : " "
154+ }
155+ },
156+ "warnings" : {
157+ "type" : " selectable" ,
158+ "command" : {
159+ "less" : " +Wless" ,
160+ "normal" : " +Wnormal" ,
161+ "all" : " +Wall" ,
162+ "false" : " "
163+ }
164+ }
165+ },
166+ "asm" : {
167+ "$path" : " cxstm8" ,
168+ "$includes" : {
169+ "body" : " -i ${value}"
170+ },
171+ "$output" : " -co \" ${outDir}\" ${in}" ,
172+ "$outputSuffix" : " .o" ,
173+ "$default" : [],
174+ "defines" : {
175+ "type" : " list" ,
176+ "command" : " -d"
177+ }
178+ },
179+ "linker" : {
180+ "$path" : " clnk" ,
181+ "$default" : [],
182+ "$output" : " -o ${out}" ,
183+ "$outputSuffix" : " .sm8" ,
184+ "$libs" : {
185+ "body" : " -l ${value}"
186+ },
187+ "$linkMap" : {
188+ "type" : " value" ,
189+ "command" : " -m ${mapPath}"
190+ },
191+ "$matcher" : [
192+ " ^\\ s*start [0-9a-fA-F]+ end [0-9a-fA-F]+ length [0-9a-fA-F\\ s]+ segment .*"
193+ ],
194+ "$lkfPath" : {
195+ "type" : " value" ,
196+ "command" : " "
197+ },
198+ "$LIB_FLAGS" : {
199+ "type" : " list" ,
200+ "command" : " "
201+ },
202+ "LD_FLAGS" : {
203+ "type" : " list" ,
204+ "command" : " "
205+ },
206+ "$outputBin" : [
207+ {
208+ "name" : " output elf file" ,
209+ "toolPath" : " cvdwarf" ,
210+ "outputSuffix" : " .elf" ,
211+ "command" : " ${CXSTM8_USR_ARGS__cvdwarf} -o ${output} ${linkerOutput}"
212+ },
213+ {
214+ "name" : " output hex file" ,
215+ "toolPath" : " chex" ,
216+ "outputSuffix" : " .hex" ,
217+ "command" : " ${CXSTM8_USR_ARGS__chex} ${CXSTM8_USR_ARGS__chex_hex} -fi -o ${output} ${linkerOutput}"
218+ },
219+ {
220+ "name" : " output s19 file" ,
221+ "toolPath" : " chex" ,
222+ "outputSuffix" : " .s19" ,
223+ "command" : " ${CXSTM8_USR_ARGS__chex} ${CXSTM8_USR_ARGS__chex_s19} -fm -o ${output} ${linkerOutput}"
224+ }
225+ ]
226+ },
227+ "linker-lib" : {
228+ "$path" : " clib" ,
229+ "$objPathSep" : " " ,
230+ "$outputSuffix" : " .lib" ,
231+ "$output" : " -c -v ${out} ${in}"
232+ }
233+ }
234+ }
0 commit comments