summaryrefslogtreecommitdiff
path: root/docs/yaml/objects
AgeCommit message (Collapse)Author
2023-09-09clike compilers: fix cross_* functions' includeMoody Liu
A standard C library may not exist for cross-compile environments, thus the existence of <stdio.h> cannot be guaranteed. Use <stddef.h> instead, this header contains compiler-specific defines thus it usually comes from the compiler.
2023-09-07Add compiler.has_defineMarvin Scholz
Adds a new method to the compiler object, has_define. This makes it possible to check if a preprocessor macro/define is set or not. This is especially helpful if the define in question is empty, for example: #define MESON_EMPTY_DEFINE This would yield the same results as a missing define with the existing get_define method, as it would return an empty string for both cases. Therefore this additional method is needed.
2023-08-18docs: Provide example for feature.disable_auto_ifJan Janssen
2023-08-16Fix some random capitalization in feature.yamlTristan Partin
2023-08-11docs: Add more feature truth tablesJan Janssen
These are much easier to understand at a glance than free-form text.
2023-08-07Compiler: Add werror kwarg to compiles(), links() and run() methodsXavier Claessens
Fixes: #5399
2023-08-05fixup: since: 1.1.0 -> 1.3.0Milan Hauth
2023-08-05compiler: Add required keyword to has_* methodsXavier Claessens
add the "required" keyword to the functions has_function has_type has_member has_members has_argument has_multi_arguments has_link_argument has_multi_link_argument has_function_attribute Co-authored-by: Milan Hauth <milahu@gmail.com>
2023-06-21Clarify `environment` docs.Paolo Borelli
The object is not used only for tests, but also for `custom_target` etc.
2023-05-23docs: Fix some typos in feature option examplesNirbheek Chauhan
2023-04-11fix various spelling issuesJosh Soref
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-03-28doc: Fix some broken linksXavier Claessens
2023-02-15interpreter: add FeatureOption.enable_if and .disable_ifDylan Baker
This adds two new methods, that are conceptually related in the same way that `enable_auto_if` and `disable_auto_if` are. They are different however, in that they will always replace an `auto` value with an `enabled` or `disabled` value, or error if the feature is in the opposite state (calling `feature(disabled).enable_if(true)`, for example). This matters when the feature will be passed to dependency(required : …)`, which has different behavior when passed an enabled feature than an auto one. The `disable_if` method will be controversial, I'm sure, since it can be expressed via `feature.require()` (`feature.require(not condition) == feature.disable_if(condition)`). I have two defences of this: 1) `feature.require` is difficult to reason about, I would expect require to be equivalent to `feature.enable_if(condition)`, not to `feature.disable_if(not condition)`. 2) mixing `enable_if` and `disable_if` in the same call chain is much clearer than mixing `require` and `enable_if`: ```meson get_option('feat') \ .enable_if(foo) \ .disable_if(bar) \ .enable_if(opt) ``` vs ```meson get_option('feat') \ .enable_if(foo) \ .require(not bar) \ .enable_if(opt) ``` In the first chain it's immediately obvious what is happening, in the second, not so much, especially if you're not familiar with what `require` means.
2023-02-15interpreter: add a feature.enable_auto_ifDylan Baker
It's always been strange to me we don't have an opposite method of the `disable_auto_if` method, but I've been pressed to find a case where we _need_ one, because `disable_auto_if` can't be logically contorted to work. I finally found the case where they're not equivalent: when you don't want to convert to a boolean: ```meson f = get_option('feat').disable_auto_if(not foo) g = get_option('feat').enable_auto_if(foo) dep1 = dependency('foo', required : f) dep2 = dependency('foo', required : g) ```
2023-02-15preprocess: Add dependencies kwargXavier Claessens
2023-01-04document declare_dependency(object: ...)Paolo Bonzini
2022-12-21doc: Add missing include_directories kwarg to compiler.preprocess()Xavier Claessens
Fixes: #11202
2022-12-14docs: clarify the semantics of the required: kwarg everywhereEli Schwartz
Link to feature options consistently, and point out that it controls "whether" the function finds what it's trying to find. This clues people in to the fact that disabled features exist.
2022-12-06interpreter: compiler: Allow array for the prefix kwargMarvin Scholz
2022-11-30docs: clarify prog.full_path even moreEli Schwartz
The previous description update was lacking an example of why external_program cares about inter-target dependencies.
2022-11-30docs: clarify that prog.full_path has potentially valid usesEli Schwartz
Claiming that "it should literally never be used ever no matter what" is confusing and wrong -- it's definitely useful sometimes, but does result in downsides, like not tracking inter-target dependencies correctly. Ref: #10901
2022-10-23Merge pull request #10916 from xclaesse/preprocessJussi Pakkanen
Add cc.preprocess() method
2022-10-23Add doc and release notes for cc.preprocess()Xavier Claessens
2022-10-23Fix typos in docsElliott Sales de Andrade
2022-04-07docs: YAML: Add `arg_flattening: false` where requiredDaniel Mensinger
2022-04-07docs: Fix [[true]] --> `true`Daniel Mensinger
2022-03-07docs: Add docs for structured_sourcesDylan Baker
2022-03-06find_program: add a version() method to match the one for dependenciesEli Schwartz
It is often useful to check the found version of a program without checking whether you can successfully find `find_program('foo', required: false, version: '>=XXX')`
2022-01-18interpreterobjects: deprecated passing a number to configuration_data.set10Dylan Baker
This is currently allowed, and is used in at least a few projects. It was not intended to work or documented, but it does and since it is in use a full deprecation period must be used. A warning has also been added for values < 0, which have surprising behavior.
2022-01-14docs/dep.yaml: davault -> defaultDylan Baker
2021-11-21Clarify some wording for compiler.first_supported_argumentLuke Drummond
After a discussion implementing this for muon [1] and clarification on IRC on Meson's behaviour. [1] https://lists.sr.ht/~lattis/muon/patches/26722
2021-11-09docs: fix refman 2.0 regression in correctly describing ↵Eli Schwartz
find_library(has_headers) All kwargs inherited from has_header need to be prefixed `header_` so we cannot just do straight inheritance. And the part of the description that highlighted the way kwargs are derived and evolved, went entirely missing. Fixes #9551
2021-11-09docs: fix some spelling typosEli Schwartz
2021-10-21Fix typosHofer-Julian
"seperator" -> "separator"
2021-10-11docs: fix a typoed arg name and another missing argEli Schwartz
More stuff that got overlooked during the big refman migration.
2021-10-07docs: restore build_target method documentation which went missingEli Schwartz
In the refman rewrite, these functions vanished. I noticed this when I went looking at the docs for extract_all_objects(), or should I say I tried to go looking.
2021-10-04Minor fixupsDaniel Mensinger
2021-10-03docs: Update YAML docs after rebaseDaniel Mensinger
2021-10-03docs: Add the YAML Reference manualDaniel Mensinger