The Meson Build System http://mesonbuild.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.4 KiB

name: shared_module
returns: build_tgt
since: 0.37.0
description: |
Builds a shared module with the given sources.
This is useful for building modules that will be `dlopen()`ed and
hence may contain undefined symbols that will be provided by the
library that is loading it.
If you want the shared module to be able to refer to functions and
variables defined in the [[executable]] it is loaded by,
you will need to set the `export_dynamic` argument of the executable to
`true`.
notes:
- |
*Linking to a shared module is deprecated, and will be an error in the future*.
It used to be allowed because it was the only way to have a shared-library-like target that
contained references to undefined symbols. However, since 0.40.0, the `override_options:`
[[build_target]] keyword argument can be used to create such a [[shared_library]], and shared
modules have other characteristics that make them incompatible with linking, such as a lack of
SONAME. Linking to shared modules also does not work on some platforms, such as on macOS / iOS.
posargs_inherit: _build_target_base
varargs_inherit: _build_target_base
kwargs_inherit: _build_target_base
kwargs:
vs_module_defs:
type: str | file | custom_tgt | custom_idx
since: 0.52.0
description: |
Specify a Microsoft module definition file for controlling symbol exports,
etc., on platforms where that is possible (e.g. Windows).