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.