name: library returns: lib description: | Builds a library that is either static, shared or both depending on the value of `default_library` user [option](https://mesonbuild.com/Builtin-options.html). You should use this instead of [[shared_library]], [[static_library]] or [[both_libraries]] most of the time. This allows you to toggle your entire project (including subprojects) from shared to static with only one option. This option applies to libraries being built internal to the entire project. For external dependencies, the default library type preferred is shared. This can be adapted on a per library basis using the [[dependency]] `static` keyword. The keyword arguments for this are the same as for [[build_target]] posargs_inherit: _build_target_base varargs_inherit: _build_target_base kwargs_inherit: - shared_library - static_library kwargs: rust_abi: type: str since: 1.3.0 description: | Set the specific ABI to compile (when compiling rust). - 'rust' (default): Create a "rlib" or "dylib" crate depending on the library type being build. - 'c': Create a "cdylib" or "staticlib" crate depending on the library type being build.