From 85a58f12f09795078b8bd2a26fce0465d46c36a2 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 22 Nov 2022 23:20:05 +0100 Subject: interpreter: compiler: Allow array for the prefix kwarg --- .../snippets/compiler_prefix_property_array.md | 18 ++++++++++++++++++ docs/yaml/objects/compiler.yaml | 12 +++++++----- 2 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 docs/markdown/snippets/compiler_prefix_property_array.md (limited to 'docs') diff --git a/docs/markdown/snippets/compiler_prefix_property_array.md b/docs/markdown/snippets/compiler_prefix_property_array.md new file mode 100644 index 000000000..75b7156af --- /dev/null +++ b/docs/markdown/snippets/compiler_prefix_property_array.md @@ -0,0 +1,18 @@ +## Compiler check functions `prefix` kwargs accepts arrays + +The `prefix` kwarg that most compiler check functions support +now accepts an array in addition to a string. The elements of the +array will be concatenated separated by a newline. + +This makes it more readable to write checks that need multiple headers +to be included: + +```meson +cc.check_header('GL/wglew.h', prefix : ['#include ', '#include ']) +``` + +instead of + +```meson +cc.check_header('GL/wglew.h', prefix : '#include \n#include ']) +``` diff --git a/docs/yaml/objects/compiler.yaml b/docs/yaml/objects/compiler.yaml index e10e8fe2b..01283cdd1 100644 --- a/docs/yaml/objects/compiler.yaml +++ b/docs/yaml/objects/compiler.yaml @@ -78,13 +78,15 @@ methods: description: You have found a bug if you can see this! kwargs: prefix: - type: str + type: str | list[str] description: | Used to add `#include`s and other things that are required - for the symbol to be declared. System definitions should be - passed via compiler args (eg: `_GNU_SOURCE` is often required for - some symbols to be exposed on Linux, and it should be passed via - `args` keyword argument). + for the symbol to be declared. Since 1.0.0 an array is accepted + too. When an array is passed, the items are concatenated together + separated by a newline. + System definitions should be passed via compiler args + (eg: `_GNU_SOURCE` is often required for some symbols to be exposed + on Linux, and it should be passed via `args` keyword argument). - name: _no_builtin_args returns: void -- cgit v1.2.3