Merge pull request #2701 from dcbaker/submit/better-llvm-docs

Minor LLVM dependency cleanups for the next release
pull/2709/head
Jussi Pakkanen 7 years ago committed by GitHub
commit 5208e6524c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 29
      docs/markdown/Dependencies.md
  2. 2
      mesonbuild/interpreter.py

@ -197,3 +197,32 @@ tools support. You can force one or another via the method keyword:
```meson
wmf_dep = dependency('wmf', method : 'config-tool')
```
## LLVM
Meson has native support for LLVM going back to version LLVM version 3.5.
It supports a few additional features compared to other config-tool based
dependencies.
As of 0.44.0 Meson supports the `static` keyword argument for LLVM. Before this
LLVM >= 3.9 would always dynamically link, while older versions would
statically link, due to a quirk in `llvm-config`.
### Modules, a.k.a. Components
Meson wraps LLVM's concept of components in it's own modules concept.
When you need specific components you add them as modules as meson will do the
right thing:
```meson
llvm_dep = dependency('llvm', version : '>= 4.0', modules : ['amdgpu'])
```
As of 0.44.0 it can also take optional modules (these will affect the arguments
generated for a static link):
```meson
llvm_dep = dependency(
'llvm', version : '>= 4.0', modules : ['amdgpu'], optional_modules : ['inteljitevents'],
)
```

@ -1368,7 +1368,7 @@ permitted_kwargs = {'add_global_arguments': {'language'},
'build_target': build_target_kwargs,
'configure_file': {'input', 'output', 'configuration', 'command', 'install_dir', 'capture', 'install'},
'custom_target': {'input', 'output', 'command', 'install', 'install_dir', 'build_always', 'capture', 'depends', 'depend_files', 'depfile', 'build_by_default'},
'dependency': {'default_options', 'fallback', 'language', 'method', 'modules', 'native', 'required', 'static', 'version'},
'dependency': {'default_options', 'fallback', 'language', 'method', 'modules', 'optional_modules', 'native', 'required', 'static', 'version'},
'declare_dependency': {'include_directories', 'link_with', 'sources', 'dependencies', 'compile_args', 'link_args', 'version'},
'executable': exe_kwargs,
'find_program': {'required', 'native'},

Loading…
Cancel
Save