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

Unified Diff: pylib/gyp/generator/make.py

Issue 11031005: Add "standalone_static_library" flag (Closed) Base URL: http://gyp.googlecode.com/svn/trunk/
Patch Set: Created 8 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pylib/gyp/generator/android.py ('k') | pylib/gyp/generator/msvs.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pylib/gyp/generator/make.py
===================================================================
--- pylib/gyp/generator/make.py (revision 1508)
+++ pylib/gyp/generator/make.py (working copy)
@@ -718,7 +718,7 @@
self.output = self.output_binary = self.ComputeOutput(spec)
self._INSTALLABLE_TARGETS = ('executable', 'loadable_module',
- 'shared_library')
+ 'shared_library', 'standalone_static_library')
if self.type in self._INSTALLABLE_TARGETS:
self.alias = os.path.basename(self.output)
install_path = self._InstallableTargetInstallPath()
@@ -785,7 +785,8 @@
target_outputs[qualified_target] = install_path
# Update global list of link dependencies.
- if self.type in ('static_library', 'shared_library'):
+ if self.type in ('static_library', 'standalone_static_library',
+ 'shared_library'):
target_link_deps[qualified_target] = self.output_binary
# Currently any versions have the same effect, but in future the behavior
@@ -1287,13 +1288,14 @@
assert not self.is_mac_bundle
if self.flavor == 'mac' and self.type in (
- 'static_library', 'executable', 'shared_library', 'loadable_module'):
+ 'static_library', 'executable', 'shared_library', 'loadable_module',
+ 'standalone_static_library'):
return self.xcode_settings.GetExecutablePath()
target = spec['target_name']
target_prefix = ''
target_ext = ''
- if self.type == 'static_library':
+ if self.type in ('static_library', 'standalone_static_library'):
if target[:3] == 'lib':
target = target[3:]
target_prefix = 'lib'
@@ -1320,7 +1322,8 @@
def _InstallImmediately(self):
return self.toolset == 'target' and self.flavor == 'mac' and self.type in (
- 'static_library', 'executable', 'shared_library', 'loadable_module')
+ 'static_library', 'standalone_static_library','executable',
+ 'shared_library', 'loadable_module')
def ComputeOutput(self, spec):
@@ -1534,6 +1537,14 @@
"Spaces in alink input filenames not supported (%s)" % link_dep)
self.WriteDoCmd([self.output_binary], link_deps, 'alink', part_of_all,
postbuilds=postbuilds)
+ elif self.type == 'standalone_static_library':
+ self.WriteLn(
+ 'cmd_alink = rm -f $@ && $(AR.$(TOOLSET)) crs $@ $(filter %.o,$^)')
+ for link_dep in link_deps:
+ assert ' ' not in link_dep, (
+ "Spaces in alink input filenames not supported (%s)" % link_dep)
+ self.WriteDoCmd([self.output_binary], link_deps, 'alink', part_of_all,
+ postbuilds=postbuilds)
borenet 2012/10/01 21:27:48 What should be the behavior when a standalone_stat
elif self.type == 'shared_library':
self.WriteLn('%s: LD_INPUTS := %s' % (
QuoteSpaces(self.output_binary),
@@ -1576,6 +1587,8 @@
if self.type in self._INSTALLABLE_TARGETS:
if self.type == 'shared_library':
file_desc = 'shared library'
+ elif self.type == 'standalone_static_library':
+ file_desc = 'static library'
else:
file_desc = 'executable'
install_path = self._InstallableTargetInstallPath()
@@ -1719,7 +1732,8 @@
link_deps: A list of link dependencies, which must be sorted in
the order from dependencies to dependents.
"""
- if self.type not in ('executable', 'shared_library', 'static_library'):
+ if self.type not in ('executable', 'shared_library', 'static_library',
+ 'standalone_static_library'):
return
self.WriteLn('# Variable definitions for Android applications')
@@ -1784,7 +1798,7 @@
self.WriteLn('include $(BUILD_EXECUTABLE)')
elif self.type == 'shared_library':
self.WriteLn('include $(BUILD_SHARED_LIBRARY)')
- elif self.type == 'static_library':
+ elif self.type in ('static_library', 'standalone_static_library'):
self.WriteLn('include $(BUILD_STATIC_LIBRARY)')
self.WriteLn()
« no previous file with comments | « pylib/gyp/generator/android.py ('k') | pylib/gyp/generator/msvs.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698