diff --git a/conf.py b/conf.py index 9e1fcb8..42d5f1e 100644 --- a/conf.py +++ b/conf.py @@ -13,7 +13,7 @@ project = 'Common Package Specification' copyright = '2024, Matthew Woehlke' -version_info = (0, 13, 0) +version_info = (0, 14, 0) release = '.'.join(map(str, version_info)) version = '.'.join(map(str, version_info[:2])) diff --git a/schema.rst b/schema.rst index c4be839..9f6255a 100644 --- a/schema.rst +++ b/schema.rst @@ -122,6 +122,23 @@ Attribute names are case sensitive. depending on the language of the consuming source file. Handling of such shall be the same as for `definitions`_. +.. ---------------------------------------------------------------------------- +.. cps:attribute:: compile_requires + :type: list(string) + :context: component configuration + + Specifies additional components required by a component + which are needed only at the compile stage. + Unlike `requires (component)`_, + only the required components' compilation-related attributes + should be applied transitively; + link requirements of the required component(s) should be ignored. + + This is especially useful for libraries + whose interfaces rely on the data types of a dependency + but do not expose linkable symbols of that dependency, + or which dynamically load the dependency at run-time. + .. ---------------------------------------------------------------------------- .. cps:attribute:: components :type: map(component)