| Index: Source/bindings/scripts/utilities.py
|
| diff --git a/Source/bindings/scripts/utilities.py b/Source/bindings/scripts/utilities.py
|
| index 4d80ca7d1b3dc7df5f5e0b01676a68ec943456b6..8641c99093f2ee899f756caca5f0977c3cd1c983 100644
|
| --- a/Source/bindings/scripts/utilities.py
|
| +++ b/Source/bindings/scripts/utilities.py
|
| @@ -31,10 +31,27 @@ def idl_filename_to_component(idl_filename):
|
| path = os.path.dirname(os.path.realpath(idl_filename))
|
| while path:
|
| dirname, basename = os.path.split(path)
|
| + if not basename:
|
| + break
|
| if basename.lower() in KNOWN_COMPONENTS:
|
| return basename.lower()
|
| path = dirname
|
| - raise 'Unknown component type for %s' % idl_filename
|
| + raise Exception('Unknown component type for %s' % idl_filename)
|
| +
|
| +
|
| +# See whether "component" can depend on "dependency" or not:
|
| +# Suppose that we have interface X and Y:
|
| +# - if X is a partial interface and Y is the original interface,
|
| +# use is_valid_component_dependency(X, Y).
|
| +# - if X implements Y, use is_valid_component_dependency(X, Y)
|
| +# Suppose that X is a cpp file and Y is a header file:
|
| +# - if X includes Y, use is_valid_component_dependency(X, Y)
|
| +def is_valid_component_dependency(component, dependency):
|
| + assert component in KNOWN_COMPONENTS
|
| + assert dependency in KNOWN_COMPONENTS
|
| + if component == 'core' and dependency == 'modules':
|
| + return False
|
| + return True
|
|
|
|
|
| ################################################################################
|
|
|