| Index: pylib/gyp/input.py
|
| diff --git a/pylib/gyp/input.py b/pylib/gyp/input.py
|
| index b09a2c8540500fab92ca4d65f1f0445c73909f57..e0813f3534927de925a19c130f368c207b92923c 100644
|
| --- a/pylib/gyp/input.py
|
| +++ b/pylib/gyp/input.py
|
| @@ -2463,7 +2463,10 @@ def ValidateTargetType(target, target_dict):
|
| target_type))
|
|
|
|
|
| -def ValidateSourcesInTarget(target, target_dict, build_file):
|
| +def ValidateSourcesInTarget(target, target_dict, build_file,
|
| + duplicate_basename_check):
|
| + if not duplicate_basename_check:
|
| + return
|
| # TODO: Check if MSVC allows this for loadable_module targets.
|
| if target_dict.get('type', None) not in ('static_library', 'shared_library'):
|
| return
|
| @@ -2485,8 +2488,9 @@ def ValidateSourcesInTarget(target, target_dict, build_file):
|
|
|
| if error:
|
| print('static library %s has several files with the same basename:\n' %
|
| - target + error + 'Some build systems, e.g. MSVC08, '
|
| - 'cannot handle that.')
|
| + target + error + 'Some build systems, e.g. MSVC08 and Make generator '
|
| + 'for Mac, cannot handle that. Use --no-duplicate-basename-check to'
|
| + 'disable this validation.')
|
| raise GypError('Duplicate basenames in sources section, see list above')
|
|
|
|
|
| @@ -2710,7 +2714,7 @@ def SetGeneratorGlobals(generator_input_info):
|
|
|
|
|
| def Load(build_files, variables, includes, depth, generator_input_info, check,
|
| - circular_check, parallel, root_targets):
|
| + circular_check, duplicate_basename_check, parallel, root_targets):
|
| SetGeneratorGlobals(generator_input_info)
|
| # A generator can have other lists (in addition to sources) be processed
|
| # for rules.
|
| @@ -2835,6 +2839,11 @@ def Load(build_files, variables, includes, depth, generator_input_info, check,
|
| ProcessVariablesAndConditionsInDict(
|
| target_dict, PHASE_LATELATE, variables, build_file)
|
|
|
| + # TODO(thakis): Get vpx_scale/arm/scalesystemdependent.c to be renamed to
|
| + # scalesystemdependent_arm_additions.c or similar.
|
| + if 'arm' in variables.get('target_arch', ''):
|
| + duplicate_basename_check = False
|
| +
|
| # Make sure that the rules make sense, and build up rule_sources lists as
|
| # needed. Not all generators will need to use the rule_sources lists, but
|
| # some may, and it seems best to build the list in a common spot.
|
| @@ -2843,10 +2852,8 @@ def Load(build_files, variables, includes, depth, generator_input_info, check,
|
| target_dict = targets[target]
|
| build_file = gyp.common.BuildFile(target)
|
| ValidateTargetType(target, target_dict)
|
| - # TODO(thakis): Get vpx_scale/arm/scalesystemdependent.c to be renamed to
|
| - # scalesystemdependent_arm_additions.c or similar.
|
| - if 'arm' not in variables.get('target_arch', ''):
|
| - ValidateSourcesInTarget(target, target_dict, build_file)
|
| + ValidateSourcesInTarget(target, target_dict, build_file,
|
| + duplicate_basename_check)
|
| ValidateRulesInTarget(target, target_dict, extra_sources_for_rules)
|
| ValidateRunAsInTarget(target, target_dict, build_file)
|
| ValidateActionsInTarget(target, target_dict, build_file)
|
|
|