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