Next: EntryPoint
Up: Property
Previous: Algorithm
BuildOption
Description
The BuildOption property is used to further specify a variant definition in the primitive implementation of a UniCon component. It is used to pass Odin system construction instructions to the system build phase of the UniCon compilation process. The system construction instructions get applied to the construction of the external source file specified in the variant. For example, if the default Odin C language compiler is "cc" and the system designer desires "gcc" for compilation of a given source file, the BuildOption property can be used to pass the "+gnu" Odin option to the construction of that source file.
Property Lists
The BuildOption property can legally be specified in the property list in the following
UniCon language element:
Value Syntax
The syntax of the value part of the BuildOption property is a comma-separated list of items that are either "string"s or <identifier>s, enclosed in parentheses. The case of the letters can be upper, lower, or mixed.
Required Rule
Optional
There is no default value for the BuildOption property.
Merge Rule
MERGE
More than one specification of the BuildOption property in a single property list is treated as a single specification with the union of all values in all of the specifications.
Semantic Checks
No semantic checks are performed on the value of the BuildOption property.
Example
The following are two examples of specifications of BuildOption properties. Both examples are equivalent; they are examples of how you would pass two compiler options to Odin for a particular source file during the system build phase of compilation:
VARIANT My_Stack IN "stack.c"
IMPLTYPE (Source)
BUILDOPTION ("+define=DEBUG_ENABLE")
BUILDOPTION ("+gnu") /* specifies "gcc" */
END My_Stack
An alternative, yet equivalent definition:
VARIANT My_Stack IN "stack.c"
IMPLTYPE (Source)
BUILDOPTION ("+define=DEBUG_ENABLE", "+gnu")
END My_Stack
Next: EntryPoint
Up: Property
Previous: Algorithm
Comments?
Mail the current maintainer of this page.
Author:
Gregory Zelesnik
Last Modified: May 12, 1996