aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2025-04-28Bump version number for new development.Jussi Pakkanen1-1/+1
2025-04-28Bump version number for release.1.8.0Jussi Pakkanen1-2/+2
2025-04-24Bump version number for rc2.1.8.0rc2Jussi Pakkanen1-1/+1
2025-04-24interpreter: do not use pathlib for DependencyVariableString creationPaolo Bonzini4-10/+28
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 Bonzini1-1/+1
2025-04-24add testcase for propagating options to subprojectsPaolo Bonzini5-1/+25
2025-04-24coredata: remove unnecessary use of env.optionsPaolo Bonzini1-19/+1
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 Bonzini2-0/+20
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 Bonzini1-2/+1
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-24options: use early returnPaolo Bonzini1-11/+13
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 Baker1-3/+13
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 Baker1-7/+4
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 Baker1-1/+1
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 Bacci1-8/+14
Fixes #12330
2025-04-23docs: users: list is for notable meson adopteesSam James1-7/+6
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 Bonzini1-0/+10
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-20man: document "meson setup -D"Paolo Bonzini1-0/+8
Fixes: #810
2025-04-20document c_std=c2y in release notesPaolo Bonzini1-0/+4
2025-04-20document improvements to Objective-C and Objective-C++Paolo Bonzini1-0/+8
2025-04-20document -Dswift_std in release notesPaolo Bonzini1-0/+4
2025-04-20add wayland stabilisation to release notesPaolo Bonzini1-0/+4
2025-04-20fix typoPaolo Bonzini1-1/+1
2025-04-20move "since 1.8.0" for rust.doctest to the right placePaolo Bonzini1-2/+2
2025-04-20Log non-fatally if CMake doesn't find a packageBenjamin Gilbert1-3/+3
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_primerhauntsaninja1-2/+3
See also https://github.com/hauntsaninja/mypy_primer/pull/77
2025-04-18fix prefix computation in validate_original_argsPaolo Bonzini4-1/+33
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"​8-2/+56
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"​1-0/+2
executable did not respect the name_prefix kwarg
2025-04-16nightly wheels: fix glob to match across directory separatorEli Schwartz1-1/+1
2025-04-16linkers: fix regression when using lld after iOS changesEli Schwartz1-2/+3
``` $ 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.1.8.0rc1Jussi Pakkanen2-2/+2
2025-04-16build nightly wheels whenever a PR is mergedEli Schwartz1-0/+32
Closes https://github.com/mesonbuild/meson/issues/14419
2025-04-16setup.py: crudely label wheels using setuptools_scm if building from gitEli Schwartz1-2/+16
2025-04-16ninjabackend: ensure that native static libraries use Unix-style namingKacper Michajłow2-2/+11
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
2025-04-16compilers/rust: remove CRT selection from native_static_libs argsKacper Michajłow1-1/+1
This will be handled by target binary link. And if it's not compatible with what Rust uses, it wouldn't work anyway.
2025-04-16linkers: apple: fix shared module argsPaolo Bonzini1-2/+9
iOS should not use -undefined,dynamic_lookup; whereas macOS should revert from -dynamiclib to -bundle, as was the case before commit cfb5a48e0 ("linkers: darwin: do not use -bundle for shared_modules", 2025-03-24), because Postgres wants to use -bundle_loader and that is only possible together with -bundle. Co-authored-by: Russell Keith-Magee <russell@keith-magee.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-16linkers: pass system to DynamicLinker.__init__ for Darwin linkersPaolo Bonzini3-6/+15
Apple linkers need to use different arguments on macOS and iOS-like platforms. Pass the system to the constructor so that it can be examined. Co-authored-by: Russell Keith-Magee <russell@keith-magee.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-16environment: handle all iOS variants as xnuPaolo Bonzini3-2/+8
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-15Fix version requirement.Jussi Pakkanen1-1/+1
2025-04-14Condense directory names for 1.8 rc1.Jussi Pakkanen167-39/+39
2025-04-14minstall: Don't treat symlinks to directories as directories in do_copydir()Daan De Meyer1-0/+3
As documented in https://docs.python.org/3/library/os.html#os.walk: > dirnames is a list of the names of the subdirectories in dirpath > (including symlinks to directories, and excluding '.' and '..') So currently, we treat any symlink to a directory as a directory instead of as a symlink. In practice, this means symlinks to directories are installed as empty directories instead of as symlinks. Let's make sure the symlinks are kept intact by checking for symlinks when we iterate over the directory names and treating any symlinks we find as files instead of as symlinks.
2025-04-14Fix two shared objects in archive for AIX.Aditya Vidyadhar Kamath1-1/+1
In AIX, when we use ar -q to archive then if there is a shared object already existing with the same name a duplicate one is created if one tries to archive again. Meson archives shared library during build time and relinks again during install time. At this stage when shared object is again made and archived again, creating two shared objects in the archive. When we use "ar -rs" then we ensure it is only one. Reference: https://www.ibm.com/docs/en/aix/7.1?topic=ar-command This patch is a fix to the same. Before patch output: rwxr-xr-x 0/0 5018 Apr 14 05:57 2025 libmylib.so rwxr-xr-x 0/0 5018 Apr 14 05:58 2025 libmylib.so After patch output: rwxr-xr-x 0/0 5018 Apr 14 07:23 2025 libmylib.so
2025-04-14add exe_wrapper to the wasm cross filePaolo Bonzini1-0/+1
This makes it possible to run tests ("1 trivial" passes). Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-13linkers: fix Apple ld -install_name with custom suffixPaolo Bonzini1-1/+1
Use the custom suffix instead of .dylib, so that executables that are linked to a custom-suffix library can be ran from the build tree. Fixes: #14470
2025-04-09Add documentation for compiler.has_define to user guideWill Ayd1-0/+12
2025-04-09interpreter: Error if java sources used with non-jar target (#14424)Andrew McNulty6-0/+26
If the user specifies java sources as input to a non-jar build target, raise an error with a message directing them to use the jar target instead. Fixes: https://github.com/mesonbuild/meson/issues/13870
2025-04-09New xgettext method for i18n moduleCharles Brunet13-1/+289
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-09Move get_rsp_threshold function to mesonlibCharles Brunet2-20/+23
Because we will need to call it from a module in a followup commit.
2025-04-09fixes for mypyCharles Brunet1-2/+2
2025-04-09tests: add test for deprecated options with project-option syntaxPaolo Bonzini3-0/+45
Cover ":foo" syntax in default_options as well. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>