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

Side by Side Diff: pylib/gyp/__init__.py

Issue 1151963003: Revert "Stop checking for duplicate basenames" (Closed) Base URL: http://gyp.googlecode.com/svn/trunk
Patch Set: . Created 5 years, 7 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 | pylib/gyp/input.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 2
3 # Copyright (c) 2012 Google Inc. All rights reserved. 3 # Copyright (c) 2012 Google Inc. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 import copy 7 import copy
8 import gyp.input 8 import gyp.input
9 import optparse 9 import optparse
10 import os.path 10 import os.path
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 files = os.listdir(os.getcwd()) 42 files = os.listdir(os.getcwd())
43 build_files = [] 43 build_files = []
44 for file in files: 44 for file in files:
45 if file.endswith(extension): 45 if file.endswith(extension):
46 build_files.append(file) 46 build_files.append(file)
47 return build_files 47 return build_files
48 48
49 49
50 def Load(build_files, format, default_variables={}, 50 def Load(build_files, format, default_variables={},
51 includes=[], depth='.', params=None, check=False, 51 includes=[], depth='.', params=None, check=False,
52 circular_check=True): 52 circular_check=True, duplicate_basename_check=True):
53 """ 53 """
54 Loads one or more specified build files. 54 Loads one or more specified build files.
55 default_variables and includes will be copied before use. 55 default_variables and includes will be copied before use.
56 Returns the generator for the specified format and the 56 Returns the generator for the specified format and the
57 data returned by loading the specified build files. 57 data returned by loading the specified build files.
58 """ 58 """
59 if params is None: 59 if params is None:
60 params = {} 60 params = {}
61 61
62 if '-' in format: 62 if '-' in format:
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 'generator_wants_static_library_dependencies_adjusted', True), 119 'generator_wants_static_library_dependencies_adjusted', True),
120 'generator_wants_sorted_dependencies': 120 'generator_wants_sorted_dependencies':
121 getattr(generator, 'generator_wants_sorted_dependencies', False), 121 getattr(generator, 'generator_wants_sorted_dependencies', False),
122 'generator_filelist_paths': 122 'generator_filelist_paths':
123 getattr(generator, 'generator_filelist_paths', None), 123 getattr(generator, 'generator_filelist_paths', None),
124 } 124 }
125 125
126 # Process the input specific to this generator. 126 # Process the input specific to this generator.
127 result = gyp.input.Load(build_files, default_variables, includes[:], 127 result = gyp.input.Load(build_files, default_variables, includes[:],
128 depth, generator_input_info, check, circular_check, 128 depth, generator_input_info, check, circular_check,
129 duplicate_basename_check,
129 params['parallel'], params['root_targets']) 130 params['parallel'], params['root_targets'])
130 return [generator] + result 131 return [generator] + result
131 132
132 def NameValueListToDict(name_value_list): 133 def NameValueListToDict(name_value_list):
133 """ 134 """
134 Takes an array of strings of the form 'NAME=VALUE' and creates a dictionary 135 Takes an array of strings of the form 'NAME=VALUE' and creates a dictionary
135 of the pairs. If a string is simply NAME, then the value in the dictionary 136 of the pairs. If a string is simply NAME, then the value in the dictionary
136 is set to True. If VALUE can be converted to an integer, it is. 137 is set to True. If VALUE can be converted to an integer, it is.
137 """ 138 """
138 result = { } 139 result = { }
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 # --no-circular-check disables the check for circular relationships between 318 # --no-circular-check disables the check for circular relationships between
318 # .gyp files. These relationships should not exist, but they've only been 319 # .gyp files. These relationships should not exist, but they've only been
319 # observed to be harmful with the Xcode generator. Chromium's .gyp files 320 # observed to be harmful with the Xcode generator. Chromium's .gyp files
320 # currently have some circular relationships on non-Mac platforms, so this 321 # currently have some circular relationships on non-Mac platforms, so this
321 # option allows the strict behavior to be used on Macs and the lenient 322 # option allows the strict behavior to be used on Macs and the lenient
322 # behavior to be used elsewhere. 323 # behavior to be used elsewhere.
323 # TODO(mark): Remove this option when http://crbug.com/35878 is fixed. 324 # TODO(mark): Remove this option when http://crbug.com/35878 is fixed.
324 parser.add_option('--no-circular-check', dest='circular_check', 325 parser.add_option('--no-circular-check', dest='circular_check',
325 action='store_false', default=True, regenerate=False, 326 action='store_false', default=True, regenerate=False,
326 help="don't check for circular relationships between files") 327 help="don't check for circular relationships between files")
328 # --no-duplicate-basename-check disables the check for duplicate basenames
329 # in a static_library/shared_library project. Visual C++ 2008 generator
330 # doesn't support this configuration. Libtool on Mac also generates warnings
331 # when duplicate basenames are passed into Make generator on Mac.
332 # TODO(yukawa): Remove this option when these legacy generators are
333 # deprecated.
334 parser.add_option('--no-duplicate-basename-check',
335 dest='duplicate_basename_check', action='store_false',
336 default=True, regenerate=False,
337 help="don't check for duplicate basenames")
327 parser.add_option('--no-parallel', action='store_true', default=False, 338 parser.add_option('--no-parallel', action='store_true', default=False,
328 help='Disable multiprocessing') 339 help='Disable multiprocessing')
329 parser.add_option('-S', '--suffix', dest='suffix', default='', 340 parser.add_option('-S', '--suffix', dest='suffix', default='',
330 help='suffix to add to generated files') 341 help='suffix to add to generated files')
331 parser.add_option('--toplevel-dir', dest='toplevel_dir', action='store', 342 parser.add_option('--toplevel-dir', dest='toplevel_dir', action='store',
332 default=None, metavar='DIR', type='path', 343 default=None, metavar='DIR', type='path',
333 help='directory to use as the root of the source tree') 344 help='directory to use as the root of the source tree')
334 parser.add_option('-R', '--root-target', dest='root_targets', 345 parser.add_option('-R', '--root-target', dest='root_targets',
335 action='append', metavar='TARGET', 346 action='append', metavar='TARGET',
336 help='include only TARGET and its deep dependencies') 347 help='include only TARGET and its deep dependencies')
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 'build_files_arg': build_files_arg, 503 'build_files_arg': build_files_arg,
493 'gyp_binary': sys.argv[0], 504 'gyp_binary': sys.argv[0],
494 'home_dot_gyp': home_dot_gyp, 505 'home_dot_gyp': home_dot_gyp,
495 'parallel': options.parallel, 506 'parallel': options.parallel,
496 'root_targets': options.root_targets, 507 'root_targets': options.root_targets,
497 'target_arch': cmdline_default_variables.get('target_arch', '')} 508 'target_arch': cmdline_default_variables.get('target_arch', '')}
498 509
499 # Start with the default variables from the command line. 510 # Start with the default variables from the command line.
500 [generator, flat_list, targets, data] = Load( 511 [generator, flat_list, targets, data] = Load(
501 build_files, format, cmdline_default_variables, includes, options.depth, 512 build_files, format, cmdline_default_variables, includes, options.depth,
502 params, options.check, options.circular_check) 513 params, options.check, options.circular_check,
514 options.duplicate_basename_check)
503 515
504 # TODO(mark): Pass |data| for now because the generator needs a list of 516 # TODO(mark): Pass |data| for now because the generator needs a list of
505 # build files that came in. In the future, maybe it should just accept 517 # build files that came in. In the future, maybe it should just accept
506 # a list, and not the whole data dict. 518 # a list, and not the whole data dict.
507 # NOTE: flat_list is the flattened dependency graph specifying the order 519 # NOTE: flat_list is the flattened dependency graph specifying the order
508 # that targets may be built. Build systems that operate serially or that 520 # that targets may be built. Build systems that operate serially or that
509 # need to have dependencies defined before dependents reference them should 521 # need to have dependencies defined before dependents reference them should
510 # generate targets in the order specified in flat_list. 522 # generate targets in the order specified in flat_list.
511 generator.GenerateOutput(flat_list, targets, data, params) 523 generator.GenerateOutput(flat_list, targets, data, params)
512 524
(...skipping 14 matching lines...) Expand all
527 except GypError, e: 539 except GypError, e:
528 sys.stderr.write("gyp: %s\n" % e) 540 sys.stderr.write("gyp: %s\n" % e)
529 return 1 541 return 1
530 542
531 # NOTE: setuptools generated console_scripts calls function with no arguments 543 # NOTE: setuptools generated console_scripts calls function with no arguments
532 def script_main(): 544 def script_main():
533 return main(sys.argv[1:]) 545 return main(sys.argv[1:])
534 546
535 if __name__ == '__main__': 547 if __name__ == '__main__':
536 sys.exit(script_main()) 548 sys.exit(script_main())
OLDNEW
« no previous file with comments | « no previous file | pylib/gyp/input.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698