The --dump-interface
option causes abuild to
create various XML output files exposing everything abuild knows
about the interface system before and after processing each build
item. For details, please refer to Section 17.6, “Debugging Interface Issues”. The format of those files
conforms to an XML DTD. Comments in the DTD describe how to
interpret the elements and attributes. The DTD may be found in
doc/interface_dump.dtd
in the abuild
distribution. Its contents are included here for reference.
<!-- This DTD describes the format of the output of the files --> <!-- created by abuild dump-interfaces. Inline comments explain --> <!-- the details. The reader is assumed to have advanced --> <!-- familiarity with the interface system as described in the --> <!-- documentation. --> <!-- All location attributes have values of the form --> <!-- filename:lineno:colno. Some operations are performed --> <!-- internally by abuild. In those cases, location will --> <!-- something including the word "internal" inside square --> <!-- brackets. --> <!-- The version attribute is always "1". We will only --> <!-- increment this if there is a change to the output such that --> <!-- previously valid data is either no longer valid or is valid --> <!-- but has different semantics. Adding new attributes with --> <!-- default values, optional attributes, or optional elements --> <!-- will not cause the version number to be increased. Code --> <!-- that reads this output should be prepared to accept and --> <!-- ignore unknown attributes or elements. The item-name and --> <!-- item-platform attributes describe the name and platform of --> <!-- the item whose interface this is. --> <!ELEMENT interface (variable*)> <!ATTLIST interface version CDATA #REQUIRED item-name CDATA #REQUIRED item-platform CDATA #REQUIRED > <!-- One variable element exists for each variable that has been --> <!-- declared. The attributes' values are self-explanatory. --> <!ELEMENT variable (reset-history?, assignment-history?)> <!ATTLIST variable name CDATA #REQUIRED type CDATA #REQUIRED target-type CDATA #REQUIRED declaration-location CDATA #REQUIRED > <!-- Each time a variable is reset, an entry is recorded in the --> <!-- reset history. No assignments prior to the most recent --> <!-- reset will be output, so the reset history can be used to --> <!-- find earlier information about a variable. --> <!ELEMENT reset-history (reset+)> <!-- The attributes of the reset element refer to the build item --> <!-- whose interface performed the reset operation. --> <!ELEMENT reset EMPTY> <!ATTLIST reset item-name CDATA #REQUIRED item-platform CDATA #REQUIRED location CDATA #REQUIRED > <!-- Each time an assignment is made to a variable, there is an --> <!-- entry in the assignment history. All assignments to a --> <!-- variable are shown, including those that do not contribute --> <!-- to the value of a variable. Remember that, for scalar --> <!-- variables, only the last assignment affects the value of --> <!-- the variable; and that for list variables, each assignment --> <!-- is appended or prepended to prior ones as determined by the --> <!-- list type. Also, variable assignments are filtered at --> <!-- runtime based on flags. --> <!ELEMENT assignment-history (assignment+)> <!-- The item-name, item-platform, and location attributes of --> <!-- the assignment element refer to the build item whose --> <!-- interface performed the assignment. Remaining attributes --> <!-- apply to the assignment and are self-explanatory. --> <!ELEMENT assignment (value*)> <!ATTLIST assignment assignment-type CDATA #REQUIRED flag CDATA #IMPLIED item-name CDATA #REQUIRED item-platform CDATA #REQUIRED location CDATA #REQUIRED > <!ELEMENT value EMPTY> <!ATTLIST value value CDATA #REQUIRED >