Chapter 5. CDL Language Specification

Table of Contents
cdl_option -- Define a single configuration option
cdl_component -- Define a component, a collection of configuration options
cdl_package -- Define a package, a component that can be distributed
cdl_interface -- Define an interface, functionality that can be provided by a number of different implementations.
active_if -- Allow additional control over the active state of an option or other CDL entity.
calculated -- Used if the current option's value is not user-modifiable, but is calculated using a suitable CDL expression.
compile -- List the source files that should be built if this option is active and enabled.
default_value -- Provide a default value for this option using a CDL expression.
define -- Specify additional #define symbols that should go into the owning package's configuration header file.
define_format -- Control how an option's value will appear in the configuration header file.
define_header -- Specify the configuration header file that will be generated for a given package.
define_proc -- Use a fragment of Tcl code to output additional data to configuration header files.
description -- Provide a textual description for an option.
display -- Provide a short string describing this option.
doc -- The location of online-documentation for a configuration option.
flavor -- Specify the nature of a configuration option.
hardware -- Specify that a package is tied to specific hardware.
if_define -- Output a common preprocessor construct to a configuration header file.
implements -- Enabling this option provides one instance of a more general interface.
include_dir -- Specify the desired location of a package's exported header files in the install tree.
include_files -- List the header files that are exported by a package.
legal_values -- Impose constraints on the possible values for an option.
library -- Specify which library should contain the object files generated by building this package.
make -- Define an additional custom build step associated with an option, resulting in a target that should not go directly into a library.
make_object -- Define a custom build step, resulting in an object file that should go into a library.
no_define -- Suppress the normal generation of a preprocessor #define symbol in a configuration header file.
parent -- Control the location of an option in the configuration hierarchy.
requires -- List constraints that the configuration should satisfy if a given option is active and enabled..
script -- Include additional configuration information from another CDL script.

This chapter contains reference information for the main CDL commands cdl_option, cdl_component, cdl_package and cdl_interface, followed by the various properties such as active_if and compile in alphabetical order.