Support cross-compiling Windows binaries on Linux

This defines another mutator between HostOrDevice and Arch that will
expand host modules into a module for each host type
(Darwin/Linux/Windows) that is currently being built.

Change-Id: I4c8ac6b616c229f6bd45ad8a35902652fb6a4fff
diff --git a/genrule/genrule.go b/genrule/genrule.go
index fb0dafc..76b4f16 100644
--- a/genrule/genrule.go
+++ b/genrule/genrule.go
@@ -88,8 +88,10 @@
 func genruleDepsMutator(ctx common.AndroidBottomUpMutatorContext) {
 	if g, ok := ctx.Module().(*generator); ok {
 		if g.properties.Tool != "" {
-			ctx.AddFarVariationDependencies([]blueprint.Variation{{"hostordevice", common.Host.String()}},
-				g.properties.Tool)
+			ctx.AddFarVariationDependencies([]blueprint.Variation{
+					{"host_or_device", common.Host.String()},
+					{"host_type", common.CurrentHostType().String()},
+				}, g.properties.Tool)
 		}
 	}
 }