Add cc_prebuilt_library_headers

In preparation for adding cc_library_headers support to
sdk/module_exports.

Two changes were needed to make the prebuilt version work.
1) Had to stop the prebuilt version of the library from creating static
   and shared variants for header only.
2) Had to allow the code to export/reexport include dirs to run even
   when no src is provided.

Bug: 148933848
Test: m nothing
Change-Id: Idd50ed38bc90d1d93551f78e6310f167941487d9
diff --git a/cc/library_headers.go b/cc/library_headers.go
index 0a15112..c7edb9a 100644
--- a/cc/library_headers.go
+++ b/cc/library_headers.go
@@ -22,6 +22,7 @@
 
 func RegisterLibraryHeadersBuildComponents(ctx android.RegistrationContext) {
 	ctx.RegisterModuleType("cc_library_headers", LibraryHeaderFactory)
+	ctx.RegisterModuleType("cc_prebuilt_library_headers", prebuiltLibraryHeaderFactory)
 }
 
 // cc_library_headers contains a set of c/c++ headers which are imported by
@@ -33,3 +34,10 @@
 	library.HeaderOnly()
 	return module.Init()
 }
+
+// cc_prebuilt_library_headers is a prebuilt version of cc_library_headers
+func prebuiltLibraryHeaderFactory() android.Module {
+	module, library := NewPrebuiltLibrary(android.HostAndDeviceSupported)
+	library.HeaderOnly()
+	return module.Init()
+}