| Index: pylib/gyp/input.py
|
| diff --git a/pylib/gyp/input.py b/pylib/gyp/input.py
|
| index b09a2c8540500fab92ca4d65f1f0445c73909f57..055adff791677656dbe3f9635d7d53f4c83072b3 100644
|
| --- a/pylib/gyp/input.py
|
| +++ b/pylib/gyp/input.py
|
| @@ -28,7 +28,12 @@ from gyp.common import OrderedSet
|
|
|
|
|
| # A list of types that are treated as linkable.
|
| -linkable_types = ['executable', 'shared_library', 'loadable_module']
|
| +linkable_types = [
|
| + 'executable',
|
| + 'shared_library',
|
| + 'loadable_module',
|
| + 'extension'
|
| +]
|
|
|
| # A list of sections that contain links to other targets.
|
| dependency_sections = ['dependencies', 'export_dependent_settings']
|
| @@ -1703,11 +1708,12 @@ class DependencyGraphNode(object):
|
| dependencies.add(self.ref)
|
| return dependencies
|
|
|
| - # Executables and loadable modules are already fully and finally linked.
|
| - # Nothing else can be a link dependency of them, there can only be
|
| - # dependencies in the sense that a dependent target might run an
|
| + # Executables, loadable modules, and extensions are already fully and
|
| + # finally linked. Nothing else can be a link dependency of them, there can
|
| + # only be dependencies in the sense that a dependent target might run an
|
| # executable or load the loadable_module.
|
| - if not initial and target_type in ('executable', 'loadable_module'):
|
| + FULLY_LINKED_TYPES = ('executable', 'loadable_module', 'extension')
|
| + if not initial and target_type in FULLY_LINKED_TYPES:
|
| return dependencies
|
|
|
| # Shared libraries are already fully linked. They should only be included
|
| @@ -2450,7 +2456,7 @@ def ValidateTargetType(target, target_dict):
|
| """
|
| VALID_TARGET_TYPES = ('executable', 'loadable_module',
|
| 'static_library', 'shared_library',
|
| - 'none')
|
| + 'extension', 'none')
|
| target_type = target_dict.get('type', None)
|
| if target_type not in VALID_TARGET_TYPES:
|
| raise GypError("Target %s has an invalid target type '%s'. "
|
|
|