blob: 927d503e739fc4ab9924adf5274d08b323a21213 [file] [log] [blame]
#!/usr/bin/env python3
# SPDX-License-Identifier: BSD-3-Clause
# Copyright (C) 2020, Google Inc.
#
# Author: Paul Elder <paul.elder@ideasonboard.com>
#
# generate.py - Run mojo code generator for generating libcamera IPC files
import os
import sys
import mojom_bindings_generator as generator
def _GetModulePath(path, output_dir):
return os.path.join(output_dir, path.relative_path())
# Disable the attribute checker to support our custom attributes. Ideally we
# should add the attributes to the list of allowed attributes in
# utils/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check.py, but
# we're trying hard to use the upstream mojom as-is.
if hasattr(generator, '_BUILTIN_CHECKS'):
del generator._BUILTIN_CHECKS['attributes']
# Override the mojo code generator's generator list to only contain our
# libcamera generator
generator._BUILTIN_GENERATORS = {'libcamera': 'mojom_libcamera_generator'}
# Override the mojo code generator's _GetModulePath method to not add
# the '-module' suffix when searching for mojo modules, so that we can
# pass the path to the mojom module without having to trim the '-module' suffix
generator._GetModulePath = _GetModulePath
generator.main()