summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
2023-02-20minstall: drop privileges before running rebuild_allEli Schwartz
If the user runs `sudo meson install` this may run ninja to build everything that gets installed. This naturally happens as root also, by default, which is bad. Instead, detect root elevation tools and drop the uid/gid of the child ninja process back to the original invoking user before doing anything.
2023-02-20minstall: rework root elevation prompt for extensibility and behaviorEli Schwartz
There's a couple issues with the current approach: - pkexec is an unusual elevation method, the standard is sudo - it tries to elevate even in automated workflows - the user may not want to automatically rerun as root, that might be badly behaved Do some upfront checks instead, first to make sure it even makes sense to try becoming root, and then to ask the user "do you really want this". Also check for a couple common approaches to root elevation, including doas. Fixes #7345 Fixes #7809
2023-02-20interpreter/mesonmain: Add build_options methodL. E. Segovia
This method allows meson.build to introspect on the changed options. It works by merely exposing the same set of data that is logged by MesonApp._generate. Fixes #10898
2023-02-16docs/prebuilt: Add an example of how to use a wrap fileDylan Baker
When using a pre-built library
2023-02-16docs/prebuilt: add some sanity checking to the example.Dylan Baker
Instead of just giving a note about about how this is best practice, actually do it.
2023-02-16docs/prebuilt: use meson.override_dependency()Dylan Baker
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-15docs: add description of license_files kwargEli Schwartz
Added in commit 2fa074917597fea0cf3332c6620d3414034825e4 but I forgot to document it.
2023-02-15preprocess: Add dependencies kwargXavier Claessens
2023-02-14allow install script to run in dry-run modeCharles Brunet
2023-02-10docs: Add cython to the languages accepted by project()Daniele Nicolodi
Fixes #11373.
2023-02-01add cc.has_function_attribute('vector_size')Dudemanguy
2023-01-29Users.md: add @dcantrell /bsdutilsandy5995
2023-01-20docs: Qt compile_moc() parameter errorgroveer
"extra_arguments" should be "extra_args"
2023-01-20Deprecate passing strings to non-string optionsDylan Baker
Currently Meson allow the following (Muon does not): ```meson option('foo', type : 'boolean', value : 'true') option('bar', type : 'integer', value : '42') ``` This is possibly a holdover from very old code, but it's a bad idea and we should stop doing it. This deprecation is the first stop on that journey.
2023-01-18doc: Fix typo in release notesXavier Claessens
2023-01-18Fix typo in doc of sourceset moduleYue Yang
2023-01-18devenv: Allow dumping into file and select a formatXavier Claessens
It is often more useful to generate shell script than dumping to stdout. It is also important to be able to select the shell format. Formats currently implemented: - sh: Basic VAR=prepend_value:$VAR - export: Same as 'sh', but also export VAR - vscode: Same as 'sh', but without substitutions because they don't seems to work. To be used in launch.json's envFile.
2023-01-10docs: Add ld64.lld to linker reference tableDylan Baker
I forgot to ask the original author to add this to the original MR (#11243)
2023-01-04Users.md: add slapt-getandy5995
@jaos please review
2023-01-04clang-cl: supports /std:c++20 now.Luke Elliott
See https://github.com/llvm/llvm-project/commit/a8f75d49
2023-01-04document declare_dependency(object: ...)Paolo Bonzini
2023-01-04allow passing generated objects in the "objects" keyword argumentPaolo Bonzini
Generated objects can already be passed in the "objects" keyword argument as long as you go through an extract_objects() indirection. Allow the same even directly, since that is more intuitive than having to add them to "sources". Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-12-27add builtin option to install licensesEli Schwartz
Unless `meson.install_dependency_manifest()` is explicitly used, this will cause a default implied one to be installed.
2022-12-27add license_files kwarg to projectEli Schwartz
Hook this up to installed dependency manifests. This is often needed above and beyond just an SPDX string -- e.g. many licenses have custom copyright lines.
2022-12-27docs: update IDE-integrations [skip-ci]Stephan Lachnit
- change asabil.meson to vscode-meson - remove unmaintained Meson-UI and Meson Cmake Wrapper - remove note that Ecplise CDT support is experimental
2022-12-27docs: add mmeson to IDE integrations [skip-ci]Stephan Lachnit
2022-12-23Created release note page for 1.0.0.Jussi Pakkanen
2022-12-22Users.md: add i3Oliver Kraitschy
2022-12-21fix build_target(objects: ...) documentationPaolo Bonzini
The documentation for build_target(...) does not list file or str as the possible types for the "objects" keyword argument, even though in theory the argument is meant for prebuild object files that are part of the sources. Of course that is only the theory, because an ExtractedObjects object is probably used a lot more than a file in the source tree. But at least make the reference manual's typing information accurate.
2022-12-21doc: Add missing include_directories kwarg to compiler.preprocess()Xavier Claessens
Fixes: #11202
2022-12-19Users.md: Add PostgreSQLAmit D
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-14docs: simplify the documentation on required kwarg for subprojectEli Schwartz
It's a clone of dependency() anyway.
2022-12-14docs: update description of supported functions for feature optionsEli Schwartz
We support these for a couple more things now.
2022-12-12Fixing typosAndreas Deininger
Convert http to https in some links
2022-12-12Merge pull request #11071 from tristan957/java-moduleJussi Pakkanen
Java module 1.0.0 updates
2022-12-11DOCS: Rust-module: Remove note about unstable APIEwout ter Hoeven
Remove the note about the unstable API of the Rust module, since it's no longer unstable as of Meson 1.0.0.
2022-12-11Rename java.generate_native_headers to java.native_headersTristan Partin
This follows the Meson naming scheme which typically leaves off a verb like generate.
2022-12-11Remove java.generate_native_headerTristan Partin
This API existed for 2 minor releases and was worthless for pretty much every usecase.
2022-12-11Merge pull request #11024 from dcbaker/submit/bindgen-dependenciesJussi Pakkanen
Add a `dependencies` keyword argument to bindgen
2022-12-09doc: Add date in release notesXavier Claessens
2022-12-09Merge pull request #10990 from xclaesse/devenvJussi Pakkanen
devenv: various improvements
2022-12-07devenv: Document recent changesXavier Claessens
2022-12-06interpreter: compiler: Allow array for the prefix kwargMarvin Scholz
2022-12-06docs: Add missing import to the windows module example.Angelo Haller
2022-12-05modules/rust: Add support for dependencies in bindgenDylan Baker
This is needed for cases where we need external C headers, which are passed to clang.
2022-12-05modules/rust: Add support for string include_directoriesDylan Baker
Which we support for basically every other case, but not this one.
2022-12-05Users.md:add aawordsearch projectandy5995