summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-04Add framework linking for iOS builds.Russell Keith-Magee
2025-05-04Work around the mising RECORD file with homebrew pip.Russell Keith-Magee
2025-05-04templates: add missing space to cpp templateheather7283
2025-05-03docs: disambiguate exe_wrapperAndy MacGregor
As of this commit, meson has three different pathways to set an exe_wrapper field. exe_wrapper set through `meson test --wrapper` CLI arg or `add_test_setup()` meson function argument are treated equally. Only one wrapper through either of these routes may be set though. The exe_wrapper field set in the cross file is handled separately internally in mtest.py, and holds a little more consequence over meson test behavior than the other two fields. Perhaps a future version of meson should treat these fields equally and explicitly document how they are combined. For now, I think its a better first step to document current behavior to generate discussion about how exactly the future version should behave.
2025-05-02cpp: fix _LIBCPP_ENABLE_ASSERTIONS warningMartin Dørum
libc++ deprecated _LIBCPP_ENABLE_ASSERTIONS from version 18. However, the libc++ shipped with Apple Clang backported that deprecation in version 17 already, which is the version which Apple currently ships for macOS. This PR changes the _LIBCPP_ENABLE_ASSERTIONS deprecation check to use version ">=17" on Apple Clang.
2025-05-01unittests: smoke test the backend optionsPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-05-01interpreter: add backend options before validating the command line optionsPaolo Bonzini
Allow specifying e.g. -Dbackend_max_links on the command line. Fixes: #14524 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-05-01options: extract validation of command line optionsPaolo Bonzini
Which command line options are valid is not entirely known until the backend option is processed. Split the validation to a separate function so that it can be done later, and while at it mention all unknown options instead of just the first. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-05-01options: tighten type of cmd_line_optionsPaolo Bonzini
Based on the SharedCMDOptions protocol it is guaranteed to be a dictionary. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-05-01docs: Update link to rust-analyzer docsM Henning
2025-04-30compilers: introduce common helper for sanity checksPaolo Bonzini
Avoid reinventing the wheel and instead use a single helper, taking care of logging and cross compilation. Fixes: #14373 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-30compilers: clike: log output of sanity checkPaolo Bonzini
Particularly if using an exe_wrapper, it can be useful to have output logged for debugging. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-29unittests: fix overly loose regex in tests for `--slice=` optionPatrick Steinhardt
The unit tests for the `meson test --slice=` option check that the option is working by extracting all tests that have been run from the command output. This is done with a rather loose regular expression "test-[0-9]*", which can easily match other parts of the output, as well. One user for example reported that the test broke because they were executing tests in a directory called "meson-test-1.8.0-build", and given that the "test-1" part of that directory matches the regular expression we have too many matches. Fix the issue by tightening the regex so that is way less likely to match anything from the host's build environment. Reported-by: Dominique Leuenberger <dleuenberger@suse.com> Signed-off-by: Patrick Steinhardt <ps@pks.im>
2025-04-29docs: fix markup in release notesBenjamin Gilbert
2025-04-29Fix meson format with multi line parenthesized expressionsWill Ayd
2025-04-28Add release notes for 1.8 that I forgot.Jussi Pakkanen
2025-04-28Bump version number for new development.Jussi Pakkanen
2025-04-28Bump version number for release.Jussi Pakkanen
2025-04-24Bump version number for rc2.Jussi Pakkanen
2025-04-24interpreter: do not use pathlib for DependencyVariableString creationPaolo Bonzini
Path.is_dir() can raise a PermissionError if a parent does not have the executable permission set; plus the "in p.parents" tests are very expensive. Do not use Path at all. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-24ci: bump Ubuntu version for UnusedMissingReturn jobsPaolo Bonzini
2025-04-24add testcase for propagating options to subprojectsPaolo Bonzini
2025-04-24coredata: remove unnecessary use of env.optionsPaolo Bonzini
The data is already available in the OptionStore's pending_options and add_compiler_option() will pick it from there. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-24options: subproject system options require the global onesPaolo Bonzini
Because system options apply to all subprojects, they need to be present globally whenever a subproject needs them. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-24options: strengthen typing for add_system_option_internalPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-24options: use early returnPaolo Bonzini
Prepare for adding more complex logic to add_system_option_internal, in order to handle inheritance of global options to subprojects. Do the same in add_project_option to make the similarities and differences evident. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-23interpreter: fix interaction between option refactor and b_sanitizeDylan Baker
If we return the default value of the `b_sanitize` option, it won't go through the conversion back to string. This shows up in the ClangCL implementation. Fixes: #14501
2025-04-23interpreter: remove dead code from func_get_optionDylan Baker
This code cannot be reached, as the guard checking that `value_object` is a UserOption will always be true.
2025-04-23interpreter: Remove accidental annotations changes for func_get_optionDylan Baker
These changes were correct in the original PR, but the changes to the keyword arguments were dropped in the rebase that landed, so this is now incorrect.
2025-04-23determine_windows_extra_paths: sort internal dependencies firstLuca Bacci
Fixes #12330
2025-04-23docs: users: list is for notable meson adopteesSam James
We don't want churn with thie list for every project someone creates that uses Meson. Change the intro to say we want notable projects and link to a GitHub search for 'meson.build' files for people who want further examples to consider.
2025-04-20document android_exe_type in release notesPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-20man: document "meson setup -D"Paolo Bonzini
Fixes: #810
2025-04-20document c_std=c2y in release notesPaolo Bonzini
2025-04-20document improvements to Objective-C and Objective-C++Paolo Bonzini
2025-04-20document -Dswift_std in release notesPaolo Bonzini
2025-04-20add wayland stabilisation to release notesPaolo Bonzini
2025-04-20fix typoPaolo Bonzini
2025-04-20move "since 1.8.0" for rust.doctest to the right placePaolo Bonzini
2025-04-20Log non-fatally if CMake doesn't find a packageBenjamin Gilbert
If CMake fails to find a package, we should log it in meson-log.txt, but shouldn't bother the user unless there are details to report. In addition, we were calling mlog.warning() without fatal=False, so if msetup was called with --fatal-meson-warnings we'd fail the entire setup in this case, even for optional dependencies. Log a notice with fatal=False if CMake reported an error, and a debug message otherwise. Notably, the "even though Meson's preliminary check succeeded" case can occur when a dependency is missing but its Find*.cmake is shipped with CMake itself. Fixes: 92c517ea69 ("output PACKAGE_NOT_FOUND_MESSAGE as warning when CMake package is not found")
2025-04-18Make run_mypy.py work in mypy_primerhauntsaninja
See also https://github.com/hauntsaninja/mypy_primer/pull/77
2025-04-18fix prefix computation in validate_original_argsPaolo Bonzini
validate_original_args only checks whether an option is prefixed with the name of a built-in option that was also set. It does not check whether the prefix is the full name of the option specified with -D. Adding an "=" at the end fixes the test. Fixes: #14487 Reported-by: Alyssa Ross <hi@alyssa.is> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-17android: Added android_exe_type kwargs to executableFlorian "sp1rit"​
By setting android_exe_type to `application`, the executable gets actually built as a shared library instead of an executable. This makes it possible to use an application within an android application process. mesonbuild#13758 https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/7555/
2025-04-17build/executable: Respect name_prefixFlorian "sp1rit"​
executable did not respect the name_prefix kwarg
2025-04-16nightly wheels: fix glob to match across directory separatorEli Schwartz
2025-04-16linkers: fix regression when using lld after iOS changesEli Schwartz
``` $ LDFLAGS="-fuse-ld=lld" meson setup builddir/ [...] linker = lld_cls( compiler, for_machine, comp_class.LINKER_PREFIX, override, system=system, version=v) TypeError: LLVMDynamicLinker.__init__() got an unexpected keyword argument 'system' ``` Fixes regression in commit cece1a7e9992a3bbcc35f90777ba22ba9d62b538. We pass system=system to the linker construction, which worked fine for Apple LLVM LD64 as that inherited `__init__` from DynamicLinker. But non-Apple LLD had an overridden `__init__` which wasn't adapted. Even if it is thrown away and never used, since LLVM isn't an Apple linker, we still need to obey the argument contract.
2025-04-16Bump version number for rc1.Jussi Pakkanen
2025-04-16build nightly wheels whenever a PR is mergedEli Schwartz
Closes https://github.com/mesonbuild/meson/issues/14419
2025-04-16setup.py: crudely label wheels using setuptools_scm if building from gitEli Schwartz
2025-04-16ninjabackend: ensure that native static libraries use Unix-style namingKacper Michajłow
Depending on the target/linker, rustc --print native-static-libs may output MSVC-style names. Converting these to Unix-style is safe, as the list contains only native static libraries. Fixes linking with C targets built with clang on x86_64-pc-windows-msvc target. Fixes: #14366