cmd,bind: add implicit dependencies

cmd/gomobile depends on cmd/gobind. Code generated by cmd/gobind
depends on packages under golang.org/x/mobile/bind. Explicitly
list those (with build tags) so the go command can take into account
these implicit dependencies (e.g. go mod tidy or go mod vendor).

We use tag `mobile_implicit`.

Updates golang/go#43736

Change-Id: I09c519556ffe8e8c4db0754571c5173b1613c210
Reviewed-on: https://go-review.googlesource.com/c/mobile/+/377754
Trust: Hyang-Ah Hana Kim <hyangah@gmail.com>
Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
diff --git a/bind/implicit.go b/bind/implicit.go
new file mode 100644
index 0000000..5144209
--- /dev/null
+++ b/bind/implicit.go
@@ -0,0 +1,10 @@
+// This file imports implicit dependencies required by generated code.
+
+//go:build mobile_implicit
+// +build mobile_implicit
+
+package bind
+
+import (
+	_ "golang.org/x/mobile/bind/seq"
+)
diff --git a/cmd/gobind/implicit.go b/cmd/gobind/implicit.go
new file mode 100644
index 0000000..4289d4b
--- /dev/null
+++ b/cmd/gobind/implicit.go
@@ -0,0 +1,12 @@
+// This file imports implicit dependencies required by generated code.
+
+//go:build mobile_implicit
+// +build mobile_implicit
+
+package main
+
+import (
+	_ "golang.org/x/mobile/bind"
+	_ "golang.org/x/mobile/bind/java"
+	_ "golang.org/x/mobile/bind/objc"
+)
diff --git a/cmd/gomobile/tools.go b/cmd/gomobile/tools.go
new file mode 100644
index 0000000..e8d4ade
--- /dev/null
+++ b/cmd/gomobile/tools.go
@@ -0,0 +1,10 @@
+// This file includes the tools the gomobile depends on.
+
+//go:build tools
+// +build tools
+
+package main
+
+import (
+	_ "golang.org/x/mobile/cmd/gobind"
+)