diff -r 9817c08f9637 -r a13789dd1cfb uwproj.xsd --- a/uwproj.xsd Wed Oct 11 20:41:26 2023 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,281 +0,0 @@ - - - - - - - - The root element of an uwproj project. - Consists of an optional config element - and an arbitrary number of dependency - and target elements. - - - - - - - - - - - - - The configuration section. - Consists of an arbitrary number of var elements. - - - - - - - - - - - The definition of a configuration variable. -

- Configuration variables are supposed to be used in the configure script and are also - written to the resulting config file (in contrast to make variables, which are only - written to the config file). - The name attribute is mandatory, the value is defined by the text body of the element. - The optional Boolean exec attribute (false by default) controls, whether the entire - definition is automatically executed under command substitution. -

-
-
- - - - - - -
- - - - - Instructs configure to invoke pkg-config, if present on the system, to determine - compiler and linker flags. The text body of this element defines the package name to search. - To constrain the allowed versions, use the attributes atleast, exact, max. - - - - - - - - - - - - - - - Requests a compiler for the specified language. Allowed values are - c, cpp. - - - - - - - - - - - - Declares a dependency. -

- If the optional name attribute is omitted, the dependency is global - and must be satisfied, otherwise configuration shall fail. - A named dependency can be referenced by a target (or is implicitly referenced - by the default target, if no targets are specified). - Multiple declarations for the same named dependency may exist, in which case each declaration - is checked one after another, until one block is satisfied. The result of the first satisfied - dependency declaration is supposed to be applied to the config file. -

-

- The optional platform attribute may specify a single platform identifier and - the optional not attribute may specify a comma-separated list of platform identifiers. - The configure script shall skip this dependency declaration if the detected platform is not - matching the filter specification of these attributes. -

-
-
- - - - - - - - - - Specifies a custom command that shall be executed to test whether this dependency is satisfied. - - - - - - - - -
- - - - - Instructs configure to append the contents of the element's body to the respective flags variable. - If the optional exec flag is set to true, the contents are supposed to be - executed under command substitution at configuration time before they are applied. - - - - - - - - - - - - - Declares a build target that is supposed to be configured. -

- If no build target is declared explicitly, an implicit default - target is generated, which has the alldependencies - flag set. -

-

- The optional name attribute is also used to generate a prefix - for the compiler and linker flags variables. - Furthermore, a target may consist of an arbitrary number of feature, - option, and define elements. - Named dependencies can be listed (separated by comma) in the dependencies - element. If this target shall use all available named dependencies, the empty - element alldependencies can be used as a shortcut. -

-
-
- - - - - - - - - - -
- - - - - Declares an optional feature, that can be enabled during configuration, if all - dependencies are satisfied. - If a feature is enabled, all define and make definitions are - supposed to be applied to the config file. - In case the optional default attribute is set to true, the feature is enabled by default - and is supposed to be automatically disabled (without error) when the dependencies are not satisfied. - The name that is supposed to be used for the --enable and --disable arguments can be optionally - specified with the arg attribute. Otherwise, the name is used by default. - - - - - - - - - - - - - - Declares a configuration option. - The option argument name is specified with the arg attribute. - Then, the children of this element specify possible values by defining the conditions - (in terms of dependencies) and effects (in terms of defines and make variables) of each value. - Finally, a set of defaults is specified which supposed to automagically select the most - appropriate value for a specific platform under the available dependencies (in case the option is not - explicitly specified by using the command line argument). - - - - - - - - - - - - - Declares a possible value for the option (in the str attribute) and - the conditions (dependencies) and effects, the value has. - - - - - - - - - - - - Specifies a default value for this option. Multiple default values can be specified, in which case - they are checked one after another for availability. With the optional platform attribute, - the default value can be constrained to a single specific platform and is supposed to be - skipped by configure, when this platform is not detected. - - - - - - - - - - - - - - - - - - Specifies C/C++ pre-processor definitions that are supposed to - be appended to the compiler flags, if supported. - (Note: for example, Fortran also supports C/C++ style pre-processor definitions under - certain circumstances) - - - - - - - - - A comma-separated list of named dependencies. - - - - - - - - The text contents in the body of this element are supposed to be appended literally - to the config file without prior processing. - - - - -
\ No newline at end of file