--- a/make/uwproj.xsd Thu Oct 31 12:15:45 2024 +0100 +++ b/make/uwproj.xsd Thu Oct 31 13:24:39 2024 +0100 @@ -17,7 +17,7 @@ </xs:documentation> </xs:annotation> <xs:sequence> - <xs:element name="config" type="ConfigType" minOccurs="0"/> + <xs:element name="config" type="ConfigType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="dependency" type="DependencyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="target" type="TargetType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> @@ -26,13 +26,23 @@ <xs:complexType name="ConfigType"> <xs:annotation> <xs:documentation> - The configuration section. - Consists of an arbitrary number of <code>var</code> elements. + <p> + The configuration section. + Consists of an arbitrary number of <code>var</code> elements. + </p> + <p> + The optional <code>platform</code> attribute may specify a <em>single</em> platform identifier and + the optional <code>not</code> attribute may specify a comma-separated list of platform identifiers. + The configure script shall skip this config declaration if the detected platform is not matching + the filter specification of these attributes. + </p> </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="var" type="ConfigVarType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> + <xs:attribute name="platform" type="xs:string"/> + <xs:attribute name="not" type="xs:string"/> </xs:complexType> <xs:complexType name="ConfigVarType"> @@ -195,11 +205,11 @@ </xs:annotation> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:group ref="TargetDataGroup"/> + <xs:element name="desc" type="xs:string"/> </xs:choice> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="arg" type="xs:string"/> <xs:attribute name="default" type="xs:boolean" default="false"/> - <xs:element name="desc" type="xs:string"/> </xs:complexType> <xs:complexType name="OptionType">