ChorusOS 5.0 Source Delivery Guide

Build Profile

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:

The range of value values depends on the variable. Note that:

Build profile files provide configuration flags used during the merge. The following listing shows an example microkernel build profile file for UltraSPARCTM family targets.


Example 4-1 UltraSPARCTM Target Profile File

[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