Skip to content
Laurie0131 edited this page Jun 29, 2017 · 1 revision

Frequently asked questions about DEC

Table of Contents

What is in the DSC vs DEC vs INF—what is each and why, overlap?

There are specifications for each of these build description files on tianocore.org: http://sourceforge.net/projects/edk2/files/Specifications

How many DEC and DSC are in a build?

There is one DSC per Build but each package can have its own DSC. All packages must have a DEC file. The minimum content required in a DEC file is the [Defines] section. Also every platform package must have a DSC/FDF file to build a firmware image for the platforms FLASH/ROM. Non-platform packages typically have a DSC files to verify that the libraries and modules in that package can build properly for all supports CPU Architectures, all supported development Operating Systems, and all supported Tool Chains.

Can the DEC compile packages?

The DEC file declares Protocols, PPIs, GUIDs, Library Classes, and PCDs. It is not used directly to compile the contents of a package. Instead, the build system uses the declared contents of DEC files when building libraries/modules that reference the Protocols, PPIs, GUIDs, Library Classes, or PCDs that are declared in that DEC file. Module and Library INF files have a [Packages] section. The [Packages] section lists the set of packages that the Module or Library depends on to build. If a Module or Library uses a Protocol, PPI, GUID, Library Class, or PCD from a package, then the DEC file for that package must be listed in the INF file for that Module or Library.

What is DEC publishing?

The DEC of a package will publish protocols for consuming, PCDs that can be manipulated by other packages, Libraries and GUIDs. The DEC file declares Protocols, PPIs, GUIDs, Library Classes, and PCDs.

Clone this wiki locally