| name: shared_library | |
| returns: lib | |
| description: Builds a shared library with the given sources. | |
| posargs_inherit: _build_target_base | |
| varargs_inherit: _build_target_base | |
| kwargs_inherit: _build_target_base | |
| kwargs: | |
| version: | |
| type: str | |
| description: | | |
| A string specifying the version of this shared library, | |
| such as `1.1.0`. On Linux and OS X, this is used to set the shared | |
| library version in the filename, such as `libfoo.so.1.1.0` and | |
| `libfoo.1.1.0.dylib`. If this is not specified, `soversion` is used | |
| instead (see above). | |
| soversion: | |
| type: str | int | |
| description: | | |
| A string or integer specifying the soversion of this shared library, | |
| such as `0`. On Linux and Windows this is used to set the | |
| soversion (or equivalent) in the filename. For example, if | |
| `soversion` is `4`, a Windows DLL will be called `foo-4.dll` and one | |
| of the aliases of the Linux shared library would be | |
| `libfoo.so.4`. If this is not specified, the first part of `version` | |
| is used instead (see below). For example, if `version` is `3.6.0` and | |
| `soversion` is not defined, it is set to `3`. | |
| darwin_versions: | |
| type: str | int | list[str] | |
| since: 0.48.0 | |
| description: | | |
| Defines the `compatibility version` and `current version` for the dylib on macOS. | |
| If a list is specified, it must be | |
| either zero, one, or two elements. If only one element is specified | |
| or if it's not a list, the specified value will be used for setting | |
| both compatibility version and current version. If unspecified, the | |
| `soversion` will be used as per the aforementioned rules. | |
| vs_module_defs: | |
| type: str | file | custom_tgt | custom_idx | |
| description: | | |
| Specify a Microsoft module definition file for controlling symbol exports, | |
| etc., on platforms where that is possible (e.g. Windows). |