summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-04-16compilers/rust: remove CRT selection from native_static_libs argsKacper Michajłow
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 Bonzini
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 Bonzini
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 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-15Fix version requirement.Jussi Pakkanen
2025-04-14Condense directory names for 1.8 rc1.Jussi Pakkanen
2025-04-14minstall: Don't treat symlinks to directories as directories in do_copydir()Daan De Meyer
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 Kamath
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 Bonzini
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 Bonzini
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 Ayd
2025-04-09interpreter: Error if java sources used with non-jar target (#14424)Andrew McNulty
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 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-09Move get_rsp_threshold function to mesonlibCharles Brunet
Because we will need to call it from a module in a followup commit.
2025-04-09fixes for mypyCharles Brunet
2025-04-09tests: add test for deprecated options with project-option syntaxPaolo Bonzini
Cover ":foo" syntax in default_options as well. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-09options: always look up root-project options in self.optionsPaolo Bonzini
Previously, root-project options (key.subproject == '') would always be stored as an augment or as pending_project_options. But they might actually be included in self.options instead, so exclude them from the initial test. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-09tests: enhance deprecated options testMarvin Scholz
This actually tests the handling of deprecated options when passed to meson instead of just as default_options. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-09options: go through set_option for non-:-prefixed optionsPaolo Bonzini
Allow proper handling of deprecated and read-only options, which is missing from set_value. Fixes: #14433 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-09options: fix incorrect commentPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-09options: make cmd_line_options handling more similar to the restPaolo Bonzini
The structure of the "if" statements in the cmd_line_options iteration is a bit different from the others due to the need to raise an error for some kinds of unknown options. Reduce the dissimilarity by checking key.subproject is None just before raising the exception. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-09gnome: Add a test consuming PythonL. E. Segovia
2025-04-09modules/gnome, modules/Python: Allow injecting RPATH flags through LDFLAGS ↵L. E. Segovia
if needed Fixes communicating the RPATH to g-i-scanner in macOS. See #14169
2025-04-08coredata: delete set_default_optionsDylan Baker
This was only being used by the introspection interpreter, which meant the two interpreters had different behavior. They still do, which is really bad because the IntrospectionInterpreter doesn't have the command line options or project_default_options. I have a plan to fix that later, and I don't want to spend time on it here, as it's not a regression of this patch, it's just the status quo. This also fixes an issue caused by dead code being left, and hit, due to the option refactor branch. Fixes: #14382
2025-04-08tests: Add a rewriter test that handles prefixDylan Baker
"prefix" has a lot of special handling that has to go on because so many other options depend on prefix. It was also regressed by the option refactor changes, so having a test feels appropriate. This was verified against the 1.7 release, so it has the same behavior as pre-option refactor Meson.
2025-04-08options: fix an assertion that is incorrectDylan Baker
The key can be an OptionKey, particularly in the next patch.
2025-04-08options: fix typing issues stemming from initialize_from_top_level_project_callDylan Baker
Machine files provide a `Mapping[OptionKey, ElementaryOptionValues]`, but the expectation listed was that they provided options in the raw DSL format.
2025-04-08coredata: move update_project_options to the optstoreDylan Baker
2025-04-08coredata: move MutableKeyedOptionDict to optionsDylan Baker
2025-04-07Fix documentation typosEmil Berg
2025-04-07Fix link to "Building Fancy DMG Images on Mac OS X"Heikki Rauhala
2025-04-06ci: arch: add vulkan-headers and vulkan-icd-loaderSam James
The latter is needed for vulkan.pc now, but let's add vulkan-headers explicitly while at it.
2025-04-06ci: arch: workaround cmake-4 vs wxwidgetsSam James
Workaround for cmake-4.0 vs wxwidgets-gtk2 by setting CMAKE_POLICY_VERSION_MINIMUM=3.5.
2025-04-06ci: opensuse: handle libSDL2-devel going awaySam James
See https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/BJO756KHSCBPDMXVGFMGPHPUMW4PZK6T/#SLVEVFEFOCT3R5RCSVZPQN3GZSZYAEXL. Use sdl2-compat-devel instead. I did try 'pkgconfig(sdl2)' but it failed with some resolver error I didn't probe further.
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-05cmake/interpreter: Don't add __CMake_build to includesTomi Lähteenmäki
Don't add "<project_source_dir>/<subproject>/__CMake_build" directory to include directories. Fixes #12351
2025-04-05tests/d: Limit integer debug and version statementsAndrei Horodniceanu
Since dmd frontend version 2.111 integer debug and version statements error during parsing: https://dlang.org/changelog/2.111.0.html#dmd.deprecation-version-debug-number
2025-04-04templates: Fix style by adding space after ifPaul Caprioli
2025-04-04rust: add shared library testcase for "objects"Paolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
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-04backends: extract get_fortran_order_deps()Paolo Bonzini
Allow reusing it for Rust targets. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-04cmake: filter and order clib_compiler languagesAndrei Alexeyev
2025-04-04cmake: pass clib_compiler to resolve_cmake_trace_targets()Andrei Alexeyev
This is required to resolve ambiguous LINK_LIBRARIES passed as bare names.
2025-04-04add test case for cpp_std/cuda_stdPaolo Bonzini
This was broken twice, so check that it does not regress. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-04compilers: move -std options to get_option_std_args, special-casing CUDAPaolo Bonzini
Move building the -std option to the new get_option_std_args method, special casing CUDA to never include the option from the host compiler. This fixes again #8523, which was broken by the option refactoring (unsurprisingly, since the fix was ripped out unceremoniously without a replacement). Fixes: #14365 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-04compilers: introduce get_option_std_argsPaolo Bonzini
Allow CUDA to completely override the -std arguments but not the rest. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-04-04compilers: remove useless get_option_compile_argsPaolo Bonzini
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-03tests/fortran: use fs.copyfileDylan Baker
Since the comment saying we need a generic way to do this is a little outdated.