<!-- Copyright (C) 2003 Red Hat, Inc. -->
|
<!-- Copyright (C) 2003 Red Hat, Inc. -->
|
<!-- This material may be distributed only subject to the terms -->
|
<!-- This material may be distributed only subject to the terms -->
|
<!-- and conditions set forth in the Open Publication License, v1.0 -->
|
<!-- and conditions set forth in the Open Publication License, v1.0 -->
|
<!-- or later (the latest version is presently available at -->
|
<!-- or later (the latest version is presently available at -->
|
<!-- http://www.opencontent.org/openpub/). -->
|
<!-- http://www.opencontent.org/openpub/). -->
|
<!-- Distribution of the work or derivative of the work in any -->
|
<!-- Distribution of the work or derivative of the work in any -->
|
<!-- standard (paper) book form is prohibited unless prior -->
|
<!-- standard (paper) book form is prohibited unless prior -->
|
<!-- permission is obtained from the copyright holder. -->
|
<!-- permission is obtained from the copyright holder. -->
|
<HTML
|
<HTML
|
><HEAD
|
><HEAD
|
><TITLE
|
><TITLE
|
>The eCos Component Writer's Guide</TITLE
|
>The eCos Component Writer's Guide</TITLE
|
><meta name="MSSmartTagsPreventParsing" content="TRUE">
|
><meta name="MSSmartTagsPreventParsing" content="TRUE">
|
<META
|
<META
|
NAME="GENERATOR"
|
NAME="GENERATOR"
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
|
"><LINK
|
"><LINK
|
REL="NEXT"
|
REL="NEXT"
|
TITLE="Overview"
|
TITLE="Overview"
|
HREF="overview.html"></HEAD
|
HREF="overview.html"></HEAD
|
><BODY
|
><BODY
|
CLASS="BOOK"
|
CLASS="BOOK"
|
BGCOLOR="#FFFFFF"
|
BGCOLOR="#FFFFFF"
|
TEXT="#000000"
|
TEXT="#000000"
|
LINK="#0000FF"
|
LINK="#0000FF"
|
VLINK="#840084"
|
VLINK="#840084"
|
ALINK="#0000FF"
|
ALINK="#0000FF"
|
><DIV
|
><DIV
|
CLASS="BOOK"
|
CLASS="BOOK"
|
><A
|
><A
|
NAME="CDL-GUIDE"><DIV
|
NAME="CDL-GUIDE"><DIV
|
CLASS="TITLEPAGE"
|
CLASS="TITLEPAGE"
|
><H1
|
><H1
|
CLASS="TITLE"
|
CLASS="TITLE"
|
><A
|
><A
|
NAME="AEN4">The <SPAN
|
NAME="AEN4">The <SPAN
|
CLASS="APPLICATION"
|
CLASS="APPLICATION"
|
>eCos</SPAN
|
>eCos</SPAN
|
> Component Writer's Guide</H1
|
> Component Writer's Guide</H1
|
><H3
|
><H3
|
CLASS="AUTHOR"
|
CLASS="AUTHOR"
|
><A
|
><A
|
NAME="AEN8">Bart Veer</H3
|
NAME="AEN8">Bart Veer</H3
|
><H3
|
><H3
|
CLASS="AUTHOR"
|
CLASS="AUTHOR"
|
><A
|
><A
|
NAME="AEN11">John Dallaway</H3
|
NAME="AEN11">John Dallaway</H3
|
><P
|
><P
|
CLASS="COPYRIGHT"
|
CLASS="COPYRIGHT"
|
>Copyright © 2000, 2001 by Red Hat Inc.</P
|
>Copyright © 2000, 2001 by Red Hat Inc.</P
|
><HR></DIV
|
><HR></DIV
|
><DIV
|
><DIV
|
CLASS="TOC"
|
CLASS="TOC"
|
><DL
|
><DL
|
><DT
|
><DT
|
><B
|
><B
|
>Table of Contents</B
|
>Table of Contents</B
|
></DT
|
></DT
|
><DT
|
><DT
|
>1. <A
|
>1. <A
|
HREF="overview.html"
|
HREF="overview.html"
|
>Overview</A
|
>Overview</A
|
></DT
|
></DT
|
><DD
|
><DD
|
><DL
|
><DL
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.html#OVERVIEW.TERMINOLOGY"
|
HREF="overview.html#OVERVIEW.TERMINOLOGY"
|
>Terminology</A
|
>Terminology</A
|
></DT
|
></DT
|
><DD
|
><DD
|
><DL
|
><DL
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.FRAMEWORK"
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.FRAMEWORK"
|
>Component Framework</A
|
>Component Framework</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.OPTION"
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.OPTION"
|
>Configuration Option</A
|
>Configuration Option</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.COMPONENT"
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.COMPONENT"
|
>Component</A
|
>Component</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.PACKAGE"
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.PACKAGE"
|
>Package</A
|
>Package</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.CONFIGURATION"
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.CONFIGURATION"
|
>Configuration</A
|
>Configuration</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.TARGET"
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.TARGET"
|
>Target</A
|
>Target</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.TEMPLATE"
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.TEMPLATE"
|
>Template</A
|
>Template</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.PROPERTIES"
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.PROPERTIES"
|
>Properties</A
|
>Properties</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.CONSEQUENCES"
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.CONSEQUENCES"
|
>Consequences</A
|
>Consequences</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.CONSTRAINTS"
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.CONSTRAINTS"
|
>Constraints</A
|
>Constraints</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.CONFLICTS"
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.CONFLICTS"
|
>Conflicts</A
|
>Conflicts</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.CDL"
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.CDL"
|
>CDL</A
|
>CDL</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.REPO"
|
HREF="overview.html#CONCEPTS.TERMINOLOGY.REPO"
|
>Component Repository</A
|
>Component Repository</A
|
></DT
|
></DT
|
></DL
|
></DL
|
></DD
|
></DD
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.configurability.html"
|
HREF="overview.configurability.html"
|
>Why Configurability?</A
|
>Why Configurability?</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.approaches.html"
|
HREF="overview.approaches.html"
|
>Approaches to Configurability</A
|
>Approaches to Configurability</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.degress.html"
|
HREF="overview.degress.html"
|
>Degrees of Configurability</A
|
>Degrees of Configurability</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="overview.warning.html"
|
HREF="overview.warning.html"
|
>Warnings</A
|
>Warnings</A
|
></DT
|
></DT
|
></DL
|
></DL
|
></DD
|
></DD
|
><DT
|
><DT
|
>2. <A
|
>2. <A
|
HREF="package.html"
|
HREF="package.html"
|
>Package Organization</A
|
>Package Organization</A
|
></DT
|
></DT
|
><DD
|
><DD
|
><DL
|
><DL
|
><DT
|
><DT
|
><A
|
><A
|
HREF="package.html#PACKAGE.HIERARCHY"
|
HREF="package.html#PACKAGE.HIERARCHY"
|
>Packages and the Component Repository</A
|
>Packages and the Component Repository</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="package.versions.html"
|
HREF="package.versions.html"
|
>Package Versioning</A
|
>Package Versioning</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="package.contents.html"
|
HREF="package.contents.html"
|
>Package Contents and Layout</A
|
>Package Contents and Layout</A
|
></DT
|
></DT
|
><DD
|
><DD
|
><DL
|
><DL
|
><DT
|
><DT
|
><A
|
><A
|
HREF="package.contents.html#PACKAGE.BUILD"
|
HREF="package.contents.html#PACKAGE.BUILD"
|
>Outline of the Build Process</A
|
>Outline of the Build Process</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="package.contents.html#PACKAGE.SOURCE"
|
HREF="package.contents.html#PACKAGE.SOURCE"
|
>Configurable Source Code</A
|
>Configurable Source Code</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="package.contents.html#PACKAGE.HEADERS"
|
HREF="package.contents.html#PACKAGE.HEADERS"
|
>Exported Header Files</A
|
>Exported Header Files</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="package.contents.html#PACKAGE.DOCUMENTATION"
|
HREF="package.contents.html#PACKAGE.DOCUMENTATION"
|
>Package Documentation</A
|
>Package Documentation</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="package.contents.html#PACKAGE.TESTS"
|
HREF="package.contents.html#PACKAGE.TESTS"
|
>Test Cases</A
|
>Test Cases</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="package.contents.html#PACKAGE.HOST"
|
HREF="package.contents.html#PACKAGE.HOST"
|
>Host-side Support</A
|
>Host-side Support</A
|
></DT
|
></DT
|
></DL
|
></DL
|
></DD
|
></DD
|
><DT
|
><DT
|
><A
|
><A
|
HREF="package.distrib.html"
|
HREF="package.distrib.html"
|
>Making a Package Distribution</A
|
>Making a Package Distribution</A
|
></DT
|
></DT
|
><DD
|
><DD
|
><DL
|
><DL
|
><DT
|
><DT
|
><A
|
><A
|
HREF="package.distrib.html#PACKAGE.DISTRIB.FORMAT"
|
HREF="package.distrib.html#PACKAGE.DISTRIB.FORMAT"
|
>The <SPAN
|
>The <SPAN
|
CLASS="APPLICATION"
|
CLASS="APPLICATION"
|
>eCos</SPAN
|
>eCos</SPAN
|
> package distribution file format</A
|
> package distribution file format</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="package.distrib.html#PACKAGE.DISTRIB.PREPARE"
|
HREF="package.distrib.html#PACKAGE.DISTRIB.PREPARE"
|
>Preparing eCos packages for distribution</A
|
>Preparing eCos packages for distribution</A
|
></DT
|
></DT
|
></DL
|
></DL
|
></DD
|
></DD
|
></DL
|
></DL
|
></DD
|
></DD
|
><DT
|
><DT
|
>3. <A
|
>3. <A
|
HREF="language.html"
|
HREF="language.html"
|
>The CDL Language</A
|
>The CDL Language</A
|
></DT
|
></DT
|
><DD
|
><DD
|
><DL
|
><DL
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.html#LANGUAGE.OVERVIEW"
|
HREF="language.html#LANGUAGE.OVERVIEW"
|
>Language Overview</A
|
>Language Overview</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.commands.html"
|
HREF="language.commands.html"
|
>CDL Commands</A
|
>CDL Commands</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.properties.html"
|
HREF="language.properties.html"
|
>CDL Properties</A
|
>CDL Properties</A
|
></DT
|
></DT
|
><DD
|
><DD
|
><DL
|
><DL
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.properties.html#LANGUAGE.PROPERTIES.USER"
|
HREF="language.properties.html#LANGUAGE.PROPERTIES.USER"
|
>Information-providing Properties</A
|
>Information-providing Properties</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.properties.html#LANGUAGE.PROPERTIES.HIERARCHY"
|
HREF="language.properties.html#LANGUAGE.PROPERTIES.HIERARCHY"
|
>The Configuration Hierarchy</A
|
>The Configuration Hierarchy</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.properties.html#LANGUAGE.PROPERTIES.VALUE"
|
HREF="language.properties.html#LANGUAGE.PROPERTIES.VALUE"
|
>Value-related Properties</A
|
>Value-related Properties</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.properties.html#LANGUAGE.PROPERTIES.DEFINE"
|
HREF="language.properties.html#LANGUAGE.PROPERTIES.DEFINE"
|
>Generating the Configuration Header Files</A
|
>Generating the Configuration Header Files</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.properties.html#LANGUAGE.PROPERTIES.BUILD"
|
HREF="language.properties.html#LANGUAGE.PROPERTIES.BUILD"
|
>Controlling what gets Built</A
|
>Controlling what gets Built</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.properties.html#LANGUAGE.PROPERTIES.MISCELLANEOUS"
|
HREF="language.properties.html#LANGUAGE.PROPERTIES.MISCELLANEOUS"
|
>Miscellaneous Properties</A
|
>Miscellaneous Properties</A
|
></DT
|
></DT
|
></DL
|
></DL
|
></DD
|
></DD
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.naming.html"
|
HREF="language.naming.html"
|
>Option Naming Convention</A
|
>Option Naming Convention</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.tcl.html"
|
HREF="language.tcl.html"
|
>An Introduction to Tcl</A
|
>An Introduction to Tcl</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.values.html"
|
HREF="language.values.html"
|
>Values and Expressions</A
|
>Values and Expressions</A
|
></DT
|
></DT
|
><DD
|
><DD
|
><DL
|
><DL
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.values.html#LANGUAGE.VALUES.VALUE"
|
HREF="language.values.html#LANGUAGE.VALUES.VALUE"
|
>Option Values</A
|
>Option Values</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.values.html#LANGUAGE.EXPRESSION"
|
HREF="language.values.html#LANGUAGE.EXPRESSION"
|
>Ordinary Expressions</A
|
>Ordinary Expressions</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.values.html#LANGUAGE.FUNCTIONS"
|
HREF="language.values.html#LANGUAGE.FUNCTIONS"
|
>Functions</A
|
>Functions</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.values.html#LANGUAGE.GOAL-EXPRESSION"
|
HREF="language.values.html#LANGUAGE.GOAL-EXPRESSION"
|
>Goal Expressions</A
|
>Goal Expressions</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.values.html#LANGUAGE.LIST-EXPRESSION"
|
HREF="language.values.html#LANGUAGE.LIST-EXPRESSION"
|
>List Expressions</A
|
>List Expressions</A
|
></DT
|
></DT
|
></DL
|
></DL
|
></DD
|
></DD
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.interface.html"
|
HREF="language.interface.html"
|
>Interfaces</A
|
>Interfaces</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="language.database.html"
|
HREF="language.database.html"
|
>Updating the <SPAN
|
>Updating the <SPAN
|
CLASS="DATABASE"
|
CLASS="DATABASE"
|
>ecos.db</SPAN
|
>ecos.db</SPAN
|
> database</A
|
> database</A
|
></DT
|
></DT
|
></DL
|
></DL
|
></DD
|
></DD
|
><DT
|
><DT
|
>4. <A
|
>4. <A
|
HREF="build.html"
|
HREF="build.html"
|
>The Build Process</A
|
>The Build Process</A
|
></DT
|
></DT
|
><DD
|
><DD
|
><DL
|
><DL
|
><DT
|
><DT
|
><A
|
><A
|
HREF="build.html#BUILD.OUTLINE"
|
HREF="build.html#BUILD.OUTLINE"
|
>Build Tree Generation</A
|
>Build Tree Generation</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="build.headers.html"
|
HREF="build.headers.html"
|
>Configuration Header File Generation</A
|
>Configuration Header File Generation</A
|
></DT
|
></DT
|
><DD
|
><DD
|
><DL
|
><DL
|
><DT
|
><DT
|
><A
|
><A
|
HREF="build.headers.html#BUILD.HEADERS.SYSTEM.H"
|
HREF="build.headers.html#BUILD.HEADERS.SYSTEM.H"
|
>The <TT
|
>The <TT
|
CLASS="FILENAME"
|
CLASS="FILENAME"
|
>system.h</TT
|
>system.h</TT
|
> Header</A
|
> Header</A
|
></DT
|
></DT
|
></DL
|
></DL
|
></DD
|
></DD
|
><DT
|
><DT
|
><A
|
><A
|
HREF="build.make.html"
|
HREF="build.make.html"
|
>Building eCos</A
|
>Building eCos</A
|
></DT
|
></DT
|
><DD
|
><DD
|
><DL
|
><DL
|
><DT
|
><DT
|
><A
|
><A
|
HREF="build.make.html#BUILD.MAKE.UPDATE"
|
HREF="build.make.html#BUILD.MAKE.UPDATE"
|
>Updating the Build Tree</A
|
>Updating the Build Tree</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="build.make.html#BUILD.MAKE.EXPORT"
|
HREF="build.make.html#BUILD.MAKE.EXPORT"
|
>Exporting Public Header Files</A
|
>Exporting Public Header Files</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="build.make.html#BUILD.MAKE.COMPILES"
|
HREF="build.make.html#BUILD.MAKE.COMPILES"
|
>Compiling</A
|
>Compiling</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="build.make.html#BUILD.MAKE.LIBRARIES"
|
HREF="build.make.html#BUILD.MAKE.LIBRARIES"
|
>Generating the Libraries</A
|
>Generating the Libraries</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="build.make.html#BUILD.EXTRAS"
|
HREF="build.make.html#BUILD.EXTRAS"
|
>The <TT
|
>The <TT
|
CLASS="FILENAME"
|
CLASS="FILENAME"
|
>extras.o</TT
|
>extras.o</TT
|
> file</A
|
> file</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="build.make.html#BUILD.FLAGS"
|
HREF="build.make.html#BUILD.FLAGS"
|
>Compilers and Flags</A
|
>Compilers and Flags</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="build.make.html#BUILD.CUSTOM"
|
HREF="build.make.html#BUILD.CUSTOM"
|
>Custom Build Steps</A
|
>Custom Build Steps</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="build.make.html#BUILD.STARTUP"
|
HREF="build.make.html#BUILD.STARTUP"
|
>Startup Code</A
|
>Startup Code</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="build.make.html#BUILD.LINKERSCRIPT"
|
HREF="build.make.html#BUILD.LINKERSCRIPT"
|
>The Linker Script</A
|
>The Linker Script</A
|
></DT
|
></DT
|
></DL
|
></DL
|
></DD
|
></DD
|
><DT
|
><DT
|
><A
|
><A
|
HREF="build.tests.html"
|
HREF="build.tests.html"
|
>Building Test Cases</A
|
>Building Test Cases</A
|
></DT
|
></DT
|
></DL
|
></DL
|
></DD
|
></DD
|
><DT
|
><DT
|
>5. <A
|
>5. <A
|
HREF="reference.html"
|
HREF="reference.html"
|
>CDL Language Specification</A
|
>CDL Language Specification</A
|
></DT
|
></DT
|
><DD
|
><DD
|
><DL
|
><DL
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.cdl-option.html"
|
HREF="ref.cdl-option.html"
|
><TT
|
><TT
|
CLASS="LITERAL"
|
CLASS="LITERAL"
|
>cdl_option</TT
|
>cdl_option</TT
|
></A
|
></A
|
> -- Define a single configuration option</DT
|
> -- Define a single configuration option</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.cdl-component.html"
|
HREF="ref.cdl-component.html"
|
><TT
|
><TT
|
CLASS="LITERAL"
|
CLASS="LITERAL"
|
>cdl_component</TT
|
>cdl_component</TT
|
></A
|
></A
|
> -- Define a component, a collection of configuration options</DT
|
> -- Define a component, a collection of configuration options</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.cdl-package.html"
|
HREF="ref.cdl-package.html"
|
><TT
|
><TT
|
CLASS="LITERAL"
|
CLASS="LITERAL"
|
>cdl_package</TT
|
>cdl_package</TT
|
></A
|
></A
|
> -- Define a package, a component that can be distributed</DT
|
> -- Define a package, a component that can be distributed</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.cdl-interface.html"
|
HREF="ref.cdl-interface.html"
|
><TT
|
><TT
|
CLASS="LITERAL"
|
CLASS="LITERAL"
|
>cdl_interface</TT
|
>cdl_interface</TT
|
></A
|
></A
|
> -- Define an interface, functionality that can be provided by
|
> -- Define an interface, functionality that can be provided by
|
a number of different implementations.</DT
|
a number of different implementations.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.active-if.html"
|
HREF="ref.active-if.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>active_if</SPAN
|
>active_if</SPAN
|
></A
|
></A
|
> -- Allow additional control over the active state of an
|
> -- Allow additional control over the active state of an
|
option or other CDL entity.</DT
|
option or other CDL entity.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.calculated.html"
|
HREF="ref.calculated.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>calculated</SPAN
|
>calculated</SPAN
|
></A
|
></A
|
> -- Used if the current option's value is not user-modifiable,
|
> -- Used if the current option's value is not user-modifiable,
|
but is calculated using a suitable CDL expression.</DT
|
but is calculated using a suitable CDL expression.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.compile.html"
|
HREF="ref.compile.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>compile</SPAN
|
>compile</SPAN
|
></A
|
></A
|
> -- List the source files that should be built if this option
|
> -- List the source files that should be built if this option
|
is active and enabled.</DT
|
is active and enabled.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.default-value.html"
|
HREF="ref.default-value.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>default_value</SPAN
|
>default_value</SPAN
|
></A
|
></A
|
> -- Provide a default value for this option using a CDL expression.</DT
|
> -- Provide a default value for this option using a CDL expression.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.define.html"
|
HREF="ref.define.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>define</SPAN
|
>define</SPAN
|
></A
|
></A
|
> -- Specify additional <TT
|
> -- Specify additional <TT
|
CLASS="LITERAL"
|
CLASS="LITERAL"
|
>#define</TT
|
>#define</TT
|
> symbols that
|
> symbols that
|
should go into the owning package's configuration header file.</DT
|
should go into the owning package's configuration header file.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.define-format.html"
|
HREF="ref.define-format.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>define_format</SPAN
|
>define_format</SPAN
|
></A
|
></A
|
> -- Control how an option's value will appear in the
|
> -- Control how an option's value will appear in the
|
configuration header file.</DT
|
configuration header file.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.define-header.html"
|
HREF="ref.define-header.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>define_header</SPAN
|
>define_header</SPAN
|
></A
|
></A
|
> -- Specify the configuration header file that
|
> -- Specify the configuration header file that
|
will be generated for a given package.</DT
|
will be generated for a given package.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.define-proc.html"
|
HREF="ref.define-proc.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>define_proc</SPAN
|
>define_proc</SPAN
|
></A
|
></A
|
> -- Use a fragment of Tcl code to output additional data to
|
> -- Use a fragment of Tcl code to output additional data to
|
configuration header files.</DT
|
configuration header files.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.description.html"
|
HREF="ref.description.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>description</SPAN
|
>description</SPAN
|
></A
|
></A
|
> -- Provide a textual description for an option.</DT
|
> -- Provide a textual description for an option.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.display.html"
|
HREF="ref.display.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>display</SPAN
|
>display</SPAN
|
></A
|
></A
|
> -- Provide a short string describing this option.</DT
|
> -- Provide a short string describing this option.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.doc.html"
|
HREF="ref.doc.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>doc</SPAN
|
>doc</SPAN
|
></A
|
></A
|
> -- The location of online-documentation for a configuration option.</DT
|
> -- The location of online-documentation for a configuration option.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.flavor.html"
|
HREF="ref.flavor.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>flavor</SPAN
|
>flavor</SPAN
|
></A
|
></A
|
> -- Specify the nature of a configuration option.</DT
|
> -- Specify the nature of a configuration option.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.hardware.html"
|
HREF="ref.hardware.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>hardware</SPAN
|
>hardware</SPAN
|
></A
|
></A
|
> -- Specify that a package is tied to specific hardware.</DT
|
> -- Specify that a package is tied to specific hardware.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.if-define.html"
|
HREF="ref.if-define.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>if_define</SPAN
|
>if_define</SPAN
|
></A
|
></A
|
> -- Output a common preprocessor construct to a configuration
|
> -- Output a common preprocessor construct to a configuration
|
header file.</DT
|
header file.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.implements.html"
|
HREF="ref.implements.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>implements</SPAN
|
>implements</SPAN
|
></A
|
></A
|
> -- Enabling this option provides one instance of a more
|
> -- Enabling this option provides one instance of a more
|
general interface.</DT
|
general interface.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.include-dir.html"
|
HREF="ref.include-dir.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>include_dir</SPAN
|
>include_dir</SPAN
|
></A
|
></A
|
> -- Specify the desired location of a package's exported
|
> -- Specify the desired location of a package's exported
|
header files in the install tree.</DT
|
header files in the install tree.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.include-files.html"
|
HREF="ref.include-files.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>include_files</SPAN
|
>include_files</SPAN
|
></A
|
></A
|
> -- List the header files that are exported by a package.</DT
|
> -- List the header files that are exported by a package.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.legal-values.html"
|
HREF="ref.legal-values.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>legal_values</SPAN
|
>legal_values</SPAN
|
></A
|
></A
|
> -- Impose constraints on the possible values for an option.</DT
|
> -- Impose constraints on the possible values for an option.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.library.html"
|
HREF="ref.library.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>library</SPAN
|
>library</SPAN
|
></A
|
></A
|
> -- Specify which library should contain the object files
|
> -- Specify which library should contain the object files
|
generated by building this package.</DT
|
generated by building this package.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.make.html"
|
HREF="ref.make.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>make</SPAN
|
>make</SPAN
|
></A
|
></A
|
> -- Define an additional custom build step associated with an
|
> -- Define an additional custom build step associated with an
|
option, resulting in a target that should not go directly into a library.</DT
|
option, resulting in a target that should not go directly into a library.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.make-object.html"
|
HREF="ref.make-object.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>make_object</SPAN
|
>make_object</SPAN
|
></A
|
></A
|
> -- Define a custom build step, resulting in an object file
|
> -- Define a custom build step, resulting in an object file
|
that should go into a library.</DT
|
that should go into a library.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.no-define.html"
|
HREF="ref.no-define.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>no_define</SPAN
|
>no_define</SPAN
|
></A
|
></A
|
> -- Suppress the normal generation of a preprocessor
|
> -- Suppress the normal generation of a preprocessor
|
<TT
|
<TT
|
CLASS="LITERAL"
|
CLASS="LITERAL"
|
>#define</TT
|
>#define</TT
|
> symbol in a configuration header file.</DT
|
> symbol in a configuration header file.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.parent.html"
|
HREF="ref.parent.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>parent</SPAN
|
>parent</SPAN
|
></A
|
></A
|
> -- Control the location of an option in the configuration hierarchy.</DT
|
> -- Control the location of an option in the configuration hierarchy.</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.requires.html"
|
HREF="ref.requires.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>requires</SPAN
|
>requires</SPAN
|
></A
|
></A
|
> -- List constraints that the configuration should satisfy if
|
> -- List constraints that the configuration should satisfy if
|
a given option is active and enabled..</DT
|
a given option is active and enabled..</DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="ref.script.html"
|
HREF="ref.script.html"
|
><SPAN
|
><SPAN
|
CLASS="PROPERTY"
|
CLASS="PROPERTY"
|
>script</SPAN
|
>script</SPAN
|
></A
|
></A
|
> -- Include additional configuration information from another
|
> -- Include additional configuration information from another
|
CDL script.</DT
|
CDL script.</DT
|
></DL
|
></DL
|
></DD
|
></DD
|
><DT
|
><DT
|
>6. <A
|
>6. <A
|
HREF="advanced.html"
|
HREF="advanced.html"
|
>Templates, Targets and Other Topics</A
|
>Templates, Targets and Other Topics</A
|
></DT
|
></DT
|
><DD
|
><DD
|
><DL
|
><DL
|
><DT
|
><DT
|
><A
|
><A
|
HREF="advanced.html#ADVANCED.TEMPLATES"
|
HREF="advanced.html#ADVANCED.TEMPLATES"
|
>Templates</A
|
>Templates</A
|
></DT
|
></DT
|
><DT
|
><DT
|
><A
|
><A
|
HREF="advanced.targets.html"
|
HREF="advanced.targets.html"
|
>Targets</A
|
>Targets</A
|
></DT
|
></DT
|
></DL
|
></DL
|
></DD
|
></DD
|
></DL
|
></DL
|
></DIV
|
></DIV
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="NAVFOOTER"
|
CLASS="NAVFOOTER"
|
><HR
|
><HR
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
WIDTH="100%"><TABLE
|
WIDTH="100%"><TABLE
|
SUMMARY="Footer navigation table"
|
SUMMARY="Footer navigation table"
|
WIDTH="100%"
|
WIDTH="100%"
|
BORDER="0"
|
BORDER="0"
|
CELLPADDING="0"
|
CELLPADDING="0"
|
CELLSPACING="0"
|
CELLSPACING="0"
|
><TR
|
><TR
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="left"
|
ALIGN="left"
|
VALIGN="top"
|
VALIGN="top"
|
> </TD
|
> </TD
|
><TD
|
><TD
|
WIDTH="34%"
|
WIDTH="34%"
|
ALIGN="center"
|
ALIGN="center"
|
VALIGN="top"
|
VALIGN="top"
|
> </TD
|
> </TD
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="right"
|
ALIGN="right"
|
VALIGN="top"
|
VALIGN="top"
|
><A
|
><A
|
HREF="overview.html"
|
HREF="overview.html"
|
ACCESSKEY="N"
|
ACCESSKEY="N"
|
>Next</A
|
>Next</A
|
></TD
|
></TD
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="left"
|
ALIGN="left"
|
VALIGN="top"
|
VALIGN="top"
|
> </TD
|
> </TD
|
><TD
|
><TD
|
WIDTH="34%"
|
WIDTH="34%"
|
ALIGN="center"
|
ALIGN="center"
|
VALIGN="top"
|
VALIGN="top"
|
> </TD
|
> </TD
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="right"
|
ALIGN="right"
|
VALIGN="top"
|
VALIGN="top"
|
>Overview</TD
|
>Overview</TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
></DIV
|
></DIV
|
></BODY
|
></BODY
|
></HTML
|
></HTML
|
|
|