| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-12-01 | compilers: pass target to get_lto_*_args | Paolo Bonzini | |
| Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> | |||
| 2025-11-23 | compilers: forward gen_vs_module_defs_args to linker | Paolo Bonzini | |
| This adds support for DEF files to rust and removes some hasattr duck typing. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> | |||
| 2025-11-19 | compilers/rust: make use the fact we have an Environment to cleanup | Dylan Baker | |
| This adds a second stage initialization, which allows us to use options for setting attributes on the compiler. This is called during the detect phase, so the Compiler is never used in a partially initialized state. | |||
| 2025-11-19 | compilers: Remove CoreDAta parameter from Compiler.cached_compile | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.get_define | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.compute_int | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.has_members | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.has_type | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from ↵ | Dylan Baker | |
| Compiler.symbols_have_underscore_prefix | |||
| 2025-11-19 | compilers: Remove dead "update_options" method | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.get_option_compile_args | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.get_option_std_args | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.get_option_link_args | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.check_header | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.has_header | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.has_header_symbol | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.run | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.cached_run | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.sizeof | Dylan Baker | |
| This also fixes the `_cross_sizeof` helper | |||
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.alignment | Dylan Baker | |
| This also fixes the helper `_cross_alignment` method. | |||
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.has_function | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.sanitizer_args | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.find_library | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.get_library_naming | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.get_program_dirs | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.has_multi_arguments | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.build_rpath_args | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.thread_flags | Dylan Baker | |
| Same logic as the openmp flags | |||
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.openmp_flags | Dylan Baker | |
| I've done the compile and link flags in one commit since they're so closely related | |||
| 2025-11-19 | compilers: Remove Environment parameter from ↵ | Dylan Baker | |
| Compiler.get_language_stdlib_only_link_flags | |||
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.has_function_attribute | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.get_soname_args | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.get_assert_args | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.get_library_dirs | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.get_return_value | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.find_framework | Dylan Baker | |
| Which, ironically, is passed down three levels and never used. | |||
| 2025-11-19 | compilers: Remove environment parameter from Compiler.find_framework_paths | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.sanity_check | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.run_sanity_check | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.build_wrapper_args | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler._build_wrapper | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from Compiler.compiles() | Dylan Baker | |
| 2025-11-19 | Compilers: remove Environment parameter from Compiler.links() | Dylan Baker | |
| 2025-11-19 | compilers: Remove Environment parameter from get_compileropt_value | Dylan Baker | |
| 2025-11-19 | compilers: Stop passing `is_cross` | Dylan Baker | |
| This is calculated by `Environment().is_cross_build(for_machine)`. Since we have that in the Compiler class, just calculate it in the Compiler initializer | |||
| 2025-11-19 | compilers: Pass Environment instead of MachineInfo | Dylan Baker | |
| We end up needing it everywhere, so just store it. This patch is huge already, so it's just the conversion to passing Environment, more cleanups to come. | |||
| 2025-11-12 | compilers: pass target and env to sanitizer_*_args | Paolo Bonzini | |
| The Rust compiler will need these to check the rust_nightly option. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> | |||
| 2025-11-12 | compilers: generalize -fembed-bitcode | Paolo Bonzini | |
| Produce -Cembed-bitcode for Rust, and also disable bitcode generation when LTO is not enabled. | |||
| 2025-11-09 | compilers: support GCC incremental LTO | Sam James | |
| GCC 15 supports incremental LTO (caching). It's the same feature as Clang's ThinLTO caching. Unfortunately, for the Clang ThinLTO cache support, we chose a pretty vendor-specific option name, and I don't want to worry about deprecating that (-Db_thinlto_cache and -Db_thinlto_cache_dir) at this time, so... Wire -Db_thinlto_cache and -Db_thinlto_cache_dir for GCC in the obvious and natural way. Other notes: * GCC, unlike Clang, requires the cache dir to exist. If the user passes an invalid directory, that's on them, but for our default in meson-private, we should os.mkdir() it, so we do that now too. * I did wonder about adding -flto-partition=cache, but when I asked about this last year [0], the response was that it has too many caveats. Though Honza did recently [1] suggest it has some utility, so I don't know. I'll ask about it. [0] https://inbox.sourceware.org/gcc-patches/vjeanwm7b2jnedzmbwww4cy6jf4prty6ypxvz7x5d463xw2mys@bxzxuvgfaplf/ [1] https://inbox.sourceware.org/gcc-patches/aLnAGpln6SXbjV7e@kam.mff.cuni.cz/ Closes: https://github.com/mesonbuild/meson/issues/14428 | |||
| 2025-11-01 | Compilers: Add get_depfile_format() method | Luca Bacci | |
