From 0c2e6b83b648cd653f66b7b6e11dcec6ba56efe0 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Wed, 15 Oct 2025 10:00:23 -0700 Subject: backend/ninja: Ensure that a rust file is found when using StructuredSources When a structured source contains non rust files, the backend may select such a file to treat as the main file. That doesn't work obviously, so instead filter the main file such that it must be a rust file. --- test cases/rust/19 structured sources/empty.file | 0 test cases/rust/19 structured sources/meson.build | 2 ++ test cases/rust/19 structured sources/src2/meson.build | 4 ++++ 3 files changed, 6 insertions(+) create mode 100644 test cases/rust/19 structured sources/empty.file (limited to 'test cases') diff --git a/test cases/rust/19 structured sources/empty.file b/test cases/rust/19 structured sources/empty.file new file mode 100644 index 000000000..e69de29bb diff --git a/test cases/rust/19 structured sources/meson.build b/test cases/rust/19 structured sources/meson.build index d5b3909ea..f1925835a 100644 --- a/test cases/rust/19 structured sources/meson.build +++ b/test cases/rust/19 structured sources/meson.build @@ -41,6 +41,7 @@ test('no-copy', find_program('no_copy_test.py'), args : meson.current_build_dir( subdir('src2') executable('copy-no-gen', srcs2) +executable('copy-no-gen-with-non-rs', srcs2_empty) m_src = configure_file( input : 'main-gen-copy.rs', @@ -56,3 +57,4 @@ m_src2 = configure_file( executable('gen-no-copy', structured_sources([m_src, m_src2])) +executable('gen-no-copy-with-non-rust', structured_sources(['empty.file', m_src, m_src2])) diff --git a/test cases/rust/19 structured sources/src2/meson.build b/test cases/rust/19 structured sources/src2/meson.build index b4844d272..16ede0d8f 100644 --- a/test cases/rust/19 structured sources/src2/meson.build +++ b/test cases/rust/19 structured sources/src2/meson.build @@ -2,3 +2,7 @@ srcs2 = structured_sources( ['main-unique.rs'], {'foo': 'foo/mod.rs'}, ) +srcs2_empty = structured_sources( + ['../empty.file', 'main-unique.rs'], + {'foo': 'foo/mod.rs'}, +) -- cgit v1.2.3