make/uwproj.xsd

changeset 100
714fbd1391a2
parent 99
d45f3f11ad76
equal deleted inserted replaced
99:d45f3f11ad76 100:714fbd1391a2
27 <xs:complexType name="ConfigType"> 27 <xs:complexType name="ConfigType">
28 <xs:annotation> 28 <xs:annotation>
29 <xs:documentation> 29 <xs:documentation>
30 <p> 30 <p>
31 The configuration section. 31 The configuration section.
32 Consists of an arbitrary number of <code>var</code> elements. 32 Consists of an arbitrary number of <code>var</code> elements and pre-defined elements for
33 standard installation directories. If you want to use standard installation directories, you
34 must list the wanted variables here.
33 </p> 35 </p>
34 <p> 36 <p>
35 The optional <code>platform</code> attribute may specify a <em>single</em> platform identifier and 37 The optional <code>platform</code> attribute may specify a <em>single</em> platform identifier and
36 the optional <code>not</code> attribute may specify a comma-separated list of platform identifiers. 38 the optional <code>not</code> attribute may specify a comma-separated list of platform identifiers.
37 The configure script shall skip this config declaration if the detected platform is not matching 39 The configure script shall skip this config declaration if the detected platform is not matching
38 the filter specification of these attributes. 40 the filter specification of these attributes.
41 When multiple config sections have a matching filter, and declare the same variables, the settings
42 of the first matching config section will be used for the affected variables.
39 </p> 43 </p>
40 </xs:documentation> 44 </xs:documentation>
41 </xs:annotation> 45 </xs:annotation>
42 <xs:sequence> 46 <xs:sequence>
47 <xs:element name="prefix" type="StandardConfigVarType" minOccurs="0"/>
48 <xs:element name="exec-prefix" type="StandardConfigVarType" minOccurs="0"/>
49 <xs:element name="bindir" type="StandardConfigVarType" minOccurs="0"/>
50 <xs:element name="sbindir" type="StandardConfigVarType" minOccurs="0"/>
51 <xs:element name="libdir" type="StandardConfigVarType" minOccurs="0"/>
52 <xs:element name="libexecdir" type="StandardConfigVarType" minOccurs="0"/>
53 <xs:element name="datarootdir" type="StandardConfigVarType" minOccurs="0"/>
54 <xs:element name="datadir" type="StandardConfigVarType" minOccurs="0"/>
55 <xs:element name="sysconfdir" type="StandardConfigVarType" minOccurs="0"/>
56 <xs:element name="sharedstatedir" type="StandardConfigVarType" minOccurs="0"/>
57 <xs:element name="localstatedir" type="StandardConfigVarType" minOccurs="0"/>
58 <xs:element name="runstatedir" type="StandardConfigVarType" minOccurs="0"/>
59 <xs:element name="includedir" type="StandardConfigVarType" minOccurs="0"/>
60 <xs:element name="infodir" type="StandardConfigVarType" minOccurs="0"/>
61 <xs:element name="localedir" type="StandardConfigVarType" minOccurs="0"/>
62 <xs:element name="mandir" type="StandardConfigVarType" minOccurs="0"/>
43 <xs:element name="var" type="ConfigVarType" minOccurs="0" maxOccurs="unbounded"/> 63 <xs:element name="var" type="ConfigVarType" minOccurs="0" maxOccurs="unbounded"/>
44 </xs:sequence> 64 </xs:sequence>
45 <xs:attribute name="platform" type="xs:string"/> 65 <xs:attribute name="platform" type="xs:string"/>
46 <xs:attribute name="not" type="xs:string"/> 66 <xs:attribute name="not" type="xs:string"/>
47 </xs:complexType> 67 </xs:complexType>
48 68
69 <xs:complexType name="StandardConfigVarType">
70 <xs:annotation>
71 <xs:documentation>
72 The definition of a standard configuration variable.
73 <p>
74 You may customize the value and the help text,
75 but the variable name and the option name are pre-defined.
76 </p>
77 </xs:documentation>
78 </xs:annotation>
79 <xs:simpleContent>
80 <xs:extension base="xs:string">
81 <xs:attribute name="option-help" type="xs:string"/>
82 <xs:attribute name="exec" type="xs:boolean" default="false"/>
83 </xs:extension>
84 </xs:simpleContent>
85 </xs:complexType>
86
49 <xs:complexType name="ConfigVarType"> 87 <xs:complexType name="ConfigVarType">
50 <xs:annotation> 88 <xs:annotation>
51 <xs:documentation> 89 <xs:documentation>
52 The definition of a configuration variable. 90 The definition of a configuration variable.
53 <p> 91 <p>
54 Configuration variables are supposed to be used in the configure script and are also 92 Configuration variables are supposed to be used in the configure script and are also
55 written to the resulting config file (in contrast to make variables, which are only 93 written to the resulting config file (in contrast to make variables, which are only
56 written to the config file). 94 written to the config file).
57 The <code>name</code> attribute is mandatory, the value is defined by the text body of the element. 95 The <code>name</code> attribute is mandatory, the value is defined by the text body of the element.
58 The optional Boolean <code>exec</code> attribute (false by default) controls, whether the entire 96 The optional Boolean <code>exec</code> attribute (false by default) controls, whether value denotes
59 definition is automatically executed under command substitution. 97 a command which shall be executed at configuration time to produce the value.
98 With <code>option</code> and <code>option-help</code> you can control how the variable can be
99 overridden on the command line. When you don't specify either of those attributes, no command
100 line option will be generated. When you provide a <code>option-help</code>, but do not specify the
101 <code>option</code> name, a name is generated.
102 You can use the string <code>%default</code> in your help text when you want to show the default
103 value in the text. When <code>exec</code> is used, the default will not be resolved in the help
104 text and instead the command is shown (to avoid breaking the formatting).
60 </p> 105 </p>
61 </xs:documentation> 106 </xs:documentation>
62 </xs:annotation> 107 </xs:annotation>
63 <xs:simpleContent> 108 <xs:simpleContent>
64 <xs:extension base="xs:string"> 109 <xs:extension base="xs:string">
65 <xs:attribute name="name" type="xs:string" use="required"/> 110 <xs:attribute name="name" type="xs:string" use="required"/>
111 <xs:attribute name="option" type="xs:string"/>
112 <xs:attribute name="option-help" type="xs:string"/>
66 <xs:attribute name="exec" type="xs:boolean" default="false"/> 113 <xs:attribute name="exec" type="xs:boolean" default="false"/>
67 </xs:extension> 114 </xs:extension>
68 </xs:simpleContent> 115 </xs:simpleContent>
69 </xs:complexType> 116 </xs:complexType>
70 117
226 <xs:complexType name="OptionType"> 273 <xs:complexType name="OptionType">
227 <xs:annotation> 274 <xs:annotation>
228 <xs:documentation> 275 <xs:documentation>
229 Declares a configuration option. 276 Declares a configuration option.
230 The option argument name is specified with the <code>arg</code> attribute. 277 The option argument name is specified with the <code>arg</code> attribute.
231 Then, the children of this element specify possible <code>values</code> by defining the conditions 278 Optionally, a description for the help text of the resulting configure script can be specified by
279 a <code>desc</code> element.
280 Then, the next children of this element specify possible <code>values</code> by defining the conditions
232 (in terms of dependencies) and effects (in terms of defines and make variables) of each value. 281 (in terms of dependencies) and effects (in terms of defines and make variables) of each value.
233 Finally, a set of <code>default</code>s is specified which supposed to automagically select the most 282 Finally, a set of <code>default</code>s is specified which supposed to automagically select the most
234 appropriate value for a specific platform under the available dependencies (in case the option is not 283 appropriate value for a specific platform under the available dependencies (in case the option is not
235 explicitly specified by using the command line argument). 284 explicitly specified by using the command line argument).
236 </xs:documentation> 285 </xs:documentation>
237 </xs:annotation> 286 </xs:annotation>
238 <xs:sequence> 287 <xs:sequence>
288 <xs:element name="desc" type="xs:string" minOccurs="0"/>
239 <xs:element name="value" type="OptionValueType" minOccurs="0" maxOccurs="unbounded"/> 289 <xs:element name="value" type="OptionValueType" minOccurs="0" maxOccurs="unbounded"/>
240 <xs:element name="default" type="OptionDefaultType" minOccurs="0" maxOccurs="unbounded"/> 290 <xs:element name="default" type="OptionDefaultType" minOccurs="0" maxOccurs="unbounded"/>
241 </xs:sequence> 291 </xs:sequence>
242 <xs:attribute name="arg" type="xs:string" use="required"/> 292 <xs:attribute name="arg" type="xs:string" use="required"/>
243 </xs:complexType> 293 </xs:complexType>

mercurial