Labels consist of a set of elements, with each element having one of three categories: system, type, and ABI. Valid elements are as follows, sorted according to category: system: host target type: build run install compile-against ABI: any valid ABI value, plus 'any', 'mine', and 'primary'. suggest: suggested recommended required Their meanings are as follows: host: dependencies are required to be installed on the root filesystem of the build host while the package is being built or installed. target: dependencies are required to be installed on the filesystem to which the current package is being installed. build: dependencies must be available on the relevant system (determined by 'host' or 'target') while the package is being built. run: dependencies must be available in order for the package to be used on the target system, but need not necessarily be present during build or installation. If not already present, they must be installed as part of the same operation as the current package, but not necessarily before it. install: dependencies must be available while the package is being installed, but not necessarily during build or runtime. This includes the pkg_setup, pkg_preinst and pkg_postinst ebuild phases. compile-against: dependencies are required to be installed when a package is being installed that has a build: dependency upon this package. suggested: dependencies are not required to build, install, or run the package, but may be used to access extra functionality. recommended: dependencies are not required to build, install, or run the package, but may be needed for some important or common but non-essential functionality. required: dependencies are required to build, install, or run the package, and must be available at the relevant time. any: The package that satisfies the dependency may be installed with any set of valid ABIs for the relevant system. This is intended for dependencies that are only used via their executables, and is the only valid ABI type for 'host' dependencies. mine: The package that satisfies the dependency must be installed with a superset of the ABIs being used for the current package. primary: The ABIs for the package satisfying the dependency must contain the primary ABI for this package. For any other valid ABI value, the package satisfying the dependency must contain that ABI amongst the set with which it was installed. If the specified ABI is not valid on the target system, an error must be raised. Only one 'suggest' element may be present in any label. == Syntax == A dependency label is a set of the above elements, separated by commas or plus signs and followed by a colon. If a label is encountered when parsing DEPENDENCIES, it is processed as follows: For each category, if no element in that category is specified, then the elements of that category present in the previously active label are carried forward, and combined as a set union with the new label. The resultant label is then applied to all dependency specifications until the next label or the end of the ( ) block in which the label is found. == Defaults == The default label is target,build,run,required,mine.