The build profile used by the configure command is an argument of the mkmerge command. There is one default profile for each board, as shown in"Families, Targets and Profiles" . For non-standard system generation, customize the build profile using the information on the file entries described here.
The build profile contains entries of the following type:
var = value
The range of value values depends on the variable. Note that:
on and yes are equivalent values (both mean included)
off and no are equivalent values (both mean not included)
Build profile files provide configuration flags used during the merge. The following listing shows an example microkernel build profile file for UltraSPARCTM family targets.
[profile] FLAG=host=solaris FLAG=target=upSparc FLAG=devsys=gcc FLAG=flm=on FLAG=locks=rt FLAG=optim=on FLAG=tree=upSparc [profile] devsys=gcc binfmt=elf # directories to merge tree=./../common tree=./../sparc tree=./../sparc_v9 tree=./../usparc # kernel locks configuration : # 2 choices : locks=rt, locks=gp locks=rt # available memory management implementations flm=on prm=on vm=off # # shared_lib support # choices : sharedlib=on, sharedlib=off sharedlib=on # stack fault support : # 2 choices : stack_fault_support=on, stack_fault_support=off stack_fault_support=on # FPU support : # 2 choices : fpu_support=on, fpu_support=off fpu_support=on # optimisation type # choices : optim=on, optim=no optim=on # debug on or off (default) debug=off # profiling on or off (default) profile=off
The predefined flags include:
Table 4-6 Configuration Flags
Name |
Possible values |
Description |
---|---|---|
debug |
(off|on) |
Indicates whether to compile with debugging information; default is off |
devsys |
(gcc) |
Indicates which host development tool chain is used for compilation; default is gcc |
flm |
(off|on) |
Indicates whether flat memory is in use. |
prm |
(off|on) |
Indicates whether protected memory is in use |
vm |
(off|on) |
Indicates whether virtual memory is in use |
locks |
(gp|rt) |
Specifies which type of locking to use in the core executive; default is gp |
merge_dir |
(dir) |
Specifies the path to the root of the merge tree |
optim |
(off|on|size|speed) |
Indicates how to optimize compilation; setting this flag to speed might make symbolic debugging impossible; default is on, a compromise between size and speed optimizations |
profile |
(off|on) |
Indicates whether to compile with performance profiling capabilities; default is off |
shared_lib |
(off|on) |
Shared library support. Default is on. |
softload |
(off|on) |
Library fp emulation. Default is on. |
tree |
(dir1,dir2,...) |
Specifies projected tree directories to merge |