Make python launcher buildable.

Execute as: bazel run :launcher -- [.. flags]

Change-Id: Ia1165d505170cde1111e755918c10dd6d27557f3
(cherry picked from commit 7143f99476190ab120dc1b17bff7c8a7731119a9)
diff --git a/ivshmem_server/BUILD b/ivshmem_server/BUILD
new file mode 100644
index 0000000..9dde773
--- /dev/null
+++ b/ivshmem_server/BUILD
@@ -0,0 +1,23 @@
+py_binary(
+    name = "launcher",
+    data = ["vsoc_mem.json"],
+    srcs = ["ivserver.py"],
+    main = "ivserver.py",
+    default_python_version = "PY3",
+    srcs_version = "PY3",
+    deps = [":ivserver_lib"],
+)
+
+py_library(
+    name = "ivserver_lib",
+    srcs = [
+        "channel.py",
+        "clientconnection.py",
+        "errors.py",
+        "ivserver.py",
+        "vmconnection.py",
+        "vsocsharedmem.py",
+    ],
+    srcs_version = "PY2AND3",
+)
+
diff --git a/ivshmem_server/ivserver.py b/ivshmem_server/ivserver.py
index 3fc73c1..7eb9e84 100644
--- a/ivshmem_server/ivserver.py
+++ b/ivshmem_server/ivserver.py
@@ -150,7 +150,13 @@
   return 'e1000,netdev=%s,mac=%s' % (name, mac_addr)
 
 
+def check_version():
+  if sys.version_info.major != 3:
+    raise errors.VersionException
+
+
 def main():
+  check_version()
   parser = setup_arg_parser()
   args = parser.parse_args()
   layout_json = json.loads(open(args.layoutfile).read())
@@ -217,10 +223,6 @@
       sys.exit(2)
     subprocess.Popen(qemu_args)
 
-def check_version():
-  if sys.version_info.major != 3:
-    raise errors.VersionException
 
 if __name__ == '__main__':
-  check_version()
   main()