📄 ref.define-header.html
字号:
<!-- 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>define_header</TITLE><meta name="MSSmartTagsPreventParsing" content="TRUE"><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+"><LINKREL="HOME"TITLE="The eCos Component Writer's Guide"HREF="cdl-guide.html"><LINKREL="UP"TITLE="CDL Language Specification"HREF="reference.html"><LINKREL="PREVIOUS"TITLE="define_format"HREF="ref.define-format.html"><LINKREL="NEXT"TITLE="define_proc"HREF="ref.define-proc.html"></HEAD><BODYCLASS="REFENTRY"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">The <SPANCLASS="APPLICATION">eCos</SPAN> Component Writer's Guide</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="ref.define-format.html"ACCESSKEY="P">Prev</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom"></TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="ref.define-proc.html"ACCESSKEY="N">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><H1><ANAME="REF.DEFINE-HEADER"><SPANCLASS="PROPERTY">define_header</SPAN></H1><DIVCLASS="REFNAMEDIV"><ANAME="AEN4123"></A><H2>Name</H2>Property <SPANCLASS="PROPERTY">define_header</SPAN> -- Specify the configuration header file thatwill be generated for a given package.</DIV><DIVCLASS="REFSYNOPSISDIV"><ANAME="AEN4127"><H2>Synopsis</H2><TABLEBORDER="5"BGCOLOR="#E0E0F0"WIDTH="70%"><TR><TD><PRECLASS="SYNOPSIS">cdl_package <name> { define_header <file name> …}</PRE></TD></TR></TABLE></DIV><DIVCLASS="REFSECT1"><ANAME="AEN4129"></A><H2>Description</H2><P>When the configuration tools generate a build tree, one of the stepsis to output each package's configuration data to a header file. Forexample the kernel's configuration data gets output to<TTCLASS="FILENAME">pkgconf/kernel.h</TT>. This allowseach package's source code to <TTCLASS="LITERAL">#include</TT> theappropriate header file and adapt to the choices made by the user.</P><P>By default the configuration tools will synthesize a file name fromthe package name. This involves removing any prefix such as<TTCLASS="LITERAL">CYGPKG_</TT>, up to and including the first underscore,and then converting the remainder of the name to lower case. In somecases it may be desirable to use a different header file, for examplean existing package may have been ported to <SPANCLASS="APPLICATION">eCos</SPAN> and the source codemay already <TTCLASS="LITERAL">#include</TT> a particular file forconfiguration data. In such cases a <SPANCLASS="PROPERTY">define_header</SPAN> property can beused to specify an alternative filename.</P><P>The <SPANCLASS="PROPERTY">define_header</SPAN> property can only be used in the body of a<TTCLASS="LITERAL">cdl_package</TT> command. It applies to a package as a whole and cannotbe used at a finer grain. The name specified in a <SPANCLASS="PROPERTY">define_header</SPAN>property will always be interpreted as relative to the<TTCLASS="FILENAME">include/pkgconf</TT> sub-directoryof the install tree.</P><DIVCLASS="NOTE"><BLOCKQUOTECLASS="NOTE"><P><B>Note: </B>For hardware-specific packages such as device drivers and HALpackages, the current scheme of generating a configuration header filename based on the package name may be abandoned. Instead all hardwarepackages would send their configuration data to a single header file,<TTCLASS="FILENAME">pkgconf/hardware.h</TT>. This wouldmake it easier for code to obtain details of the current hardware, butobviously there are compatibility issues. For now it is recommendedthat all hardware packages specify their configuration header fileexplicitly. </P></BLOCKQUOTE></DIV></DIV><DIVCLASS="REFSECT1"><ANAME="AEN4147"></A><H2>Example</H2><TABLEBORDER="5"BGCOLOR="#E0E0F0"WIDTH="70%"><TR><TD><PRECLASS="PROGRAMLISTING">cdl_package CYGPKG_HAL_ARM { display "ARM architecture" parent CYGPKG_HAL hardware include_dir cyg/hal define_header hal_arm.h …}</PRE></TD></TR></TABLE></DIV><DIVCLASS="REFSECT1"><ANAME="AEN4150"></A><H2>See Also</H2><P>Properties <AHREF="ref.define.html"><SPANCLASS="PROPERTY">define</SPAN></A>,<AHREF="ref.define-format.html"><SPANCLASS="PROPERTY">define_format</SPAN></A>,<AHREF="ref.define-proc.html"><SPANCLASS="PROPERTY">define_proc</SPAN></A>,<AHREF="ref.if-define.html"><SPANCLASS="PROPERTY">if_define</SPAN></A>,<AHREF="ref.no-define.html"><SPANCLASS="PROPERTY">no_define</SPAN></A> and<AHREF="ref.hardware.html"><SPANCLASS="PROPERTY">hardware</SPAN></A>,</P></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLESUMMARY="Footer navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="ref.define-format.html"ACCESSKEY="P">Prev</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="cdl-guide.html"ACCESSKEY="H">Home</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="ref.define-proc.html"ACCESSKEY="N">Next</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><SPANCLASS="PROPERTY">define_format</SPAN></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="reference.html"ACCESSKEY="U">Up</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><SPANCLASS="PROPERTY">define_proc</SPAN></TD></TR></TABLE></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -