The eCos Component Writer's Guide
Prev |  | Next

# hardware

## Name

Property hardware -- Specify that a package is tied to specific hardware.

## Synopsis

    cdl_option <name> {
        active_if <condition>
        …
    }

## Description

Some packages such as device drivers and HAL packages are hardware-specific, and generally it makes no sense to add such packages to a configuration unless the corresponding hardware is present on your target system. Typically hardware package selection happens automatically when you select your target. The hardware property can be used in the body of a `cdl_package` command to indicate that the package is hardware-specific.

> Note: At the time of writing the hardware property is largely ignored by the configuration tools, but this may change in future. Amongst other possible changes, for hardware-specific packages such as device drivers and HAL packages, the current scheme of generating a configuration header file name based purely on the package name may be abandoned. Instead all hardware packages would send their configuration data to a single header file, `pkgconf/hardware.h`. This would make it easier for code to obtain details of the current hardware, but obviously there are compatibility issues. For now it is recommended that all hardware packages specify their configuration header file explicitly.

## Example

    cdl_package CYGPKG_HAL_ARM {
        display       "ARM architecture"
        parent        CYGPKG_HAL
        hardware
        include_dir   cyg/hal
        define_header hal_arm.h
        …
    }

## See Also

Property define_header, and command `cdl_package`.

Prev | Home | Next
flavor | Up | if_define