| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 | 2 |
| 3 # Copyright (c) 2009 Google Inc. All rights reserved. | 3 # Copyright (c) 2009 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 from compiler.ast import Const | 7 from compiler.ast import Const |
| 8 from compiler.ast import Dict | 8 from compiler.ast import Dict |
| 9 from compiler.ast import Discard | 9 from compiler.ast import Discard |
| 10 from compiler.ast import List | 10 from compiler.ast import List |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 'toolsets', | 88 'toolsets', |
| 89 'type', | 89 'type', |
| 90 'variants', | 90 'variants', |
| 91 | 91 |
| 92 # Sections that can be found inside targets or configurations, but that | 92 # Sections that can be found inside targets or configurations, but that |
| 93 # should not be propagated from targets into their configurations. | 93 # should not be propagated from targets into their configurations. |
| 94 'variables', | 94 'variables', |
| 95 ] | 95 ] |
| 96 non_configuration_keys = [] | 96 non_configuration_keys = [] |
| 97 | 97 |
| 98 # Keys that do not belong inside a configuration dictionary. |
| 99 invalid_configuration_keys = [ |
| 100 'actions', |
| 101 'all_dependent_settings', |
| 102 'configurations', |
| 103 'dependencies', |
| 104 'direct_dependent_settings', |
| 105 'libraries', |
| 106 'link_settings', |
| 107 'sources', |
| 108 'target_name', |
| 109 'type', |
| 110 ] |
| 111 |
| 98 # Controls how the generator want the build file paths. | 112 # Controls how the generator want the build file paths. |
| 99 absolute_build_file_paths = False | 113 absolute_build_file_paths = False |
| 100 | 114 |
| 101 # Controls whether or not the generator supports multiple toolsets. | 115 # Controls whether or not the generator supports multiple toolsets. |
| 102 multiple_toolsets = False | 116 multiple_toolsets = False |
| 103 | 117 |
| 104 | 118 |
| 105 def GetIncludedBuildFiles(build_file_path, aux_data, included=None): | 119 def GetIncludedBuildFiles(build_file_path, aux_data, included=None): |
| 106 """Return a list of all build files included into build_file_path. | 120 """Return a list of all build files included into build_file_path. |
| 107 | 121 |
| (...skipping 1669 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1777 key_ext = key[-1:] | 1791 key_ext = key[-1:] |
| 1778 if key_ext in key_suffixes: | 1792 if key_ext in key_suffixes: |
| 1779 key_base = key[:-1] | 1793 key_base = key[:-1] |
| 1780 else: | 1794 else: |
| 1781 key_base = key | 1795 key_base = key |
| 1782 if not key_base in non_configuration_keys: | 1796 if not key_base in non_configuration_keys: |
| 1783 delete_keys.append(key) | 1797 delete_keys.append(key) |
| 1784 for key in delete_keys: | 1798 for key in delete_keys: |
| 1785 del target_dict[key] | 1799 del target_dict[key] |
| 1786 | 1800 |
| 1801 # Check the configurations to see if they contain invalid keys. |
| 1802 for configuration in target_dict['configurations'].keys(): |
| 1803 configuration_dict = target_dict['configurations'][configuration] |
| 1804 for key in configuration_dict.keys(): |
| 1805 if key in invalid_configuration_keys: |
| 1806 raise KeyError, ('%s not allowed in the %s configuration, found in ' |
| 1807 'target %s' % (key, configuration, target)) |
| 1808 |
| 1809 |
| 1787 | 1810 |
| 1788 def ProcessListFiltersInDict(name, the_dict): | 1811 def ProcessListFiltersInDict(name, the_dict): |
| 1789 """Process regular expression and exclusion-based filters on lists. | 1812 """Process regular expression and exclusion-based filters on lists. |
| 1790 | 1813 |
| 1791 An exclusion list is in a dict key named with a trailing "!", like | 1814 An exclusion list is in a dict key named with a trailing "!", like |
| 1792 "sources!". Every item in such a list is removed from the associated | 1815 "sources!". Every item in such a list is removed from the associated |
| 1793 main list, which in this example, would be "sources". Removed items are | 1816 main list, which in this example, would be "sources". Removed items are |
| 1794 placed into a "sources_excluded" list in the dict. | 1817 placed into a "sources_excluded" list in the dict. |
| 1795 | 1818 |
| 1796 Regular expression (regex) filters are contained in dict keys named with a | 1819 Regular expression (regex) filters are contained in dict keys named with a |
| (...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2188 ValidateRunAsInTarget(target, target_dict, build_file) | 2211 ValidateRunAsInTarget(target, target_dict, build_file) |
| 2189 ValidateActionsInTarget(target, target_dict, build_file) | 2212 ValidateActionsInTarget(target, target_dict, build_file) |
| 2190 | 2213 |
| 2191 # Generators might not expect ints. Turn them into strs. | 2214 # Generators might not expect ints. Turn them into strs. |
| 2192 TurnIntIntoStrInDict(data) | 2215 TurnIntIntoStrInDict(data) |
| 2193 | 2216 |
| 2194 # TODO(mark): Return |data| for now because the generator needs a list of | 2217 # TODO(mark): Return |data| for now because the generator needs a list of |
| 2195 # build files that came in. In the future, maybe it should just accept | 2218 # build files that came in. In the future, maybe it should just accept |
| 2196 # a list, and not the whole data dict. | 2219 # a list, and not the whole data dict. |
| 2197 return [flat_list, targets, data] | 2220 return [flat_list, targets, data] |
| OLD | NEW |