config
element
+ and an arbitrary number of dependency
+ and target
elements.
+ var
elements.
+
+ 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.
+
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
.
+
+ 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.
+
exec
flag is set to true
, the contents are supposed to be
+ executed under command substitution at configuration time before they are applied.
+
+ 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.
+
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.
+ 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 default
s 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).
+ str
attribute) and
+ the conditions (dependencies
) and effects, the value has.
+ 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.
+