blob: 2dc2a50bc68f5c4de74bd70134b3c6049945496f [file] [log] [blame]
#!/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)