diff --git a/tools_webrtc/ios/generate_modulemap.py b/tools_webrtc/ios/generate_modulemap.py
index 4609385..1b61b8e 100644
--- a/tools_webrtc/ios/generate_modulemap.py
+++ b/tools_webrtc/ios/generate_modulemap.py
@@ -1,3 +1,5 @@
+#!/usr/bin/env vpython3
+
 # Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
 #
 # Use of this source code is governed by a BSD-style license
@@ -11,22 +13,22 @@
 
 
 def GenerateModulemap():
-    parser = argparse.ArgumentParser(description='Generate modulemap')
-    parser.add_argument("-o", "--out", type=str, help="Output file.")
-    parser.add_argument("-n", "--name", type=str, help="Name of binary.")
+  parser = argparse.ArgumentParser(description='Generate modulemap')
+  parser.add_argument("-o", "--out", type=str, help="Output file.")
+  parser.add_argument("-n", "--name", type=str, help="Name of binary.")
 
-    args = parser.parse_args()
+  args = parser.parse_args()
 
-    with open(args.out, "w") as outfile:
-        module_template = 'framework module %s {\n' \
-                          '  umbrella header "%s.h"\n' \
-                          '\n' \
-                          '  export *\n' \
-                          '  module * { export * }\n' \
-                          '}\n' % (args.name, args.name)
-        outfile.write(module_template)
-    return 0
+  with open(args.out, "w") as outfile:
+    module_template = 'framework module %s {\n' \
+                      '  umbrella header "%s.h"\n' \
+                      '\n' \
+                      '  export *\n' \
+                      '  module * { export * }\n' \
+                      '}\n' % (args.name, args.name)
+    outfile.write(module_template)
+  return 0
 
 
 if __name__ == '__main__':
-    sys.exit(GenerateModulemap())
+  sys.exit(GenerateModulemap())
