first version.
[build-srcpkg.git] / doc / designdoc / param.md
blob84c677bc0cbd518752a130e489dee255d022734f
3 @ toolchain
4 # toolchain info: ARCH/OS/VENDOR, MACHTYPE/TOOLCHAIN/CROSS/DIR_PFX, HOST/BUILD/TARGET
5 # toolchain cmd: CC/CXX/CPP/ASM/SLIB/DLIB/LINK/RANLIB/SIZE/NM/...
6 # compiler param syntax: XXX_EVL
7 # developer setting parameters.
9
10 # build cmd opt.
11 # envar setting for build.
12 # feature config define, from cmd opt or config.imi.
13 # prog runtime config data generated from EVL string.
15 [from the angle of operating peaple, build-pkg developer or srcpkg developer or user]
16 @ static define info in the build software of build-pkg.
17 # compiler cross info
18 # compiler param skeletone & EVL string define
19 # var defines for toolchain.shlib
20 # ... (general public info define)
21 @ srcpkg param for developer
22 # doc/SRCPKG_INFO for general build params. (some are autogen/autoupdated by cmd)
23 # srcpkg dest list, and build procedure & relationship info in a dest
24   + steps for dest-bundle (seq step list) (DEST_LIST) for a srcpkg, autogen from 'build step tmpl'
25   + dest desc info for link type(exe/dll/lib/drv/exelist), and pkg install path.
26   + link type ==> steps for one kind of dest type (seq step list)
27   + or .dot file for dest-bundle (dep step list), autogen from 'build step tmpl'
28 # one dest config info for build
29   + lists, subdir/src/obj/slib/dst list (parallel step list). generate SRC_FILE/DST_FILE
30   + multi-plat, external envar param for cross build
31     - toolchain cross cmd wrap, multiple ARCH/OS/VENDOR
32     - global build param (CFLAGS_OUT/LDFLAGS_OUT/FLOAT)
33   + deplib list for link (LDFLAGS_DEPLIBS)
34   + build(cmpl/link) param info(build-param-flags)
35 # instpkg info
36   + instpkg dirs
37   + install dirs
38   + runtime dirs
39 @ param for srcpkg user
40 # cmd opt param for build
41 # cmd opt param for srcpkg feature config
42 # srcpkg feature config in config.imi, edited in manually or by menuconfig.
43 @ param for software user
44 # .imi config file.
46
47 # dbglogout info
65 @ srcpkg param define (from the engle of software build program)
66 # params used in toolchain cmpl shlib, for single file compile/link/... .
67   + toolchain-info & toolchain-cmd defined in dir of platform as a general info.
68   + default cmd format string in var of *_EVL.
69   + external envar param
70     - toolchain cross cmd wrap, multiple ARCH/OS/VENDOR
71     - global build param (CFLAGS_OUT/LDFLAGS_OUT/FLOAT)
72   + srcpkg config param
73     - hw relative config param
74     - toolchain compile param (cmplr-param-flags in a dest subdir)
75     - toolchain compile param (dest-desc)
76   + cmpl-time gen param
77     - toolchain compile param (XXX_SRC_LIST=>SRC_FILE, DEST_LIST=>DST_FILE)
78     - toolchain compile param (deplib => LDFLAGS_DEPLIB)
79 # general public info define
80   + toolchain-info & toolchain-cmd defined in dir of platform as a general info.
81   + author
82   + org
83   + version
84   + wrap dir EVL for srcpkg/build/pkg/runtime, cmd wrap
85   + fname.shlib, srcpkg file/dir name gen for build, for codegen
86   + build step tmpl
87   + dest desc tmpl
88   + deplib file which has been installed.
89 # output info for compile/link
90   + doc/SRCPKG_INFO
91   + wrap dir
92   + build step info
93   + toolchain-info & toolchain-cmd, for cmpl param/cmd info
94 # config info define
95   + pkg dir/file name param define for wrap dir EVL, define for build, for codegen
96   + build step/dest desc info
97 # dest build
98   +