Skip to content

Add "nolink" dependency type for shared libraries dependent on shared libraries #39

@ethouris

Description

@ethouris

In contradiction to a program, a shared library need not have all symbols resolved even potentially at link time. Therefore, if a library is being created and then used as a dependency then the following specification should be available:

  • -depends somelib - link against the current available specification. If both static and dynamic are available, prefer static.
  • -depends somelib/static - enforce linking against static library (error if not provided)
  • -depends somelib/shared - enforce linking against shared library (error if not provided)
  • -depends somelib/virtual - add all sources defined for somelib directly to this target sources instead of linking
  • -depends somelib/nolink - enforce target dependency, but don't link against this library at all

The nolink specification should be allowed also when defining a program. This is useful if you have a shared library that will be load and resolved manually, e.g. using dlopen and dlsym functions.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions