@@ -307,6 +307,38 @@ Attribute names are case sensitive.
307307 the latter, when applicable to the source being compiled,
308308 shall have precedence.
309309
310+ .. ----------------------------------------------------------------------------
311+ .. cps :attribute :: dyld_requires
312+ :type: list(string)
313+ :context: component configuration
314+
315+ Specifies additional components required by a component
316+ which are needed only by the dynamic library loader.
317+ Unlike `requires (component) `_ or `link_requires `_,
318+ these are not used to resolve symbol references of the consumer,
319+ but represent "private" implementation requirements
320+ of the component on which this attribute appears.
321+
322+ Typically, such requirements represent a need
323+ to ensure that the required component can be found at run time.
324+ This is usually accomplished in one of three ways:
325+
326+ - Ensuring that the component resides
327+ in a default / "system" search path.
328+
329+ - Encoding the component path in the binary
330+ in a way that influences the dynamic library loader
331+ (e.g. "RPATH").
332+
333+ - Providing the component path in an environment variable
334+ which influences the dynamic library loader's search paths.
335+
336+ The last case requires external information to be provided;
337+ this attribute facilitates tools generating that information.
338+ In some instances, this external library search information
339+ may also be required to successfully link components,
340+ if the linker demands that all library references can be resolved.
341+
310342.. ----------------------------------------------------------------------------
311343 .. cps :attribute :: hints
312344 :type: list(string)
@@ -427,8 +459,8 @@ Attribute names are case sensitive.
427459 :type: list(string)
428460 :context: component configuration
429461
430- Specifies a list of additional libraries that must be linked against
431- when linking code that consumes the component.
462+ Specifies a list of additional libraries (as paths, not components)
463+ that must be linked against when linking code that consumes the component.
432464 (Note that packages should avoid using this attribute if at all possible.
433465 Use `requires (component) `_ instead whenever possible.)
434466
0 commit comments