diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2025-07-21 12:15:46 +0200 |
|---|---|---|
| committer | Jussi Pakkanen <jussi.pakkanen@mailbox.org> | 2025-07-29 21:58:47 +0300 |
| commit | 9b40c5fe4a9899daa214c736726ca4739138e24a (patch) | |
| tree | e306b9f34dd8aea29f9e320f0cde3e9a49105c78 /mesonbuild/compilers | |
| parent | 0237e2f3f954ec718638077bc4c356532739d93f (diff) | |
| download | meson-9b40c5fe4a9899daa214c736726ca4739138e24a.tar.gz | |
ninjabackend: handle specially TUs where compilation and linking happens together
Rust sources are not compiled separately: generation of the .a or .so
or binary happens at the same time as compilation. There is no separate
compilation phase where the .o file is created.
In preparation for moving generate_rust_target where generate_link is now,
make the compilation phase of generate_target skip them.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'mesonbuild/compilers')
| -rw-r--r-- | mesonbuild/compilers/__init__.py | 2 | ||||
| -rw-r--r-- | mesonbuild/compilers/compilers.py | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/mesonbuild/compilers/__init__.py b/mesonbuild/compilers/__init__.py index aab761af4..f645090e1 100644 --- a/mesonbuild/compilers/__init__.py +++ b/mesonbuild/compilers/__init__.py @@ -18,6 +18,7 @@ __all__ = [ 'is_library', 'is_llvm_ir', 'is_object', + 'is_separate_compile', 'is_source', 'is_java', 'is_known_suffix', @@ -62,6 +63,7 @@ from .compilers import ( is_object, is_library, is_known_suffix, + is_separate_compile, lang_suffixes, LANGUAGES_USING_LDFLAGS, sort_clink, diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index 76d8d72e7..5915790d0 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -154,6 +154,9 @@ def is_java(fname: mesonlib.FileOrString) -> bool: suffix = fname.split('.')[-1] return suffix in lang_suffixes['java'] +def is_separate_compile(fname: mesonlib.FileOrString) -> bool: + return not fname.endswith('.rs') + def is_llvm_ir(fname: 'mesonlib.FileOrString') -> bool: if isinstance(fname, mesonlib.File): fname = fname.fname |
