diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 7280ef29b85c1..5a3690a409d58 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -12,6 +12,7 @@ import("//build/config/features.gni")
 import("//build/config/python.gni")
 import("//build/config/ui.gni")
 import("//chrome/browser/buildflags.gni")
+import("//chrome/browser/sparkle_buildflags.gni")
 import("//chrome/browser/downgrade/buildflags.gni")
 import("//chrome/common/features.gni")
 import("//chrome/common/request_header_integrity/buildflags.gni")
@@ -98,6 +99,7 @@ if (is_win) {
 buildflag_header("buildflags") {
   header = "buildflags.h"
   flags = [
+    "ENABLE_SPARKLE=$enable_sparkle",
     "ENABLE_UPDATER=$enable_updater",
     "ENABLE_UPDATE_NOTIFICATIONS=$enable_update_notifications",
     "USE_MINIKIN_HYPHENATION=$use_minikin_hyphenation",
@@ -1901,6 +1903,7 @@ static_library("browser") {
     "//chrome/browser/bluetooth",
     "//chrome/browser/bluetooth:impl",
     "//chrome/browser/breadcrumbs",
+    "//chrome/browser/browseros",
     "//chrome/browser/browsing_data:constants",
     "//chrome/browser/chooser_controller",
     "//chrome/browser/commerce",
@@ -6751,6 +6754,16 @@ static_library("browser") {
     ]
   }
 
+  if (is_mac && enable_sparkle) {
+    sources += [
+      "mac/sparkle_glue.h",
+      "mac/sparkle_glue.mm",
+    ]
+
+    # Headers config for compilation (linking handled by chrome_framework)
+    public_configs = [ "//third_party/sparkle:sparkle_link_framework" ]
+  }
+
   if (is_android || is_mac || is_win || is_chromeos) {
     sources += [
       "device_reauth/chrome_device_authenticator_factory.cc",
