The eCos Component Writer's Guide
Prev |  | Next

# include_files

## Name

Property include_files -- List the header files that are exported by a package.

## Synopsis

    cdl_package <name> {
        include_files <file1> …
        …
    }

## Description

Most packages export one or more header files defining their public interface. For example the C library exports header files such as `stdio.h` and `ctype.h`. If the package follows the directory layout conventions then the exported header files will normally be found in the package's `include` sub-directory. For packages which do not follow these conventions, typically simple ones for which a complicated sub-directory hierarchy is undesirable, there has to be an alternative way of specifying which header file or files define the public interface. The include_files property provides support for this.

By default, if a package does not have an `include` subdirectory and it does not have an include_files property then all files with a suffix of `.h`, `.hxx`, `.inl` or `.inc` will be treated as public header files. However some of these may be private files containing implementation details. If there is an include_files property then only the files listed in that property will be exported.

If a package should not export any header files but does contain private implementation headers, an include_files property with no arguments should be used.

## Example

    cdl_package <SOME_PACKAGE> {
        …
        include_dir   <some directory>
        include_files interface.h
    }

    cdl_package <ANOTHER_PACKAGE> {
        …
        include_files
    }

## See Also

Property include_dir, and command `cdl_package`.

Prev | Home | Next
include_dir | Up | legal_values