Name
Property define_header — Specify the configuration header file that will be generated for a given package.
Synopsis
cdl_package <name> {
define_header <file name>
…
}Description
When the configuration tools generate a build tree, one of the steps
is to output each package's configuration data to a header file. For
example the kernel's configuration data gets output to
pkgconf/kernel.h. This allows
each package's source code to #include the
appropriate header file and adapt to the choices made by the user.
By default the configuration tools will synthesize a file name from
the package name. This involves removing any prefix such as
CYGPKG_, up to and including the first underscore,
and then converting the remainder of the name to lower case. In some
cases it may be desirable to use a different header file, for example
an existing package may have been ported to eCos and the source code
may already #include a particular file for
configuration data. In such cases a define_header property can be
used to specify an alternative filename.
The define_header property can only be used in the body of a cdl_package command. It applies to a package as a whole and cannot
be used at a finer grain. The name specified in a define_header
property will always be interpreted as relative to the
include/pkgconf sub-directory
of the install tree.
![]() | Note |
|---|---|
For hardware-specific packages such as device drivers and HAL
packages, the current scheme of generating a configuration header file
name based on the package name may be abandoned. Instead all hardware
packages would send their configuration data to a single header file,
|
Example
cdl_package CYGPKG_HAL_ARM {
display "ARM architecture"
parent CYGPKG_HAL
hardware
include_dir cyg/hal
define_header hal_arm.h
…
}See Also
Properties define, define_format, define_proc, if_define, no_define and hardware,
| 2025-10-02 | Open Publication License |


![[Note]](pix/note.png)

