| Index: Source/bindings/scripts/compute_dependencies.py
|
| diff --git a/Source/bindings/scripts/compute_dependencies.py b/Source/bindings/scripts/compute_dependencies.py
|
| index 928e9af49b4990c2dfffe21ad21eadc525bf250d..8ddc9853a366740e24a4c02fca030793f54b10cc 100755
|
| --- a/Source/bindings/scripts/compute_dependencies.py
|
| +++ b/Source/bindings/scripts/compute_dependencies.py
|
| @@ -35,6 +35,9 @@ import posixpath
|
| import re
|
| import string
|
|
|
| +module_path, _ = os.path.split(__file__)
|
| +source_path = os.path.normpath(os.path.join(module_path, os.pardir, os.pardir))
|
| +
|
|
|
| class IdlBadFilenameError(Exception):
|
| """Raised if an IDL filename disagrees with the interface name in the file."""
|
| @@ -236,6 +239,16 @@ def generate_dependencies(idl_file_name, interfaces_info, partial_interface_file
|
| full_path = os.path.realpath(idl_file_name)
|
| idl_file_contents = get_file_contents(full_path)
|
|
|
| + extended_attributes = get_interface_extended_attributes_from_idl(idl_file_contents)
|
| + implemented_as = extended_attributes.get('ImplementedAs')
|
| +
|
| + # Relative path to header file, used in includes
|
| + relative_path_local = os.path.relpath(idl_file_name, source_path)
|
| + relative_dir_local = os.path.dirname(relative_path_local)
|
| + posix_dir = relative_dir_local.replace(os.path.sep, posixpath.sep)
|
| + cpp_class_name = implemented_as or interface_name
|
| + include_path = os.path.join(posix_dir, cpp_class_name + '.h')
|
| +
|
| # Handle partial interfaces
|
| partial_interface_name = get_partial_interface_name_from_idl(idl_file_contents)
|
| if partial_interface_name:
|
| @@ -246,12 +259,12 @@ def generate_dependencies(idl_file_name, interfaces_info, partial_interface_file
|
| # but are removed later if they are implemented by another interface
|
| interfaces_info[interface_name] = {
|
| 'full_path': full_path,
|
| + 'include_path': include_path,
|
| 'implements_interfaces': get_implemented_interfaces_from_idl(idl_file_contents, interface_name),
|
| 'is_callback_interface': is_callback_interface_from_idl(idl_file_contents),
|
| }
|
| - extended_attributes = get_interface_extended_attributes_from_idl(idl_file_contents)
|
| - if 'ImplementedAs' in extended_attributes:
|
| - interfaces_info[interface_name]['implemented_as'] = extended_attributes['ImplementedAs']
|
| + if implemented_as:
|
| + interfaces_info[interface_name]['implemented_as'] = implemented_as
|
|
|
| return None
|
|
|
|
|