-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmojom_bindings_generator_wrapper.py
executable file
·39 lines (29 loc) · 1.17 KB
/
mojom_bindings_generator_wrapper.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Thin wrapper of Mojo's mojom_bindings_generator.py.
To generate C++ files from mojom, it is necessary to run
mojom_bindings_generator.py three times
- without --generate_non_variant_code or --generate_non_variant_code
- with --generate_non_variant_code only
- with both --generate_non_variant_code and --generate_message_ids
However, gni's "rule" does not support multiple "action"s. So, instead,
use this simple python wrapper.
Usage:
python mojom_bindings_generator_wrapper.py ${libbase_ver} \
${MOJOM_BINDINGS_GENERATOR} \
[... and more args/flags to be passed to the mojom_bindings_generator.py]
"""
from __future__ import print_function
import subprocess
import sys
def main(argv):
subprocess.check_call(argv[2:])
subprocess.check_call(argv[2:] + ['--generate_non_variant_code'])
subprocess.check_call(argv[2:] + ['--generate_non_variant_code',
'--generate_message_ids'])
if __name__ == '__main__':
main(sys.argv)