make/uwproj.xsd

changeset 615
1ffc6fce045d
parent 515
2c3fe06a9210
child 656
59dd1fb27639
equal deleted inserted replaced
614:eb1c4d464ecd 615:1ffc6fce045d
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3 xmlns="http://unixwork.de/uwproj" 3 xmlns="http://unixwork.de/uwproj"
4 targetNamespace="http://unixwork.de/uwproj" 4 targetNamespace="http://unixwork.de/uwproj"
5 elementFormDefault="qualified" 5 elementFormDefault="qualified"
6 version="0.2" 6 version="0.3"
7 > 7 >
8 <xs:element name="project" type="ProjectType"/> 8 <xs:element name="project" type="ProjectType"/>
9 9
10 <xs:complexType name="ProjectType"> 10 <xs:complexType name="ProjectType">
11 <xs:annotation> 11 <xs:annotation>
15 and an arbitrary number of <code>dependency</code> 15 and an arbitrary number of <code>dependency</code>
16 and <code>target</code> elements. 16 and <code>target</code> elements.
17 </xs:documentation> 17 </xs:documentation>
18 </xs:annotation> 18 </xs:annotation>
19 <xs:sequence> 19 <xs:sequence>
20 <xs:element name="config" type="ConfigType" minOccurs="0"/> 20 <xs:element name="config" type="ConfigType" minOccurs="0" maxOccurs="unbounded"/>
21 <xs:element name="dependency" type="DependencyType" minOccurs="0" maxOccurs="unbounded"/> 21 <xs:element name="dependency" type="DependencyType" minOccurs="0" maxOccurs="unbounded"/>
22 <xs:element name="target" type="TargetType" minOccurs="0" maxOccurs="unbounded"/> 22 <xs:element name="target" type="TargetType" minOccurs="0" maxOccurs="unbounded"/>
23 </xs:sequence> 23 </xs:sequence>
24 <xs:attribute name="version" type="xs:string" use="required" />
24 </xs:complexType> 25 </xs:complexType>
25 26
26 <xs:complexType name="ConfigType"> 27 <xs:complexType name="ConfigType">
27 <xs:annotation> 28 <xs:annotation>
28 <xs:documentation> 29 <xs:documentation>
29 The configuration section. 30 <p>
30 Consists of an arbitrary number of <code>var</code> elements. 31 The configuration section.
32 Consists of an arbitrary number of <code>var</code> elements.
33 </p>
34 <p>
35 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.
37 The configure script shall skip this config declaration if the detected platform is not matching
38 the filter specification of these attributes.
39 </p>
31 </xs:documentation> 40 </xs:documentation>
32 </xs:annotation> 41 </xs:annotation>
33 <xs:sequence> 42 <xs:sequence>
34 <xs:element name="var" type="ConfigVarType" minOccurs="0" maxOccurs="unbounded"/> 43 <xs:element name="var" type="ConfigVarType" minOccurs="0" maxOccurs="unbounded"/>
35 </xs:sequence> 44 </xs:sequence>
45 <xs:attribute name="platform" type="xs:string"/>
46 <xs:attribute name="not" type="xs:string"/>
36 </xs:complexType> 47 </xs:complexType>
37 48
38 <xs:complexType name="ConfigVarType"> 49 <xs:complexType name="ConfigVarType">
39 <xs:annotation> 50 <xs:annotation>
40 <xs:documentation> 51 <xs:documentation>
183 <xs:documentation> 194 <xs:documentation>
184 Declares an optional feature, that can be enabled during configuration, if all 195 Declares an optional feature, that can be enabled during configuration, if all
185 <code>dependencies</code> are satisfied. 196 <code>dependencies</code> are satisfied.
186 If a feature is enabled, all <code>define</code> and <code>make</code> definitions are 197 If a feature is enabled, all <code>define</code> and <code>make</code> definitions are
187 supposed to be applied to the config file. 198 supposed to be applied to the config file.
199 If a feature is disabled, an optional <code>disabled</code> element may specify which
200 <code>define</code> and <code>make</code> definitions are supposed to be applied.
201 There might also be <code>dependencies</code> when the feature is disabled (e.g. specifying a fallback).
188 In case the optional <code>default</code> attribute is set to true, the feature is enabled by default 202 In case the optional <code>default</code> attribute is set to true, the feature is enabled by default
189 and is supposed to be automatically disabled (without error) when the dependencies are not satisfied. 203 and is supposed to be automatically disabled (without error) when the dependencies are not satisfied.
190 The name that is supposed to be used for the --enable and --disable arguments can be optionally 204 The name that is supposed to be used for the --enable and --disable arguments can be optionally
191 specified with the <code>arg</code> attribute. Otherwise, the <code>name</code> is used by default. 205 specified with the <code>arg</code> attribute. Otherwise, the <code>name</code> is used by default.
192 Optionally, a description for the help text of the resulting configure script can be specified by 206 Optionally, a description for the help text of the resulting configure script can be specified by
193 adding a <code>desc</code> element. 207 adding a <code>desc</code> element.
194 </xs:documentation> 208 </xs:documentation>
195 </xs:annotation> 209 </xs:annotation>
196 <xs:choice minOccurs="0" maxOccurs="unbounded"> 210 <xs:choice minOccurs="0" maxOccurs="unbounded">
197 <xs:group ref="TargetDataGroup"/> 211 <xs:group ref="TargetDataGroup"/>
212 <xs:element name="desc" type="xs:string"/>
213 <xs:element name="disabled">
214 <xs:complexType>
215 <xs:choice minOccurs="0" maxOccurs="unbounded">
216 <xs:group ref="TargetDataGroup"/>
217 </xs:choice>
218 </xs:complexType>
219 </xs:element>
198 </xs:choice> 220 </xs:choice>
199 <xs:attribute name="name" type="xs:string" use="required"/> 221 <xs:attribute name="name" type="xs:string" use="required"/>
200 <xs:attribute name="arg" type="xs:string"/> 222 <xs:attribute name="arg" type="xs:string"/>
201 <xs:attribute name="default" type="xs:boolean" default="false"/> 223 <xs:attribute name="default" type="xs:boolean" default="false"/>
202 <xs:element name="desc" type="xs:string"/>
203 </xs:complexType> 224 </xs:complexType>
204 225
205 <xs:complexType name="OptionType"> 226 <xs:complexType name="OptionType">
206 <xs:annotation> 227 <xs:annotation>
207 <xs:documentation> 228 <xs:documentation>

mercurial