Add exclude_header_libs for recovery_available:true libs

Bug: 78793464
Test: mmm
libhardware needs to be made available in recovery without
exporting bluetooth and audio headers.

Change-Id: Ib1d1bcda49abccfb9a4768580e1c1d92ead68773
diff --git a/cc/linker.go b/cc/linker.go
index 3620f59..9911b16 100644
--- a/cc/linker.go
+++ b/cc/linker.go
@@ -119,6 +119,10 @@
 			// list of static libs that should not be used to build
 			// the recovery variant of the C/C++ module.
 			Exclude_static_libs []string
+
+			// list of header libs that should not be used to build the recovery variant
+			// of the C/C++ module.
+			Exclude_header_libs []string
 		}
 	}
 
@@ -204,6 +208,8 @@
 		deps.SharedLibs = removeListFromList(deps.SharedLibs, linker.Properties.Target.Recovery.Exclude_shared_libs)
 		deps.ReexportSharedLibHeaders = removeListFromList(deps.ReexportSharedLibHeaders, linker.Properties.Target.Recovery.Exclude_shared_libs)
 		deps.StaticLibs = removeListFromList(deps.StaticLibs, linker.Properties.Target.Recovery.Exclude_static_libs)
+		deps.HeaderLibs = removeListFromList(deps.HeaderLibs, linker.Properties.Target.Recovery.Exclude_header_libs)
+		deps.ReexportHeaderLibHeaders = removeListFromList(deps.ReexportHeaderLibHeaders, linker.Properties.Target.Recovery.Exclude_header_libs)
 		deps.ReexportStaticLibHeaders = removeListFromList(deps.ReexportStaticLibHeaders, linker.Properties.Target.Recovery.Exclude_static_libs)
 		deps.WholeStaticLibs = removeListFromList(deps.WholeStaticLibs, linker.Properties.Target.Recovery.Exclude_static_libs)
 	}