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

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

Issue 10795044: Support Mac android cross compile. Base URL: http://gyp.googlecode.com/svn/trunk/
Patch Set: Created 8 years, 4 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
OLDNEW
1 # Copyright (c) 2012 Google Inc. All rights reserved. 1 # Copyright (c) 2012 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 # Notes: 5 # Notes:
6 # 6 #
7 # This is all roughly based on the Makefile system used by the Linux 7 # This is all roughly based on the Makefile system used by the Linux
8 # kernel, but is a non-recursive make -- we put the entire dependency 8 # kernel, but is a non-recursive make -- we put the entire dependency
9 # graph in front of make and let it figure it out. 9 # graph in front of make and let it figure it out.
10 # 10 #
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 55
56 # Placates pylint. 56 # Placates pylint.
57 generator_additional_non_configuration_keys = [] 57 generator_additional_non_configuration_keys = []
58 generator_additional_path_sections = [] 58 generator_additional_path_sections = []
59 generator_extra_sources_for_rules = [] 59 generator_extra_sources_for_rules = []
60 60
61 61
62 def CalculateVariables(default_variables, params): 62 def CalculateVariables(default_variables, params):
63 """Calculate additional variables for use in the build (called by gyp).""" 63 """Calculate additional variables for use in the build (called by gyp)."""
64 flavor = gyp.common.GetFlavor(params) 64 flavor = gyp.common.GetFlavor(params)
65 default_variables.setdefault('HOST_OS', gyp.common.GetHostFlavor(params))
65 if flavor == 'mac': 66 if flavor == 'mac':
66 default_variables.setdefault('OS', 'mac') 67 default_variables.setdefault('OS', 'mac')
67 default_variables.setdefault('SHARED_LIB_SUFFIX', '.dylib') 68 default_variables.setdefault('SHARED_LIB_SUFFIX', '.dylib')
68 default_variables.setdefault('SHARED_LIB_DIR', 69 default_variables.setdefault('SHARED_LIB_DIR',
69 generator_default_variables['PRODUCT_DIR']) 70 generator_default_variables['PRODUCT_DIR'])
70 default_variables.setdefault('LIB_DIR', 71 default_variables.setdefault('LIB_DIR',
71 generator_default_variables['PRODUCT_DIR']) 72 generator_default_variables['PRODUCT_DIR'])
72 73
73 # Copy additional generator configuration data from Xcode, which is shared 74 # Copy additional generator configuration data from Xcode, which is shared
74 # by the Mac Make generator. 75 # by the Mac Make generator.
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 quiet_cmd_solink = SOLINK($(TOOLSET)) $@ 169 quiet_cmd_solink = SOLINK($(TOOLSET)) $@
169 cmd_solink = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS) 170 cmd_solink = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS)
170 171
171 # TODO(thakis): The solink_module rule is likely wrong. Xcode seems to pass 172 # TODO(thakis): The solink_module rule is likely wrong. Xcode seems to pass
172 # -bundle -single_module here (for osmesa.so). 173 # -bundle -single_module here (for osmesa.so).
173 quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@ 174 quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@
174 cmd_solink_module = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSE T)) -o $@ $(filter-out FORCE_DO_CMD, $^) $(LIBS) 175 cmd_solink_module = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSE T)) -o $@ $(filter-out FORCE_DO_CMD, $^) $(LIBS)
175 """ 176 """
176 177
177 LINK_COMMANDS_ANDROID = """\ 178 LINK_COMMANDS_ANDROID = """\
178 quiet_cmd_alink = AR($(TOOLSET)) $@ 179 quiet_cmd_alink_target = AR($(TOOLSET)) $@
179 cmd_alink = rm -f $@ && $(AR.$(TOOLSET)) $(ARFLAGS.$(TOOLSET)) $@ $(filter %.o,$ ^) 180 cmd_alink_target = rm -f $@ && $(AR.$(TOOLSET)) $(ARFLAGS.$(TOOLSET)) $@ $(filte r %.o,$^)
180 181
181 # Due to circular dependencies between libraries :(, we wrap the 182 # Due to circular dependencies between libraries :(, we wrap the
182 # special "figure out circular dependencies" flags around the entire 183 # special "figure out circular dependencies" flags around the entire
183 # input list during linking. 184 # input list during linking.
184 quiet_cmd_link = LINK($(TOOLSET)) $@ 185 quiet_cmd_link_target = LINK($(TOOLSET)) $@
185 quiet_cmd_link_host = LINK($(TOOLSET)) $@ 186 cmd_link_target = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS)
186 cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--s tart-group $(LD_INPUTS) -Wl,--end-group $(LIBS)
187 cmd_link_host = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $( LD_INPUTS) $(LIBS)
188 187
189 # Other shared-object link notes: 188 # Other shared-object link notes:
190 # - Set SONAME to the library filename so our binaries don't reference 189 # - Set SONAME to the library filename so our binaries don't reference
191 # the local, absolute paths used on the link command-line. 190 # the local, absolute paths used on the link command-line.
192 quiet_cmd_solink = SOLINK($(TOOLSET)) $@ 191 quiet_cmd_solink_target = SOLINK($(TOOLSET)) $@
193 cmd_solink = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl ,-soname=$(@F) -o $@ -Wl,--whole-archive $(LD_INPUTS) -Wl,--no-whole-archive $(L IBS) 192 cmd_solink_target = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSE T)) -Wl,-soname=$(@F) -o $@ -Wl,--whole-archive $(LD_INPUTS) -Wl,--no-whole-arch ive $(LIBS)
194 193
195 quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@ 194 quiet_cmd_solink_module_target = SOLINK_MODULE($(TOOLSET)) $@
196 cmd_solink_module = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSE T)) -Wl,-soname=$(@F) -o $@ -Wl,--start-group $(filter-out FORCE_DO_CMD, $^) -Wl ,--end-group $(LIBS) 195 cmd_solink_module_target = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$ (TOOLSET)) -Wl,-soname=$(@F) -o $@ -Wl,--start-group $(filter-out FORCE_DO_CMD, $^) -Wl,--end-group $(LIBS)
197 quiet_cmd_solink_module_host = SOLINK_MODULE($(TOOLSET)) $@
198 cmd_solink_module_host = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(T OOLSET)) -Wl,-soname=$(@F) -o $@ $(filter-out FORCE_DO_CMD, $^) $(LIBS)
199 """ 196 """
200 197
201 198
202 # Header of toplevel Makefile. 199 # Header of toplevel Makefile.
203 # This should go into the build tree, but it's easier to keep it here for now. 200 # This should go into the build tree, but it's easier to keep it here for now.
204 SHARED_HEADER = ("""\ 201 SHARED_HEADER = ("""\
205 # We borrow heavily from the kernel build setup, though we are simpler since 202 # We borrow heavily from the kernel build setup, though we are simpler since
206 # we don't have Kconfig tweaking settings on us. 203 # we don't have Kconfig tweaking settings on us.
207 204
208 # The implicit make rules have it looking for RCS files, among other things. 205 # The implicit make rules have it looking for RCS files, among other things.
(...skipping 1290 matching lines...) Expand 10 before | Expand all | Expand 10 after
1499 if postbuilds: 1496 if postbuilds:
1500 assert not self.is_mac_bundle, ('Postbuilds for bundles should be done ' 1497 assert not self.is_mac_bundle, ('Postbuilds for bundles should be done '
1501 'on the bundle, not the binary (target \'%s\')' % self.target) 1498 'on the bundle, not the binary (target \'%s\')' % self.target)
1502 assert 'product_dir' not in spec, ('Postbuilds do not work with ' 1499 assert 'product_dir' not in spec, ('Postbuilds do not work with '
1503 'custom product_dir') 1500 'custom product_dir')
1504 1501
1505 if self.type == 'executable': 1502 if self.type == 'executable':
1506 self.WriteLn('%s: LD_INPUTS := %s' % ( 1503 self.WriteLn('%s: LD_INPUTS := %s' % (
1507 QuoteSpaces(self.output_binary), 1504 QuoteSpaces(self.output_binary),
1508 ' '.join(map(QuoteSpaces, link_deps)))) 1505 ' '.join(map(QuoteSpaces, link_deps))))
1509 if self.toolset == 'host' and self.flavor == 'android': 1506 if self.toolset == 'target' and self.flavor == 'android':
1510 self.WriteDoCmd([self.output_binary], link_deps, 'link_host', 1507 self.WriteDoCmd([self.output_binary], link_deps, 'link_target',
1511 part_of_all, postbuilds=postbuilds) 1508 part_of_all, postbuilds=postbuilds)
1512 else: 1509 else:
1513 self.WriteDoCmd([self.output_binary], link_deps, 'link', part_of_all, 1510 self.WriteDoCmd([self.output_binary], link_deps, 'link', part_of_all,
1514 postbuilds=postbuilds) 1511 postbuilds=postbuilds)
1515 1512
1516 elif self.type == 'static_library': 1513 elif self.type == 'static_library':
1517 for link_dep in link_deps: 1514 for link_dep in link_deps:
1518 assert ' ' not in link_dep, ( 1515 assert ' ' not in link_dep, (
1519 "Spaces in alink input filenames not supported (%s)" % link_dep) 1516 "Spaces in alink input filenames not supported (%s)" % link_dep)
1520 self.WriteDoCmd([self.output_binary], link_deps, 'alink', part_of_all, 1517 if self.toolset == 'target' and self.flavor == 'android':
1521 postbuilds=postbuilds) 1518 self.WriteDoCmd([self.output_binary], link_deps, 'alink_target',
1519 part_of_all, postbuilds=postbuilds)
1520 else:
1521 self.WriteDoCmd([self.output_binary], link_deps, 'alink', part_of_all,
1522 postbuilds=postbuilds)
1523
1522 elif self.type == 'shared_library': 1524 elif self.type == 'shared_library':
1523 self.WriteLn('%s: LD_INPUTS := %s' % ( 1525 self.WriteLn('%s: LD_INPUTS := %s' % (
1524 QuoteSpaces(self.output_binary), 1526 QuoteSpaces(self.output_binary),
1525 ' '.join(map(QuoteSpaces, link_deps)))) 1527 ' '.join(map(QuoteSpaces, link_deps))))
1526 self.WriteDoCmd([self.output_binary], link_deps, 'solink', part_of_all, 1528 if self.toolset == 'target' and self.flavor == 'android':
1527 postbuilds=postbuilds) 1529 self.WriteDoCmd([self.output_binary], link_deps, 'solink_target',
1530 part_of_all, postbuilds=postbuilds)
1531 else:
1532 self.WriteDoCmd([self.output_binary], link_deps, 'solink', part_of_all,
1533 postbuilds=postbuilds)
1528 elif self.type == 'loadable_module': 1534 elif self.type == 'loadable_module':
1529 for link_dep in link_deps: 1535 for link_dep in link_deps:
1530 assert ' ' not in link_dep, ( 1536 assert ' ' not in link_dep, (
1531 "Spaces in module input filenames not supported (%s)" % link_dep) 1537 "Spaces in module input filenames not supported (%s)" % link_dep)
1532 if self.toolset == 'host' and self.flavor == 'android': 1538 if self.toolset == 'target' and self.flavor == 'android':
1533 self.WriteDoCmd([self.output_binary], link_deps, 'solink_module_host', 1539 self.WriteDoCmd([self.output_binary], link_deps, 'solink_module_target',
1534 part_of_all, postbuilds=postbuilds) 1540 part_of_all, postbuilds=postbuilds)
1535 else: 1541 else:
1536 self.WriteDoCmd( 1542 self.WriteDoCmd(
1537 [self.output_binary], link_deps, 'solink_module', part_of_all, 1543 [self.output_binary], link_deps, 'solink_module', part_of_all,
1538 postbuilds=postbuilds) 1544 postbuilds=postbuilds)
1539 elif self.type == 'none': 1545 elif self.type == 'none':
1540 # Write a stamp line. 1546 # Write a stamp line.
1541 self.WriteDoCmd([self.output_binary], deps, 'touch', part_of_all, 1547 self.WriteDoCmd([self.output_binary], deps, 'touch', part_of_all,
1542 postbuilds=postbuilds) 1548 postbuilds=postbuilds)
1543 else: 1549 else:
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
1912 cc_command=cc_host): 1918 cc_command=cc_host):
1913 arflags_host = 'crsT' 1919 arflags_host = 'crsT'
1914 1920
1915 return { 'ARFLAGS.target': arflags_target, 1921 return { 'ARFLAGS.target': arflags_target,
1916 'ARFLAGS.host': arflags_host } 1922 'ARFLAGS.host': arflags_host }
1917 1923
1918 1924
1919 def GenerateOutput(target_list, target_dicts, data, params): 1925 def GenerateOutput(target_list, target_dicts, data, params):
1920 options = params['options'] 1926 options = params['options']
1921 flavor = gyp.common.GetFlavor(params) 1927 flavor = gyp.common.GetFlavor(params)
1928 host_flavor = gyp.common.GetHostFlavor(params)
1922 generator_flags = params.get('generator_flags', {}) 1929 generator_flags = params.get('generator_flags', {})
1923 builddir_name = generator_flags.get('output_dir', 'out') 1930 builddir_name = generator_flags.get('output_dir', 'out')
1924 android_ndk_version = generator_flags.get('android_ndk_version', None) 1931 android_ndk_version = generator_flags.get('android_ndk_version', None)
1925 default_target = generator_flags.get('default_target', 'all') 1932 default_target = generator_flags.get('default_target', 'all')
1926 1933
1927 def CalculateMakefilePath(build_file, base_name): 1934 def CalculateMakefilePath(build_file, base_name):
1928 """Determine where to write a Makefile for a given gyp file.""" 1935 """Determine where to write a Makefile for a given gyp file."""
1929 # Paths in gyp files are relative to the .gyp file, but we want 1936 # Paths in gyp files are relative to the .gyp file, but we want
1930 # paths relative to the source root for the master makefile. Grab 1937 # paths relative to the source root for the master makefile. Grab
1931 # the path of the .gyp file as the base to relativize against. 1938 # the path of the .gyp file as the base to relativize against.
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1966 header_params = { 1973 header_params = {
1967 'default_target': default_target, 1974 'default_target': default_target,
1968 'builddir': builddir_name, 1975 'builddir': builddir_name,
1969 'default_configuration': default_configuration, 1976 'default_configuration': default_configuration,
1970 'flock': flock_command, 1977 'flock': flock_command,
1971 'flock_index': 1, 1978 'flock_index': 1,
1972 'link_commands': LINK_COMMANDS_LINUX, 1979 'link_commands': LINK_COMMANDS_LINUX,
1973 'extra_commands': '', 1980 'extra_commands': '',
1974 'srcdir': srcdir, 1981 'srcdir': srcdir,
1975 } 1982 }
1976 if flavor == 'mac': 1983 if host_flavor == 'mac':
1977 flock_command = './gyp-mac-tool flock' 1984 flock_command = './gyp-mac-tool flock'
1978 header_params.update({ 1985 header_params.update({
1979 'flock': flock_command, 1986 'flock': flock_command,
1980 'flock_index': 2, 1987 'flock_index': 2,
1981 'link_commands': LINK_COMMANDS_MAC, 1988 'link_commands': LINK_COMMANDS_MAC,
1989 })
1990 elif host_flavor == 'solaris':
1991 flock_command = './gyp-sun-tool flock',
1992 header_params.update({
1993 'flock': flock_command,
1994 'flock_index': 2,
1995 })
1996 elif host_flavor == 'freebsd':
1997 flock_command = 'lockf',
1998 header_params.update({
1999 'flock': flock_command,
2000 })
2001
2002 if flavor == 'mac':
2003 header_params.update({
1982 'extra_commands': SHARED_HEADER_MAC_COMMANDS, 2004 'extra_commands': SHARED_HEADER_MAC_COMMANDS,
1983 }) 2005 })
2006 elif flavor == 'solaris':
2007 header_params.update({
2008 'extra_commands': SHARED_HEADER_SUN_COMMANDS,
2009 })
1984 elif flavor == 'android': 2010 elif flavor == 'android':
1985 header_params.update({ 2011 header_params.update({
1986 'link_commands': LINK_COMMANDS_ANDROID, 2012 'extra_commands': LINK_COMMANDS_ANDROID,
1987 })
1988 elif flavor == 'solaris':
1989 header_params.update({
1990 'flock': './gyp-sun-tool flock',
1991 'flock_index': 2,
1992 'extra_commands': SHARED_HEADER_SUN_COMMANDS,
1993 })
1994 elif flavor == 'freebsd':
1995 header_params.update({
1996 'flock': 'lockf',
1997 }) 2013 })
1998 2014
1999 header_params.update(RunSystemTests(flavor)) 2015 header_params.update(RunSystemTests(flavor))
2000 header_params.update({ 2016 header_params.update({
2001 'CC.target': GetEnvironFallback(('CC_target', 'CC'), '$(CC)'), 2017 'CC.target': GetEnvironFallback(('CC_target', 'CC'), '$(CC)'),
2002 'AR.target': GetEnvironFallback(('AR_target', 'AR'), '$(AR)'), 2018 'AR.target': GetEnvironFallback(('AR_target', 'AR'), '$(AR)'),
2003 'CXX.target': GetEnvironFallback(('CXX_target', 'CXX'), '$(CXX)'), 2019 'CXX.target': GetEnvironFallback(('CXX_target', 'CXX'), '$(CXX)'),
2004 'LINK.target': GetEnvironFallback(('LD_target', 'LD'), '$(LINK)'), 2020 'LINK.target': GetEnvironFallback(('LD_target', 'LD'), '$(LINK)'),
2005 'CC.host': GetEnvironFallback(('CC_host',), 'gcc'), 2021 'CC.host': GetEnvironFallback(('CC_host',), 'gcc'),
2006 'AR.host': GetEnvironFallback(('AR_host',), 'ar'), 2022 'AR.host': GetEnvironFallback(('AR_host',), 'ar'),
2007 'CXX.host': GetEnvironFallback(('CXX_host',), 'g++'), 2023 'CXX.host': GetEnvironFallback(('CXX_host',), 'g++'),
2008 'LINK.host': GetEnvironFallback(('LD_host',), 'g++'), 2024 'LINK.host': GetEnvironFallback(('LD_host',), 'g++'),
2009 }) 2025 })
2010 2026
2011 build_file, _, _ = gyp.common.ParseQualifiedTarget(target_list[0]) 2027 build_file, _, _ = gyp.common.ParseQualifiedTarget(target_list[0])
2012 make_global_settings_array = data[build_file].get('make_global_settings', []) 2028 make_global_settings_array = data[build_file].get('make_global_settings', [])
2013 make_global_settings = '' 2029 make_global_settings = ''
2014 for key, value in make_global_settings_array: 2030 for key, value in make_global_settings_array:
2015 if value[0] != '$': 2031 if value[0] != '$':
2016 value = '$(abspath %s)' % value 2032 value = '$(abspath %s)' % value
2017 if key == 'LINK': 2033 if key == 'LINK':
2018 make_global_settings += ('%s ?= %s $(builddir)/linker.lock %s\n' % 2034 make_global_settings += ('%s ?= %s $(builddir)/linker.lock %s\n' %
2019 (key, flock_command, value)) 2035 (key, flock_command, value))
2020 elif key in ('CC', 'CC.host', 'CXX', 'CXX.host'): 2036 elif key in ('CC', 'CC.host', 'CXX', 'CXX.host', 'AR', 'AR.host'):
2021 make_global_settings += ( 2037 make_global_settings += (
2022 'ifneq (,$(filter $(origin %s), undefined default))\n' % key) 2038 'ifneq (,$(filter $(origin %s), undefined default))\n' % key)
2023 # Let gyp-time envvars win over global settings. 2039 # Let gyp-time envvars win over global settings.
2024 if key in os.environ: 2040 if key in os.environ:
2025 value = os.environ[key] 2041 value = os.environ[key]
2026 make_global_settings += ' %s = %s\n' % (key, value) 2042 make_global_settings += ' %s = %s\n' % (key, value)
2027 make_global_settings += 'endif\n' 2043 make_global_settings += 'endif\n'
2028 else: 2044 else:
2029 make_global_settings += '%s ?= %s\n' % (key, value) 2045 make_global_settings += '%s ?= %s\n' % (key, value)
2030 header_params['make_global_settings'] = make_global_settings 2046 header_params['make_global_settings'] = make_global_settings
2031 2047
2032 ensure_directory_exists(makefile_path) 2048 ensure_directory_exists(makefile_path)
2033 root_makefile = open(makefile_path, 'w') 2049 root_makefile = open(makefile_path, 'w')
2034 root_makefile.write(SHARED_HEADER % header_params) 2050 root_makefile.write(SHARED_HEADER % header_params)
2035 # Currently any versions have the same effect, but in future the behavior 2051 # Currently any versions have the same effect, but in future the behavior
2036 # could be different. 2052 # could be different.
2037 if android_ndk_version: 2053 if android_ndk_version:
2038 root_makefile.write( 2054 root_makefile.write(
2039 '# Define LOCAL_PATH for build of Android applications.\n' 2055 '# Define LOCAL_PATH for build of Android applications.\n'
2040 'LOCAL_PATH := $(call my-dir)\n' 2056 'LOCAL_PATH := $(call my-dir)\n'
2041 '\n') 2057 '\n')
2042 for toolset in toolsets: 2058 for toolset in toolsets:
2043 root_makefile.write('TOOLSET := %s\n' % toolset) 2059 root_makefile.write('TOOLSET := %s\n' % toolset)
2044 WriteRootHeaderSuffixRules(root_makefile) 2060 WriteRootHeaderSuffixRules(root_makefile)
2045 2061
2046 # Put build-time support tools next to the root Makefile. 2062 # Put build-time support tools next to the root Makefile.
2047 dest_path = os.path.dirname(makefile_path) 2063 dest_path = os.path.dirname(makefile_path)
2048 gyp.common.CopyTool(flavor, dest_path) 2064 gyp.common.CopyTool(host_flavor, dest_path)
2049 2065
2050 # Find the list of targets that derive from the gyp file(s) being built. 2066 # Find the list of targets that derive from the gyp file(s) being built.
2051 needed_targets = set() 2067 needed_targets = set()
2052 for build_file in params['build_files']: 2068 for build_file in params['build_files']:
2053 for target in gyp.common.AllTargets(target_list, target_dicts, build_file): 2069 for target in gyp.common.AllTargets(target_list, target_dicts, build_file):
2054 needed_targets.add(target) 2070 needed_targets.add(target)
2055 2071
2056 build_files = set() 2072 build_files = set()
2057 include_list = set() 2073 include_list = set()
2058 for qualified_target in target_list: 2074 for qualified_target in target_list:
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
2135 root_makefile.write(" include " + include_file + "\n") 2151 root_makefile.write(" include " + include_file + "\n")
2136 root_makefile.write("endif\n") 2152 root_makefile.write("endif\n")
2137 root_makefile.write('\n') 2153 root_makefile.write('\n')
2138 2154
2139 if generator_flags.get('auto_regeneration', True): 2155 if generator_flags.get('auto_regeneration', True):
2140 WriteAutoRegenerationRule(params, root_makefile, makefile_name, build_files) 2156 WriteAutoRegenerationRule(params, root_makefile, makefile_name, build_files)
2141 2157
2142 root_makefile.write(SHARED_FOOTER) 2158 root_makefile.write(SHARED_FOOTER)
2143 2159
2144 root_makefile.close() 2160 root_makefile.close()
OLDNEW
« pylib/gyp/common.py ('K') | « pylib/gyp/common.py ('k') | pylib/gyp/generator/ninja.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698