make/uwproj.xsd

changeset 867
7247b0a586bd
parent 809
8e6d8f0327cf
child 890
e77ccf1c4bb3
equal deleted inserted replaced
866:4a9227846234 867:7247b0a586bd
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