summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
2025-03-09compilers: convert `b_sanitize` to a free-form array optionPatrick Steinhardt
In the preceding commit we have started to perform compiler checks for the value of `b_sanitize`, which allows us to detect sanitizers that aren't supported by the compiler toolchain. But we haven't yet loosened the option itself to accept arbitrary values, so until now it's still only possible to pass sanitizer combinations known by Meson, which is quite restrictive. Lift that restriction by adapting the `b_sanitize` option to become a free-form array. Like this, users can pass whatever combination of comma-separated sanitizers to Meson, which will then figure out whether that combination is supported via the compiler checks. This lifts a couple of restrictions and makes the supporting infrastructure way more future proof. A couple of notes regarding backwards compatibility: - All previous values of `b_sanitize` will remain valid as the syntax for free-form array values and valid combo choices is the same. We also treat 'none' specially so that we know to convert it into an empty array. - Even though the option has been converted into a free-form array, callers of `get_option('b_sanitize')` continue to get a string as value. We may eventually want to introduce a kwarg to alter this behaviour, but for now it is expected to be good enough for most use cases. Fixes #8283 Fixes #7761 Fixes #5154 Fixes #1582 Co-authored-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Patrick Steinhardt <ps@pks.im>
2025-03-07docs: provide details about how to fund Meson developmentEli Schwartz
At the moment it turns out this mostly means... me. But this was discussed publicly, as requested by a third party, and as per the newly added page this is open to anyone in the Project who wishes to let it be known that they accept donations. Closes: https://github.com/mesonbuild/meson/issues/14262
2025-03-07docs: reorganize the main landing page and add more linksEli Schwartz
It can sometimes be hard to find content without digging through menus. Try to guide people towards the specific content they are probably looking for.
2025-03-07docs: describe the support policy for python versionsEli Schwartz
Bug: https://github.com/mesonbuild/meson/issues/14322
2025-03-06doc: fix sentence about cross-compilation.Charles Brunet
Fixes #14338
2025-03-04docs: update dead link in Users.mdEli Schwartz
The project in question still exists but no longer has a dedicated domain; instead it uses a group website in theory for multiple projects hosted by the same group (but in practice still just the one). Apparently changed almost 2 years ago. See: https://github.com/theimpossibleastronaut/rmw/commit/0f53e40861c46916597990bfe2c95ca3e5cfb0a3
2025-03-03docs: document release process and security keysEli Schwartz
Bug: https://github.com/mesonbuild/meson/issues/13446
2025-03-03docs: Mention deprecation of path(), document full_path()Nirbheek Chauhan
2025-03-01modules/gnome: Allow to specify the doc-format argumentCorentin Noël
Add the support for the doc-format argument if g-ir-scanner supports it. Ignore the argument otherwise as this is a no-op in such cases.
2025-02-27mtest: add option to slice testsPatrick Steinhardt
Executing tests can take a very long time. As an example, the Git test suite on Windows takes around 4 hours to execute. The Git project has been working around the issue by splitting up CI jobs into multiple slices: one job creates the build artifacts, and then we spawn N test jobs with those artifacts, where each test job executes 1/Nth of the tests. This can be scripted rather easily by using `meson test --list`, selecting every Nth line, but there may be other projects that have a similar need. Wire up a new option "--slice i/n" to `meson test` that does implements this logic. Signed-off-by: Patrick Steinhardt <ps@pks.im>
2025-02-26Tutorial.md typo fixEniek
2025-02-13Make all Meson level options overridable per subproject.Jussi Pakkanen
2025-01-30Mention add_dist_script in meson dist docs (#14186)Otto Moerbeek
2025-01-28docs: clarify behavior of default_both_libraries optionDaiki Ueno
Signed-off-by: Daiki Ueno <dueno@redhat.com>
2025-01-27allow to compare multiple version with version_compareCharles Brunet
2025-01-27adding c_std=c2y option for clangajs
Signed-off-by: ajs <sam4lordjesus@outlook.com>
2025-01-26Created release notes for 1.7.0.Jussi Pakkanen
2025-01-26Ask for testing help for the option refactor branch.Jussi Pakkanen
2025-01-26docs: Add missing release snippet for the TASKING compiler supportgerioldman
2025-01-21docs: clarify use cases for declare_dependency()LaserEyess
2025-01-20Alphabetize the Docs on DependenciesKevin Meagher
Persumably this list of was supposed to be alphabetized, but a few of the items were out of order. This confused me because I was looking for numpy, got the the Os and thought it wasn't there.
2025-01-20docs: do not require aiohttp to buildEli Schwartz
It pulls in 22 (!!!) dependencies and is only needed in CI for a trivial lint of the HTML docs. This is a big problem for people that simply want to compile the manpage. Let the tests fail at test time if this dependency isn't available. Fixes: 74aab8a42c479cdeeda9371dbd591a19d070c48e
2025-01-19docs: Remove dead links in Users.mdDaniele Nicolodi
2025-01-19docs: Add a test to validate URLs in markdown/Users.mdDaniele Nicolodi
Avoid piling up dead URLs.
2025-01-12docs: add Git to list of projects using meson (#14117)Kyle Johnson
* docs: add git to list of projects using meson git 2.48 introduced support for the Meson build system: https://github.com/git/git/commit/904339edbd80ec5676616af6e072b41804c1c8eb https://github.blog/open-source/git/highlights-from-git-2-48/ * fix capitalization of Git; use Linus's initial revision's description
2025-01-09Add Linear ASM compilerWu, Zhenyu
Fix #13670
2025-01-09Merge pull request #12342 from gerioldman/TaskingCCompilerJussi Pakkanen
Add support for the TASKING compiler family, and its MIL linking feature
2025-01-09Merge pull request #13304 from chubinou/qml_modulesJussi Pakkanen
Qml modules
2025-01-09qt module: update add qml_module documentationPierre Lamot
2025-01-08rust: add 2024 editionPaolo Bonzini
Rust edition 2024 is being released in February, add support for rust_std=2024. Resolves: #14074 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-01-08rust: add warning_level=0 to downloaded Cargo subprojectsPaolo Bonzini
This adds --cap-lints allow, matching how Cargo builds them. In the case of Cargo, this is only applied to non-path dependencies. Without this change, clippy will complain about dependencies as well. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-01-08rust: change warning_level=0 to "--cap-lints allow"Paolo Bonzini
This is a better and more backwards-compatible way to disable all warnings, compared to "-A warnings". The Rust RFC (https://rust-lang.github.io/rfcs/1193-cap-lints.html) explains the rationale: > We would very much like to be able to modify lints, however. For example > rust-lang/rust#26473 updated the missing_docs lint to also look for missing > documentation on const items. This ended up breaking some crates in the > ecosystem due to their usage of #![deny(missing_docs)]. While at it, document that Rust deviates from the other languages in its interpretation of warning_level=0. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-01-08qt module: allow moc to generate json introspection filePierre Lamot
2025-01-07ninja backend: don't rebuild all tests by defaultEli Schwartz
When running `ninja all` we shouldn't build testsuite programs as these might not be wanted e.g. in order to just install the project. We do want them to be built when running `ninja test`. Since meson 0.63 we actually have a dedicated ninja alias for test dependencies -- move these from the "all" rule to the dedicated test/benchmark rules. Closes: https://github.com/mesonbuild/meson/issues/1704 Closes: https://github.com/mesonbuild/meson/issues/1949 Closes: https://github.com/mesonbuild/meson/issues/2518 Closes: https://github.com/mesonbuild/meson/issues/3662 Closes: https://github.com/mesonbuild/meson/pull/5728 Closes: https://github.com/mesonbuild/meson/pull/5867 Closes: https://github.com/mesonbuild/meson/pull/6511 Closes: https://github.com/mesonbuild/meson/pull/11317 Closes: https://github.com/mesonbuild/meson/issues/13378
2025-01-08First draft version of Tasking MIL linking with b_lto and prelinkinggerioldman
2025-01-08Add TASKING compiler supportgerioldman
2025-01-08Add TASKING to docsgerioldman
2025-01-07Add run0 as a way to raise privilegesrusty-snake
2025-01-06docs: fix cxx -> cppDylan Baker
2024-12-29dependencies: add custom atomic dependencyDudemanguy
Almost exactly the same as how the dl dependency works. On certain systems (like BSDs that use clang), stdatomic is provided by compiler-rt and doesn't need a separate library explictly linked. On a typical GNU/LINUX system, atomic is a separate library that must be explictly found and linked against. So just add a builtin and system method for these two use cases.
2024-12-19rust: raise a warning if clippy is used instead of rustcPaolo Bonzini
clippy-driver is not meant to be a general-purpose compiler front-end. Since Meson can now provide natively the ability to invoke clippy, raise a warning if someone uses it that way. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-12-19ninjabackend: add support for "ninja clippy"Paolo Bonzini
Add a target that builds all crates that could be extern to others, and then reruns clippy. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-12-19scripts: convert run_tool to asyncioPaolo Bonzini
This improves the handling of keyboard interrupt, and also makes it easy to buffer the output and not mix errors from different subprocesses. This is useful for clang-tidy and will be used by clippy as well. In addition, the new code supports MESON_NUM_PROCESSES. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-12-19introspect: add machine to target_sourcesPaolo Bonzini
Even though the "targets" introspection info already includes the command line arguments used to invoke the compiler, this is not enough to correlated with the "compilers" introspection info and get extra information from there. Together with the existing "language" key, adding a "machine" key is enough to identify completely an entry in the compilers info. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-12-19mtest: move determine_worker_count to utils, generalizePaolo Bonzini
It is useful to apply a limit to the number of processes even outside "meson test", and specifically for clang tools. In preparation for this, generalize determine_worker_count() to accept a variable MESON_NUM_PROCESSES instead of MESON_TESTTHREADS, and use it throughout instead of multiprocessing.cpu_count(). Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-12-06format: allow input from stdinCharles Brunet
Fixes #13791
2024-11-20Remove trailing full stops from entries in list of usersNoah Gitsham
Makes all entries consistent
2024-11-17docs: fix description of `py.install_sources` argumentsRalf Gommers
There is actually very little overlap between `install_sources` and `install_data` in arguments they accept: only 2/7 keywords for `install_data` apply to `install_sources`. Closes gh-12601
2024-11-17Update Users.md with netatalkDaniel Markstedt
2024-11-11Add Linux PAM to list of usersNoah Gitsham
They recently made the switch from Autotools to Meson