Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(806)

Side by Side Diff: pylib/gyp/generator/analyzer.py

Issue 347193005: Makes analyzer strip off a leading path separator (Closed) Base URL: http://gyp.googlecode.com/svn/trunk
Patch Set: add special case for windows Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2014 Google Inc. All rights reserved. 1 # Copyright (c) 2014 Google Inc. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """ 5 """
6 This script is intended for use as a GYP_GENERATOR. It takes as input (by way of 6 This script is intended for use as a GYP_GENERATOR. It takes as input (by way of
7 the generator flag file_path) the list of relative file paths to consider. If 7 the generator flag file_path) the list of relative file paths to consider. If
8 any target has at least one of the paths as a source (or input to an action or 8 any target has at least one of the paths as a source (or input to an action or
9 rule) then 'Found dependency' is output, otherwise 'No dependencies' is output. 9 rule) then 'Found dependency' is output, otherwise 'No dependencies' is output.
10 """ 10 """
(...skipping 22 matching lines...) Expand all
33 generator_default_variables[unused] = '' 33 generator_default_variables[unused] = ''
34 34
35 def __MakeRelativeTargetName(path): 35 def __MakeRelativeTargetName(path):
36 """Converts a gyp target name into a relative name. For example, the path to a 36 """Converts a gyp target name into a relative name. For example, the path to a
37 gyp file may be something like c:\foo\bar.gyp:target, this converts it to 37 gyp file may be something like c:\foo\bar.gyp:target, this converts it to
38 bar.gyp. 38 bar.gyp.
39 """ 39 """
40 prune_path = os.getcwd() 40 prune_path = os.getcwd()
41 if path.startswith(prune_path): 41 if path.startswith(prune_path):
42 path = path[len(prune_path):] 42 path = path[len(prune_path):]
43 if len(path) and path.startswith(os.sep):
44 path = path[len(os.sep):]
43 # Gyp paths are always posix style. 45 # Gyp paths are always posix style.
44 path = path.replace('\\', '/') 46 path = path.replace('\\', '/')
45 if path.endswith('#target'): 47 if path.endswith('#target'):
46 path = path[0:len(path) - len('#target')] 48 path = path[0:len(path) - len('#target')]
47 return path 49 return path
48 50
49 def __ExtractBasePath(target): 51 def __ExtractBasePath(target):
50 """Extracts the path components of the specified gyp target path.""" 52 """Extracts the path components of the specified gyp target path."""
51 last_index = target.rfind('/') 53 last_index = target.rfind('/')
52 if last_index == -1: 54 if last_index == -1:
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 print 'Unable to open file', file_path 161 print 'Unable to open file', file_path
160 return None 162 return None
161 163
162 def CalculateVariables(default_variables, params): 164 def CalculateVariables(default_variables, params):
163 """Calculate additional variables for use in the build (called by gyp).""" 165 """Calculate additional variables for use in the build (called by gyp)."""
164 flavor = gyp.common.GetFlavor(params) 166 flavor = gyp.common.GetFlavor(params)
165 if flavor == 'mac': 167 if flavor == 'mac':
166 default_variables.setdefault('OS', 'mac') 168 default_variables.setdefault('OS', 'mac')
167 elif flavor == 'win': 169 elif flavor == 'win':
168 default_variables.setdefault('OS', 'win') 170 default_variables.setdefault('OS', 'win')
171 # Copy additional generator configuration data from VS, which is shared
172 # by the Windows Ninja generator.
173 import gyp.generator.msvs as msvs_generator
174 generator_additional_non_configuration_keys = getattr(msvs_generator,
175 'generator_additional_non_configuration_keys', [])
176 generator_additional_path_sections = getattr(msvs_generator,
177 'generator_additional_path_sections', [])
178
179 gyp.msvs_emulation.CalculateCommonVariables(default_variables, params)
169 else: 180 else:
170 operating_system = flavor 181 operating_system = flavor
171 if flavor == 'android': 182 if flavor == 'android':
172 operating_system = 'linux' # Keep this legacy behavior for now. 183 operating_system = 'linux' # Keep this legacy behavior for now.
173 default_variables.setdefault('OS', operating_system) 184 default_variables.setdefault('OS', operating_system)
174 185
175 def GenerateOutput(target_list, target_dicts, data, params): 186 def GenerateOutput(target_list, target_dicts, data, params):
176 """Called by gyp as the final stage. Outputs results.""" 187 """Called by gyp as the final stage. Outputs results."""
177 files = __GetFiles(params) 188 files = __GetFiles(params)
178 if not files: 189 if not files:
179 print 'Must specify files to analyze via file_path generator flag' 190 print 'Must specify files to analyze via file_path generator flag'
180 return 191 return
181 192
182 targets = __GenerateTargets(target_list, target_dicts) 193 targets = __GenerateTargets(target_list, target_dicts)
183 194
184 files_set = frozenset(files) 195 files_set = frozenset(files)
185 found_in_all_sources = 0 196 found_in_all_sources = 0
186 for target_name, target in targets.iteritems(): 197 for target_name, target in targets.iteritems():
187 sources = files_set.intersection(target.sources) 198 sources = files_set.intersection(target.sources)
188 if len(sources): 199 if len(sources):
189 print 'Found dependency' 200 print 'Found dependency'
190 return 201 return
191 202
192 print 'No dependencies' 203 print 'No dependencies'
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698