From 20fe59fa75aa39d46607320d4233d2e170801fc3 Mon Sep 17 00:00:00 2001
From: Junji Watanabe <jwata@google.com>
Date: Wed, 7 May 2025 04:48:13 -0700
Subject: [PATCH] build: Add windows_manifest sources to inputs

As the manifest files are necessary for lld-link commands,
this CL adds them to inputs.
Also, the dependency to the targets that generate manifest file need
to be propagated as `public_deps`. e.g. `//chrome/app/version_assembly:chrome_exe_version_manifest`

Bug: 415155400
Change-Id: Ifd46ec2619a427054c3afd8df547ec2589a62732
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6508005
Commit-Queue: Gabriel Charette <gab@chromium.org>
Auto-Submit: Junji Watanabe <jwata@google.com>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1456878}
---
 build/config/win/manifest.gni        | 3 ++-
 chrome/app/version_assembly/BUILD.gn | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/build/config/win/manifest.gni b/build/config/win/manifest.gni
index 805c24d0bd686..2feb96cf22833 100644
--- a/build/config/win/manifest.gni
+++ b/build/config/win/manifest.gni
@@ -90,6 +90,7 @@ if (is_win) {
                   # We handle UAC by adding explicit .manifest files instead.
                   "/manifestuac:no",
                 ] + manifests
+      inputs = invoker.sources
     }
 
     # This group only exists to add a dep on the invoker's deps and to
@@ -100,7 +101,7 @@ if (is_win) {
 
       # Apply any dependencies from the invoker to this target, since those
       # dependencies may have created the input manifest files.
-      forward_variables_from(invoker, [ "deps" ])
+      forward_variables_from(invoker, [ "public_deps" ])
     }
   }
 } else {
diff --git a/chrome/app/version_assembly/BUILD.gn b/chrome/app/version_assembly/BUILD.gn
index f7dd033fe0deb..fe7d487571f68 100644
--- a/chrome/app/version_assembly/BUILD.gn
+++ b/chrome/app/version_assembly/BUILD.gn
@@ -32,7 +32,7 @@ windows_manifest("chrome_exe_manifest") {
     sources += [ segment_heap_manifest ]
   }
 
-  deps = [ ":chrome_exe_version_manifest" ]
+  public_deps = [ ":chrome_exe_version_manifest" ]
 }
 
 # Generates the manifest for the version assembly, which is the versioned