summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
2025-04-16environment: handle all iOS variants as xnuPaolo Bonzini
All of iOS, tvOS, visionOS, watchOS use the XNU kernel. Report that and also make them return true for is_darwin() which is really more like "is_xnu()". Co-authored-by: Russell Keith-Magee <russell@keith-magee.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-09Add documentation for compiler.has_define to user guideWill Ayd
2025-04-09New xgettext method for i18n moduleCharles Brunet
This method call xgettext to extract translatable string from source files into a .pot translation template. It differs from a plain CustomTarget in three ways: - It accepts build targets as sources, and automatically resolves source files from those build targets; - It detects command lines that are too long, and writes, at config time, the list of source files into a text file to be consumed by the xgettext command; - It detects dependencies between pot extraction targets, based on the dependencies between source targets.
2025-04-07Fix documentation typosEmil Berg
2025-04-07Fix link to "Building Fancy DMG Images on Mac OS X"Heikki Rauhala
2025-04-06Add C# to home page supported language listEmil Berg
2025-04-06docs: say '--wrapper', not '--wrap' for testsSam James
We document --wrapper and --wrap works only by expanding it automatically to --wrapper as it is unambiguous.
2025-04-04rust: add external objects to the link command linePaolo Bonzini
Because rustc does not support extract_objects, QEMU creates a static library with all the C objects. It then passes this static library as link_whole, together with another static library containing general purpose utility functions which is passed as link_with. However, this is brittle because the two have a circular dependency and they cannot be merged because of the link_whole/link_with difference. While lld seems to have the --start-group/--end-group semantics automatically, ld.bfd can fail if these options are needed. This can cause difference between distros depending on how Rust is packaged (e.g. Ubuntu 22.04 and Debian bookworm seem to use ld.bfd). The simplest solution is for Meson to implement "objects:" properly for Rust. Then QEMU can use the same internal dependency objects that it already has in place for C programs. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-03Docs: Set note/warning title color to black textFeRD (Frank Dana)
The white text previously used (inadvertently) doesn't show up well against the blue color used as the background for Note boxes.
2025-04-03Docs: Cleaner admonishment stylingFeRD (Frank Dana)
2025-04-02docs: fix default for mformat sort_files optionBenjamin Gilbert
sort_files has always defaulted to true. Fixes: 2b37101998c8 ("meson format command")
2025-04-02mtest: set VALGRIND_OPTS to fail tests on errorsSam James
We currently suggest that users run `meson test --wrapper valgrind`, but this doesn't do what one might expect: Valgrind doesn't error out on violations/issues it detects. In the past, we had special handling for Valgrind in tests, see 1f76b76a84cb635f764ecbd2b77aaba1d375d72b but it was later dropped in 951262d7590343ffa9730666c427ad9d708a9fb6. This is similar to what we do for {A,UB,M}SAN_OPTIONS to give sensible behaviour that users expect out-of-the-box. Only do this if we see 'valgrind' in the wrapper command to avoid polluting logs. We may want to do that for the sanitizers variables in future too. Note that we're not adding --exit-on-first-error=yes here, as there may be several issues in an application, or a test may be rather slow, and so on. But --error-exitcode=1 to simply make Valgrind's exit status reflect whether an error was found is uncontroversial. Bug: https://github.com/mesonbuild/meson/issues/4727 Bug: https://github.com/mesonbuild/meson/issues/1105 Bug: https://github.com/mesonbuild/meson/issues/1175 Bug: https://github.com/mesonbuild/meson/issues/13745
2025-04-02wayland: Mark module stableXavier Claessens
There is no point in printing warning about unstable module, in the worst case we can just deprecate and add new API. It has been tested in a few projects already, and this warning is a blocker on wider adoption.
2025-04-02rust: add link_whole to rust.test and rust.doctestPaolo Bonzini
QEMU needs it in its integration tests (in order to run global constructors), and therefore in rust.doctest too. With this change I could do: # Rust executables do not support objects, so add an intermediate step. rust_qemu_api_objs = static_library( 'rust_qemu_api_objs', objects: [libqom.extract_all_objects(recursive: false), libhwcore.extract_all_objects(recursive: false)]) rust.doctest('rust-qemu-api-doc', _qemu_api_rs, dependencies: [qemu_api, qemu_api_macros], link_with: libqemuutil, link_whole: [rust_qemu_api_objs], suite: ['doc', 'rust']) followed by "meson test --suite doc". For completeness, add it to rust.test as well. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-02rust: add rust.doctestPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-02docs: add release notes for "ninja rustdoc"Paolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-03-26docs: Clarify string building with absolute pathsPaul Caprioli
2025-03-24linkers: darwin: do not use -bundle for shared_modulesPaolo Bonzini
Both dynamic libraries and bundles these days can be dynamically loaded using the dl APIs (e.g. dlopen, dlclose). It is not possible to include bundles on a linker command line as if they were shared libraries, but that's pretty much the only difference. However, bundles fail the Apple verification for iOS: 2025-02-10 13:54:09.095 ERROR: Validation failed (409) The binary is invalid. The executable 'Runner.app/Frameworks/numpy._core._operand_flag_tests.framework/numpy._core._operand_flag_tests' has type 'BUNDLE' that is not valid. Only 'EXECUTE' is permitted. 2025-02-10 13:54:09.096 ERROR: Validation failed (409) Missing load commands. The executable at 'Runner.app/Frameworks/numpy._core._operand_flag_tests.framework' does not have the necessary load commands. Try rebuilding the app with the latest Xcode version. If you are using third party development tools, contact the provider. So switch to -dynamiclib for shared modules as well. Fixes: #14240
2025-03-24docs: Fix apt-get installation command linehpkfft.com
2025-03-24Fix doc for `meson test --print-errorlogs` [skip ci]Khairul Azhar Kasmiran
2025-03-12modules/gnome: header argument of generate_gir accepts an array of stringsCorentin Noël
The behavioral change is there since be1d013453e3df3b83da0c91f5211c822d4da4d7 so align the documentation with what is allowed here.
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