make/uwproj.xsd

Sun, 30 Nov 2025 13:55:12 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 30 Nov 2025 13:55:12 +0100
changeset 1525
f675a4e99fb5
parent 1523
b5c32391802f
permissions
-rw-r--r--

fix missing fallback for doxygen executable

753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 <?xml version="1.0" encoding="UTF-8"?>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
3 xmlns="http://unixwork.de/uwproj"
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
4 targetNamespace="http://unixwork.de/uwproj"
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
5 elementFormDefault="qualified"
1470
c1a144db699f update uwproj (incl. fix of toolchain.sh)
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
6 version="0.4"
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
7 >
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8 <xs:element name="project" type="ProjectType"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
9
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10 <xs:complexType name="ProjectType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
11 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
12 <xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
13 The root element of an uwproj project.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
14 Consists of an optional <code>config</code> element
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
15 and an arbitrary number of <code>dependency</code>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
16 and <code>target</code> elements.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
17 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
18 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
19 <xs:sequence>
960
a8a5f3dd5c3d test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
20 <xs:element name="config" type="ConfigType" minOccurs="0" maxOccurs="unbounded"/>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
21 <xs:element name="dependency" type="DependencyType" minOccurs="0" maxOccurs="unbounded"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
22 <xs:element name="target" type="TargetType" minOccurs="0" maxOccurs="unbounded"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
23 </xs:sequence>
987
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 960
diff changeset
24 <xs:attribute name="version" type="xs:string" use="required" />
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
25 </xs:complexType>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
26
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
27 <xs:complexType name="ConfigType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
28 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
29 <xs:documentation>
960
a8a5f3dd5c3d test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
30 <p>
a8a5f3dd5c3d test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
31 The configuration section.
1523
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
32 Consists of an arbitrary number of <code>var</code> elements and pre-defined elements for
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
33 standard installation directories. If you want to use standard installation directories, you
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
34 must list the wanted variables here.
960
a8a5f3dd5c3d test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
35 </p>
a8a5f3dd5c3d test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
36 <p>
a8a5f3dd5c3d test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
37 The optional <code>platform</code> attribute may specify a <em>single</em> platform identifier and
a8a5f3dd5c3d test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
38 the optional <code>not</code> attribute may specify a comma-separated list of platform identifiers.
a8a5f3dd5c3d test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
39 The configure script shall skip this config declaration if the detected platform is not matching
a8a5f3dd5c3d test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
40 the filter specification of these attributes.
1523
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
41 When multiple config sections have a matching filter, and declare the same variables, the settings
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
42 of the first matching config section will be used for the affected variables.
960
a8a5f3dd5c3d test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
43 </p>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
44 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
45 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
46 <xs:sequence>
1523
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
47 <xs:element name="prefix" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
48 <xs:element name="exec-prefix" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
49 <xs:element name="bindir" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
50 <xs:element name="sbindir" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
51 <xs:element name="libdir" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
52 <xs:element name="libexecdir" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
53 <xs:element name="datarootdir" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
54 <xs:element name="datadir" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
55 <xs:element name="sysconfdir" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
56 <xs:element name="sharedstatedir" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
57 <xs:element name="localstatedir" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
58 <xs:element name="runstatedir" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
59 <xs:element name="includedir" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
60 <xs:element name="infodir" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
61 <xs:element name="localedir" type="StandardConfigVarType" minOccurs="0"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
62 <xs:element name="mandir" type="StandardConfigVarType" minOccurs="0"/>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
63 <xs:element name="var" type="ConfigVarType" minOccurs="0" maxOccurs="unbounded"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
64 </xs:sequence>
960
a8a5f3dd5c3d test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
65 <xs:attribute name="platform" type="xs:string"/>
a8a5f3dd5c3d test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
66 <xs:attribute name="not" type="xs:string"/>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
67 </xs:complexType>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
68
1523
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
69 <xs:complexType name="StandardConfigVarType">
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
70 <xs:annotation>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
71 <xs:documentation>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
72 The definition of a standard configuration variable.
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
73 <p>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
74 You may customize the value and the help text,
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
75 but the variable name and the option name are pre-defined.
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
76 </p>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
77 </xs:documentation>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
78 </xs:annotation>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
79 <xs:simpleContent>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
80 <xs:extension base="xs:string">
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
81 <xs:attribute name="option-help" type="xs:string"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
82 <xs:attribute name="exec" type="xs:boolean" default="false"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
83 </xs:extension>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
84 </xs:simpleContent>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
85 </xs:complexType>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
86
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
87 <xs:complexType name="ConfigVarType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
88 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
89 <xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
90 The definition of a configuration variable.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
91 <p>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
92 Configuration variables are supposed to be used in the configure script and are also
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
93 written to the resulting config file (in contrast to make variables, which are only
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
94 written to the config file).
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
95 The <code>name</code> attribute is mandatory, the value is defined by the text body of the element.
1523
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
96 The optional Boolean <code>exec</code> attribute (false by default) controls, whether value denotes
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
97 a command which shall be executed at configuration time to produce the value.
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
98 With <code>option</code> and <code>option-help</code> you can control how the variable can be
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
99 overridden on the command line. When you don't specify either of those attributes, no command
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
100 line option will be generated. When you provide a <code>option-help</code>, but do not specify the
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
101 <code>option</code> name, a name is generated.
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
102 You can use the string <code>%default</code> in your help text when you want to show the default
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
103 value in the text. When <code>exec</code> is used, the default will not be resolved in the help
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
104 text and instead the command is shown (to avoid breaking the formatting).
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
105 </p>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
106 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
107 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
108 <xs:simpleContent>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
109 <xs:extension base="xs:string">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
110 <xs:attribute name="name" type="xs:string" use="required"/>
1523
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
111 <xs:attribute name="option" type="xs:string"/>
b5c32391802f update uwproj and fix pkgconfigdir location on BSD
Mike Becker <universe@uap-core.de>
parents: 1492
diff changeset
112 <xs:attribute name="option-help" type="xs:string"/>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
113 <xs:attribute name="exec" type="xs:boolean" default="false"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
114 </xs:extension>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
115 </xs:simpleContent>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
116 </xs:complexType>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
117
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
118 <xs:complexType name="PkgConfigType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
119 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
120 <xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
121 Instructs configure to invoke <code>pkg-config</code>, if present on the system, to determine
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
122 compiler and linker flags. The text body of this element defines the package name to search.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
123 To constrain the allowed versions, use the attributes <code>atleast, exact, max</code>.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
124 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
125 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
126 <xs:simpleContent>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
127 <xs:extension base="xs:string">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
128 <xs:attribute name="atleast" type="xs:string"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
129 <xs:attribute name="exact" type="xs:string"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
130 <xs:attribute name="max" type="xs:string"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
131 </xs:extension>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
132 </xs:simpleContent>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
133 </xs:complexType>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
134
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
135 <xs:simpleType name="LangType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
136 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
137 <xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
138 Requests a compiler for the specified language. Allowed values are
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
139 c, cpp.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
140 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
141 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
142 <xs:restriction base="xs:string">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
143 <xs:enumeration value="c"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
144 <xs:enumeration value="cpp"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
145 </xs:restriction>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
146 </xs:simpleType>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
147
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
148 <xs:complexType name="DependencyType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
149 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
150 <xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
151 Declares a dependency.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
152 <p>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
153 If the optional <code>name</code> attribute is omitted, the dependency is global
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
154 and must be satisfied, otherwise configuration shall fail.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
155 A <em>named dependency</em> can be referenced by a target (or is implicitly referenced
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
156 by the default target, if no targets are specified).
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
157 Multiple declarations for the same named dependency may exist, in which case each declaration
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
158 is checked one after another, until one block is satisfied. The result of the first satisfied
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
159 dependency declaration is supposed to be applied to the config file.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
160 </p>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
161 <p>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
162 The optional <code>platform</code> attribute may specify a <em>single</em> platform identifier and
815
b0c4750cecd8 update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents: 753
diff changeset
163 the optional <code>toolchain</code> attribute may specify a <em>single</em> toolchain.
b0c4750cecd8 update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents: 753
diff changeset
164 The optional <code>not</code> attribute may specify a comma-separated list of platform and/or
b0c4750cecd8 update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents: 753
diff changeset
165 toolchain identifiers.
b0c4750cecd8 update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents: 753
diff changeset
166 The configure script shall skip this dependency declaration if the detected platform and toolchain
b0c4750cecd8 update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents: 753
diff changeset
167 is not matching the filter specification of these attributes.
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
168 </p>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
169 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
170 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
171 <xs:choice minOccurs="0" maxOccurs="unbounded">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
172 <xs:element name="lang" type="LangType"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
173 <xs:element name="cflags" type="FlagsType"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
174 <xs:element name="cxxflags" type="FlagsType"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
175 <xs:element name="ldflags" type="FlagsType"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
176 <xs:element name="pkgconfig" type="PkgConfigType"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
177 <xs:element name="test" type="xs:string">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
178 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
179 <xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
180 Specifies a custom command that shall be executed to test whether this dependency is satisfied.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
181 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
182 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
183 </xs:element>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
184 <xs:element name="make" type="MakeVarType"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
185 </xs:choice>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
186 <xs:attribute name="name" type="xs:string"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
187 <xs:attribute name="platform" type="xs:string"/>
815
b0c4750cecd8 update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents: 753
diff changeset
188 <xs:attribute name="toolchain" type="xs:string"/>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
189 <xs:attribute name="not" type="xs:string"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
190 </xs:complexType>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
191
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
192 <xs:complexType name="FlagsType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
193 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
194 <xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
195 Instructs configure to append the contents of the element's body to the respective flags variable.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
196 If the optional <code>exec</code> flag is set to <code>true</code>, the contents are supposed to be
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
197 executed under command substitution <em>at configuration time</em> before they are applied.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
198 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
199 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
200 <xs:simpleContent>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
201 <xs:extension base="xs:string">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
202 <xs:attribute name="exec" type="xs:boolean" default="false"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
203 </xs:extension>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
204 </xs:simpleContent>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
205 </xs:complexType>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
206
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
207 <xs:complexType name="TargetType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
208 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
209 <xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
210 Declares a build target that is supposed to be configured.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
211 <p>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
212 If no build target is declared explicitly, an implicit default
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
213 target is generated, which has the <code>alldependencies</code>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
214 flag set.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
215 </p>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
216 <p>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
217 The optional <code>name</code> attribute is also used to generate a prefix
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
218 for the compiler and linker flags variables.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
219 Furthermore, a target may consist of an arbitrary number of <code>feature</code>,
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
220 <code>option</code>, and <code>define</code> elements.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
221 Named dependencies can be listed (separated by comma) in the <code>dependencies</code>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
222 element. If this target shall use <em>all</em> available named dependencies, the empty
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
223 element <code>alldependencies</code> can be used as a shortcut.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
224 </p>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
225 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
226 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
227 <xs:choice minOccurs="0" maxOccurs="unbounded">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
228 <xs:element name="feature" type="FeatureType"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
229 <xs:element name="option" type="OptionType"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
230 <xs:element name="define" type="DefineType"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
231 <xs:element name="dependencies" type="DependenciesType"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
232 <xs:element name="alldependencies">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
233 <xs:complexType/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
234 </xs:element>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
235 </xs:choice>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
236 <xs:attribute name="name" type="xs:string"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
237 </xs:complexType>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
238
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
239 <xs:complexType name="FeatureType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
240 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
241 <xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
242 Declares an optional feature, that can be enabled during configuration, if all
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
243 <code>dependencies</code> are satisfied.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
244 If a feature is enabled, all <code>define</code> and <code>make</code> definitions are
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
245 supposed to be applied to the config file.
987
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 960
diff changeset
246 If a feature is disabled, an optional <code>disabled</code> element may specify which
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 960
diff changeset
247 <code>define</code> and <code>make</code> definitions are supposed to be applied.
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 960
diff changeset
248 There might also be <code>dependencies</code> when the feature is disabled (e.g. specifying a fallback).
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
249 In case the optional <code>default</code> attribute is set to true, the feature is enabled by default
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
250 and is supposed to be automatically disabled (without error) when the dependencies are not satisfied.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
251 The name that is supposed to be used for the --enable and --disable arguments can be optionally
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
252 specified with the <code>arg</code> attribute. Otherwise, the <code>name</code> is used by default.
815
b0c4750cecd8 update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents: 753
diff changeset
253 Optionally, a description for the help text of the resulting configure script can be specified by
b0c4750cecd8 update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents: 753
diff changeset
254 adding a <code>desc</code> element.
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
255 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
256 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
257 <xs:choice minOccurs="0" maxOccurs="unbounded">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
258 <xs:group ref="TargetDataGroup"/>
960
a8a5f3dd5c3d test coverage does not really work with clang
Mike Becker <universe@uap-core.de>
parents: 815
diff changeset
259 <xs:element name="desc" type="xs:string"/>
987
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 960
diff changeset
260 <xs:element name="disabled">
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 960
diff changeset
261 <xs:complexType>
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 960
diff changeset
262 <xs:choice minOccurs="0" maxOccurs="unbounded">
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 960
diff changeset
263 <xs:group ref="TargetDataGroup"/>
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 960
diff changeset
264 </xs:choice>
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 960
diff changeset
265 </xs:complexType>
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 960
diff changeset
266 </xs:element>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
267 </xs:choice>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
268 <xs:attribute name="name" type="xs:string" use="required"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
269 <xs:attribute name="arg" type="xs:string"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
270 <xs:attribute name="default" type="xs:boolean" default="false"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
271 </xs:complexType>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
272
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
273 <xs:complexType name="OptionType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
274 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
275 <xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
276 Declares a configuration option.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
277 The option argument name is specified with the <code>arg</code> attribute.
1492
cc83ce484bf7 update uwproj
Mike Becker <universe@uap-core.de>
parents: 1470
diff changeset
278 Optionally, a description for the help text of the resulting configure script can be specified by
cc83ce484bf7 update uwproj
Mike Becker <universe@uap-core.de>
parents: 1470
diff changeset
279 a <code>desc</code> element.
cc83ce484bf7 update uwproj
Mike Becker <universe@uap-core.de>
parents: 1470
diff changeset
280 Then, the next children of this element specify possible <code>values</code> by defining the conditions
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
281 (in terms of dependencies) and effects (in terms of defines and make variables) of each value.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
282 Finally, a set of <code>default</code>s is specified which supposed to automagically select the most
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
283 appropriate value for a specific platform under the available dependencies (in case the option is not
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
284 explicitly specified by using the command line argument).
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
285 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
286 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
287 <xs:sequence>
1492
cc83ce484bf7 update uwproj
Mike Becker <universe@uap-core.de>
parents: 1470
diff changeset
288 <xs:element name="desc" type="xs:string" minOccurs="0"/>
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
289 <xs:element name="value" type="OptionValueType" minOccurs="0" maxOccurs="unbounded"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
290 <xs:element name="default" type="OptionDefaultType" minOccurs="0" maxOccurs="unbounded"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
291 </xs:sequence>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
292 <xs:attribute name="arg" type="xs:string" use="required"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
293 </xs:complexType>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
294
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
295 <xs:complexType name="OptionValueType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
296 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
297 <xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
298 Declares a possible value for the option (in the <code>str</code> attribute) and
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
299 the conditions (<code>dependencies</code>) and effects, the value has.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
300 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
301 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
302 <xs:choice minOccurs="0" maxOccurs="unbounded">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
303 <xs:group ref="TargetDataGroup"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
304 </xs:choice>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
305 <xs:attribute name="str" type="xs:string" use="required"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
306 </xs:complexType>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
307
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
308 <xs:complexType name="OptionDefaultType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
309 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
310 <xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
311 Specifies a default value for this option. Multiple default values can be specified, in which case
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
312 they are checked one after another for availability. With the optional <code>platform</code> attribute,
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
313 the default value can be constrained to a <em>single</em> specific platform and is supposed to be
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
314 skipped by configure, when this platform is not detected.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
315 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
316 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
317 <xs:attribute name="value" type="xs:string" use="required"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
318 <xs:attribute name="platform" type="xs:string"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
319 </xs:complexType>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
320
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
321 <xs:group name="TargetDataGroup">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
322 <xs:choice>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
323 <xs:element name="define" type="DefineType" minOccurs="0" maxOccurs="unbounded"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
324 <xs:element name="dependencies" type="DependenciesType" minOccurs="0" maxOccurs="unbounded"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
325 <xs:element name="make" type="MakeVarType" minOccurs="0" maxOccurs="unbounded"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
326 </xs:choice>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
327 </xs:group>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
328
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
329 <xs:complexType name="DefineType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
330 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
331 <xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
332 Specifies C/C++ pre-processor definitions that are supposed to
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
333 be appended to the compiler flags, if supported.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
334 (Note: for example, Fortran also supports C/C++ style pre-processor definitions under
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
335 certain circumstances)
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
336 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
337 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
338 <xs:attribute name="name" type="xs:string" use="required"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
339 <xs:attribute name="value" type="xs:string"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
340 </xs:complexType>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
341
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
342 <xs:simpleType name="DependenciesType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
343 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
344 <xs:documentation>A comma-separated list of named dependencies.</xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
345 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
346 <xs:restriction base="xs:string"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
347 </xs:simpleType>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
348
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
349 <xs:simpleType name="MakeVarType">
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
350 <xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
351 <xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
352 The text contents in the body of this element are supposed to be appended literally
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
353 to the config file without prior processing.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
354 </xs:documentation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
355 </xs:annotation>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
356 <xs:restriction base="xs:string"/>
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
357 </xs:simpleType>
815
b0c4750cecd8 update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents: 753
diff changeset
358 </xs:schema>

mercurial