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,
2024-03-18 | Open Publication License |