Add a "license" property to ndk_headers.

This field points to the license file for the headers being shipped.

Test: make ndk && less $SOONG_OUT/ndk/NOTICE
Bug: None
Change-Id: I386f4e6f6d9776f422ffc09b8dab69e1911b08a4
diff --git a/android/defs.go b/android/defs.go
index 6e28de7..d7e2a9f 100644
--- a/android/defs.go
+++ b/android/defs.go
@@ -74,6 +74,12 @@
 		},
 		"error")
 
+	Cat = pctx.AndroidStaticRule("Cat",
+		blueprint.RuleParams{
+			Command:     "cat $in > $out",
+			Description: "concatenate licenses $out",
+		})
+
 	// Used only when USE_GOMA=true is set, to restrict non-goma jobs to the local parallelism value
 	localPool = blueprint.NewBuiltinPool("local_pool")
 )
diff --git a/android/module.go b/android/module.go
index 572b162..230d95c 100644
--- a/android/module.go
+++ b/android/module.go
@@ -170,6 +170,7 @@
 const (
 	_ HostOrDeviceSupported = iota
 	HostSupported
+	HostSupportedNoCross
 	DeviceSupported
 	HostAndDeviceSupported
 	HostAndDeviceDefault
@@ -326,8 +327,9 @@
 func (a *ModuleBase) OsClassSupported() []OsClass {
 	switch a.commonProperties.HostOrDeviceSupported {
 	case HostSupported:
-		// TODO(ccross): explicitly mark host cross support
 		return []OsClass{Host, HostCross}
+	case HostSupportedNoCross:
+		return []OsClass{Host}
 	case DeviceSupported:
 		return []OsClass{Device}
 	case HostAndDeviceSupported: