AQStack test code.
[reglxgmr.git] / tools / cmpl / defination / buildstep.imi
blob4d42cee7a7e1b84794aeca966e960f10e45d20c9
2 COMPILER_TYPE=gcc
3 SYSTEM_TYPE=linux
5 #. fextname.imi
6 #. lang.list
16 # build sub-cmd map to step.
18 build_map="
19 default STEP_DEFAULT
20 all STEP_ALL
21 full STEP_FULL
22 doc STEP_DOC
23 umdoc STEP_UMDOC
24 test STEP_TEST
25 src STEP_SRC
26 pkg STEP_PKG
29 STEP_SRC="STEP_BUILD_DEST"
31 STEP_DOC=""
32 STEP_UMDOC=""
33 STEP_TEST=""
35 STEP_PKG=""
36 STEP_INST=""
38 STEP_DEFAULT=""
39 STEP_ALL=""
40 STEP_FULL=""
43 ###########################################################
44 # pre-build step
45 ##########################################################
48 # dest build step
50 STEP_PREPROC="
51         STEP_TOOLCHAIN_CHK 
52         STEP_DEV_ENV_CHK 
53         STEP_DEP_LIB_CHK 
54         STEP_DEP_SYSHDR_CHK 
55         STEP_CONFIG_GEN 
56         STEP_VERSION_GEN"
58 # steps before dest-constructing.
59 STEP_TOOLCHAIN_CHK="toolchain_chk()"
60 STEP_DEV_ENV_CHK="dev_env_chk()"
61 STEP_DEP_LIB_CHK="dep_lib_chk()"
62 STEP_DEP_SYSHDR_CHK="dep_syshdr_chk()"
64 STEP_CONFIG_GEN="config_gen()"
65 STEP_VERSION_GEN="version_gen()"
68 ###########################################################
69 # main compile build step
70 ###########################################################
73 # todo: 
74 # @ append second parameter with item in first list.
78 STEP_ONE_DEST_INIT="step_one_dest_init()"
79 STEP_BUILD_ONE_DEST="step_build_one_dest()"
80 # STEP_CONSTRUCT_INIT="construct_init()"
81 STEP_HOSTUTILS_LN2HOST="step_hostutils_ln2host()"
82 STEP_HOSTUTILS_PREV_INIT="step_hostutils_prev_init()"
83 STEP_HOSTUTILS_POST_INIT="step_hostutils_post_init()"
86 STEP_BUILD_DEST="
87         STEP_PRI_PREV_CONSTRUCT
88         TASKLIST(DEST_LIST_Y, STEP_BUILD_ONE_DEST)
89         STEP_PRI_POST_CONSTRUCT"
91 STEP_DEFAULT_DEST="
92         STEP_ONE_DEST_INIT(DEST_NAME)
93         STEP_PRI_PREV_DEST_BUILD
94 #       STEP_DEST_CHK(DEST_NAME)
95         TASKLIST(LANG_LIST_Y, STEP_LANG_SRC_TPCHK)
96         TASKLIST(LANG_LIST_Y, STEP_LANG_CMPL) 
97         STEP_LINK(OBJ_LIST, DEST_FILENAME) 
98 # put this step into STEP_LINK
99 #       STEP_PROGINFO(DEBUG)
100         STEP_PRI_POST_DEST_BUILD"
102 # TBD: append corresponding dest steps, 
103 # some of them need STRIP in non DEBUG version.
104 #       STEP_STRIP(DEBUG) 
106 # TBD:
107 # STEP_OBJLIST2SRCLIST=objlist2srclist
109 STEP_EXE_DEST="STEP_DEFAULT_DEST
110         STEP_STRIP(DEBUG)"
111 STEP_DLL_DEST="STEP_DEFAULT_DEST
112         STEP_STRIP(DEBUG)"
113 STEP_LIB_DEST="STEP_DEFAULT_DEST"
114 STEP_LIBDLL_DEST="STEP_DEFAULT_DEST"
115 STEP_DRV_DEST="STEP_DEFAULT_DEST
116         STEP_STRIP(DEBUG)"
117 STEP_LA_DEST="STEP_DEFAULT_DEST"
118 STEP_LO_DEST="STEP_DEFAULT_DEST"
119 STEP_OBJ_DEST="STEP_DEFAULT_DEST"
121 STEP_UNITLIB_DEST="
122         STEP_ONE_DEST_INIT(DEST_NAME)
123         STEP_PRI_PREV_DEST_BUILD
124         TASKLIST(LANG_LIST_Y, STEP_LANG_SRC_TPCHK) 
125         TASKLIST(LANG_LIST_Y, STEP_LANG_CMPL) 
126         STEP_LINK(OBJ_LIST, DEST_FILENAME) 
127         TASKLIST(LANG_LIST_Y, STEP_LANG_SRC2UNITSRC) 
128         TASKLIST(LANG_LIST_Y, STEP_LANG_SRC_TPCHK) 
129         TASKLIST(LANG_LIST_Y, STEP_LANG_CMPL)
130         STEP_LINK(OBJ_LIST, DEST_FILENAME) 
131 #       TASKLIST(LANG_LIST_Y, STEP_STRIP(DEBUG))
132         STEP_PRI_POST_DEST_BUILD"
134 STEP_OBJLIST_DEST="
135         STEP_OBJLIST2SRCLIST
136         TASKLIST(LANG_LIST_Y, STEP_LANG_CMPL)"
138 STEP_EXELIST_DEST="
139         STEP_ONE_DEST_INIT(DEST_NAME)
140         STEP_PRI_PREV_DEST_BUILD
141 #       TASKLIST(LANG_LIST_Y, STEP_LANG_SRC_TPCHK) 
142         TASKLIST(LANG_LIST_Y, STEP_LANG_SRC2EXE) 
143 #       TASKLIST(LANG_LIST_Y, STEP_STRIP(DEBUG))
144         STEP_PRI_POST_DEST_BUILD"
146 STEP_HOSTUTILS_DEST="
147         STEP_ONE_DEST_INIT(DEST_NAME)
148         STEP_PRI_PREV_DEST_BUILD
149         STEP_HOSTUTILS_PREV_INIT
150 #       TASKLIST(LANG_LIST_Y, STEP_LANG_SRC_TPCHK) 
151         TASKLIST(LANG_LIST_Y, STEP_LANG_SRC2EXE) 
152 #       TASKLIST(LANG_LIST_Y, STEP_STRIP(DEBUG))
153 #       STEP_HOSTUTILS_LN2HOST
154         STEP_HOSTUTILS_POST_INIT
155         STEP_PRI_POST_DEST_BUILD"
157         
158 STEP_HEX_DEST="STEP_DEFAULT_DEST STEP_EXE2HEX"
159 STEP_BIN_DEST="STEP_DEFAULT_DEST STEP_EXE2BIN"
162 ###########################################################
163 # DOC build step
164 ###########################################################
166 # TBD: have not been implemented.
167 STEP_BUILD_DOC="
168         TASKLIST(HELPER_DOC_LIST, STEP_DOC_BUILD)
169         TASKLIST(UMDOC_LIST, STEP_DOC_BUILD)
170         TASKLIST(WEBDOC_LIST, STEP_DOC_BUILD)"
173 ###########################################################
174 # src build step
175 ###########################################################
177 TASKLIST="step_tasklist()"
178 STEP_STRIP="progstrip()"
179 STEP_PROGINFO="prog_sizeinfo()"
181 STEP_LANG_SRC_TPCHK="step_lang_src_tpchk()"
182 STEP_LANG_CMPL="step_one_lang_cmpl()"
183 # TBD:
184 STEP_LANG_SRC2EXE="step_lang_src2exe()"
185 STEP_LANG_SRC2UNITSRC="step_lang_src2unitsrc()"
188 ###############################################
189 # src compile
193 # dest names are named as "exe/dll/lib/drv", it'scan
194 # the short name of output file, it doesn't means
195 # that it uses windows sytle name. if it use 'elf' for
196 # a executable file, it's not general in various env.
199 # C_SRC_LIST defined in .list file
200 STEP_C_LANG_CMPL="TASKLIST(C_SRC_CMPL_LIST, STEP_C_SRC_CMPL)"
201 STEP_C_SRC_CMPL="
202         STEP_PRI_PREV_CMPL
203         tpchk()
204         c2o()
205         cmpl_dbgout()
206         STEP_PRI_POST_CMPL"
208 # CXX_SRC_LIST defined in .list file
209 STEP_CXX_LANG_CMPL="TASKLIST(CXX_SRC_CMPL_LIST, STEP_CXX_SRC_CMPL)"
210 STEP_CXX_SRC_CMPL="
211         STEP_PRI_PREV_CMPL
212         tpchk()
213         cxx2o()
214         cmpl_dbgout()
215         STEP_PRI_POST_CMPL"
217 # CPP_SRC_LIST defined in .list file
218 STEP_CPP_LANG_CMPL="TASKLIST(CPP_SRC_CMPL_LIST, STEP_CPP_SRC_CMPL)"
219 STEP_CPP_SRC_CMPL="
220         STEP_PRI_PREV_CMPL
221         tpchk()
222         cpp2o()
223         cmpl_dbgout()
224         STEP_PRI_POST_CMPL"
226 # ASM_SRC_LIST defined in .list file
227 STEP_ASM_LANG_CMPL="TASKLIST(ASM_SRC_CMPL_LIST, STEP_ASM_SRC_CMPL)"
228 STEP_ASM_SRC_CMPL="
229         STEP_PRI_PREV_CMPL
230         tpchk()
231         asm2o()
232         cmpl_dbgout()
233         STEP_PRI_POST_CMPL"
235 # SH_SRC_LIST defined in .list file
236 STEP_SH_LANG_CMPL="TASKLIST(SH_SRC_CMPL_LIST, STEP_SH_SRC_CMPL)"
237 STEP_SH_SRC_CMPL="
238         STEP_PRI_PREV_CMPL
239         tpchk()
240         sh2o()
241         cmpl_dbgout()
242         STEP_PRI_POST_CMPL"
244 ###############################################
245 # src2exe
248 # C_SRC_FILE_LIST_Y defined in .list file
249 STEP_C_LANG_SRC2EXE="TASKLIST(C_SRC_FILE_LIST_Y, STEP_C_SRC2EXE)"
250 STEP_C_SRC2EXE="
251         STEP_PRI_PREV_CMPL
252         STEP_PRI_PREV_LINK
253         srcdesttpchk()
254         c2exe()
255         src2exe_dbgout()
256         STEP_PRI_POST_CMPL
257         STEP_PRI_POST_LINK"
259 # CXX_SRC_FILE_LIST_Y defined in .list file
260 STEP_CXX_LANG_SRC2EXE="TASKLIST(CXX_SRC_FILE_LIST_Y, STEP_CXX_SRC2EXE)"
261 STEP_CXX_SRC2EXE="
262         STEP_PRI_PREV_CMPL
263         STEP_PRI_PREV_LINK
264         srcdesttpchk()
265         STEP_cxx2exe()
266         src2exe_dbgout()
267         STEP_PRI_POST_CMPL
268         STEP_PRI_POST_LINK"
270 # CPP_SRC_FILE_LIST_Y defined in .list file
271 STEP_CPP_LANG_SRC2EXE="TASKLIST(CPP_SRC_FILE_LIST_Y, STEP_CPP_SRC2EXE)"
272 STEP_CPP_SRC2EXE="
273         STEP_PRI_PREV_CMPL
274         STEP_PRI_PREV_LINK
275         srcdesttpchk()
276         cpp2exe()
277         src2exe_dbgout()
278         STEP_PRI_POST_CMPL
279         STEP_PRI_POST_LINK"
281 # ASM_SRC_FILE_LIST_Y defined in .list file
282 STEP_ASM_LANG_SRC2EXE="TASKLIST(ASM_SRC_FILE_LIST_Y, STEP_ASM_SRC2EXE)"
283 STEP_ASM_SRC2EXE="
284         STEP_PRI_PREV_CMPL
285         STEP_PRI_PREV_LINK
286         srcdesttpchk()
287         asm2exe()
288         src2exe_dbgout()
289         STEP_PRI_PREV_CMPL
290         STEP_PRI_POST_LINK"
292 # SH_SRC_FILE_LIST_Y defined in .list file
293 STEP_SH_LANG_SRC2EXE="TASKLIST(SH_SRC_FILE_LIST_Y, STEP_SH_SRC2EXE)"
294 STEP_SH_SRC2EXE="
295         STEP_PRI_PREV_CMPL
296         STEP_PRI_PREV_LINK
297         srcdesttpchk()
298         sh2exe()
299         src2exe_dbgout()
300         STEP_PRI_POST_CMPL
301         STEP_PRI_POST_LINK"
303 ###############################################
304 # link
307 # LINK()
308 STEP_LINK="step_link()"
310 # build steps below is setted accroding DEST_TYPE in dest.imi
311 STEP_EXE_LINK="
312         STEP_PRI_PREV_LINK
313         desttpchk()
314         o2exe()
315         link_dbgout()
316         STEP_PROGINFO(DEBUG)
317         STEP_PRI_POST_LINK"
318 STEP_DLL_LINK="
319         STEP_PRI_PREV_LINK
320         desttpchk()
321         o2dll()
322         link_dbgout()
323         STEP_PROGINFO(DEBUG)
324         STEP_PRI_POST_LINK"
325 STEP_LIBDLL_LINK="
326         STEP_PRI_PREV_LINK
327         desttpchk()
328         o2libdll()
329         link_dbgout()
330         STEP_PROGINFO(DEBUG)
331         STEP_PRI_POST_LINK"
332 STEP_UNITLIB_LINK="
333         STEP_PRI_PREV_LINK
334         desttpchk()
335         o2lib()
336         link_dbgout()
337         STEP_PROGINFO(DEBUG)
338         STEP_PRI_POST_LINK"
339 STEP_UNITLIBDLL_LINK="
340         STEP_PRI_PREV_LINK
341         desttpchk()
342         o2libdll()
343         unitlist()
344         o2libdll()
345         link_dbgout()
346         STEP_PROGINFO(DEBUG)
347         STEP_PRI_POST_LINK"
348 STEP_DRV_LINK="
349         STEP_PRI_PREV_LINK
350         desttpchk()
351         o2drv()
352         link_dbgout()
353         STEP_PROGINFO(DEBUG)
354         STEP_PRI_POST_LINK"
355 STEP_LIB_LINK="
356         STEP_PRI_PREV_LINK
357         desttpchk()
358         o2lib()
359         link_dbgout()
360         STEP_PROGINFO(DEBUG)
361         STEP_PRI_POST_LINK"
362 STEP_LA_LINK="
363         STEP_PRI_PREV_LINK
364         desttpchk()
365         o2la()
366         link_dbgout()
367         STEP_PROGINFO(DEBUG)
368         STEP_PRI_POST_LINK"
369 STEP_O_LINK="
370         STEP_PRI_PREV_LINK
371         desttpchk()
372         o2o()
373         link_dbgout()
374         STEP_PROGINFO(DEBUG)
375         STEP_PRI_POST_LINK"
376 STEP_LO_LINK="
377         STEP_PRI_PREV_LINK
378         desttpchk()
379         o2lo()
380         link_dbgout()
381         STEP_PROGINFO(DEBUG)
382         STEP_PRI_POST_LINK"
385 ###############################################
386 # prev-post-proc
387 # those proc functions are defined in <srcpkg>.shlib,
388 # it's a privaate function for a srcpkg.
391 # private steps in a dest-constructing.
392 STEP_PRI_PREV_CONSTRUCT="on_prev_construct()"
393 STEP_PRI_POST_CONSTRUCT="on_post_construct()"
394 STEP_PRI_PREV_DEST_BUILD="on_prev_dest_build()"
395 STEP_PRI_POST_DEST_BUILD="on_post_dest_build()"
396 STEP_PRI_PREV_CMPL="on_prev_cmpl()"
397 STEP_PRI_POST_CMPL="on_post_cmpl()"
398 STEP_PRI_PREV_LINK="on_prev_link()"
399 STEP_PRI_POST_LINK="on_post_link()"
400 STEP_PRI_PREV_INSTPKG_GEN="on_prev_instpkg_gen()"
401 STEP_PRI_POST_INSTPKG_GEN="on_post_instpkg_gen()"
402 STEP_PRI_PREV_ARCH_BUILD="on_prev_arch_build()"
403 STEP_PRI_POST_ARCH_BUILD="on_post_arch_build()"
406 #################################################################
407 # document gen.
408 # TBD:
410 STEP_DOC_GEN=(
411 "[STEP_TEX_2_MAN STEP_TEX_2_TXT STEP_TEX_2_PDF STEP_TEX_2_HTML STEP_MD_2_HTML STEP_HTML_2_CHM ]"
412 STEP_INFO_2_MAN
413 STEP_INFO_2_HTML
414 STEP_INFO_2_PDF
415 STEP_TEX_2_MAN
416 STEP_TEX_2_INFO
417 STEP_TEX_2_TXT
418 STEP_TEX_2_PDF
419 STEP_TEX_2_HTML
420 STEP_TEX_2_DVI
421 STEP_TEX_2_DOCBOOK
422 STEP_DOCBOOK_2_TXT
423 STEP_DOCBOOK_2_PDF
424 STEP_DOCBOOK_2_HTML
425 STEP_DOCBOOK_2_DVI
426 STEP_MD_2_HTML
427 STEP_RST_2_HTML
428 STEP_HTML_2_CHM
431 GEN_DOC_TYPE_LIST="
432 STEP_TEX_2_MAN
433 STEP_TEX_2_TXT
434 STEP_TEX_2_PDF
435 STEP_TEX_2_HTML
436 STEP_MD_2_HTML
437 STEP_HTML_2_CHM"
439 STEP_DOC_GEN="TASKLIST(GEN_DOC_TYPE_LIST, doc_gen())"
441 STEP_INFO_2_MAN="info_2_man()"
442 STEP_INFO_2_HTML="info_2_html()"
443 STEP_INFO_2_PDF="info_2_pdf()"
444 STEP_TEX_2_MAN="tex_2_man()"
445 STEP_TEX_2_INFO="tex_2_info()"
446 STEP_TEX_2_TXT="tex_2_txt()"
447 STEP_TEX_2_PDF="tex_2_pdf()"
448 STEP_TEX_2_HTML="tex_2_html()"
449 STEP_TEX_2_DVI="tex_2_dvi()"
450 STEP_TEX_2_DOCBOOK="tex_2_docbook()"
451 STEP_DOCBOOK_2_TXT="docbook_2_txt()"
452 STEP_DOCBOOK_2_PDF="docbook_2_pdf()"
453 STEP_DOCBOOK_2_HTML="docbook_2_html()"
454 STEP_DOCBOOK_2_DVI="docbook_2_dvi()"
456 STEP_MD_2_HTML="md2html()"
457 STEP_RST_2_HTML="rst2html()"
458 STEP_HTML_2_CHM="html2chm()"
460 # others
461 STEP_APIDOC_GEN="apidocgen()"
462 STEP_GRAPHVIZE_GEN="graphvize()"
464 #################################################################
465 # intl
466 # TBD:
467 STEP_INTL_GEN="intl()"
492 ###############################################
493 # src tp chk
494 # hdrtpchk() is included in tpchk().
495 # this step decrease files to be compiled.
496 # in compile step, it will run tpchk() and hdrtpchk()
497 # again.
500 # <LANG>_SRC_FILE_LIST_Y defined in .list file
501 STEP_C_LANG_SRC_TPCHK="c_lang_src_tpchk()"
502 STEP_CXX_LANG_SRC_TPCHK="cxx_lang_src_tpchk()"
503 STEP_CPP_LANG_SRC_TPCHK="cpp_lang_src_tpchk()"
504 STEP_ASM_LANG_SRC_TPCHK="asm_lang_src_tpchk()"
505 STEP_SH_LANG_SRC_TPCHK="sh_lang_src_tpchk()"