I'm investigating why is_component_build=true in chrome results in much smaller build.ninja files, and the main reason seems to be that transitive source_sets are listed as inputs for static_library, but not for shared_library.
When component == shared_library, the zip_reader.ninja file does not have an input edge on clang_x64/phony/third_party/zlib/zlib_adler32_simd, but when component == static_library, it does have this edge.
I can't figure out why this would be correct in one case and not the other... Anyone have insights?