summaryrefslogtreecommitdiffstats
path: root/site_scons
diff options
context:
space:
mode:
authorsgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-10 22:22:33 +0000
committersgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-10 22:22:33 +0000
commita7ad74b14339ca330c491631ba27e0aaffbe6429 (patch)
tree7503f78fedc993bb12cb5ef93c7051485691ebb5 /site_scons
parentc2d469d62ff5a8ee42b5c5212488298a182ee30c (diff)
downloadchromium_src-a7ad74b14339ca330c491631ba27e0aaffbe6429.zip
chromium_src-a7ad74b14339ca330c491631ba27e0aaffbe6429.tar.gz
chromium_src-a7ad74b14339ca330c491631ba27e0aaffbe6429.tar.bz2
Updates to Visual Studio project generation to accomodate
recent changes and get rid of cut-and-paste: * Add generation of the new net_resource.vcproj file. * Accomodate the net\net.vsprops file. * New base.vcproj dependency in activex_shim_dll.vcproj. * New tld_cleanup.vcproj dependency in net.vcproj. * New ondemand_updates.vcproj dependencies in gcapi_{dll,lib}.vcproj. * Re-order dump_cache.vcproj dependencies to match new checked-in solutions. * New input file directory layout in zlib (minizip folder) and testing\gtest (hierarchy). * Use a new dest= argument to ChromeMSVSSolution() and ChromeMSVSProject() to get rid of cut-and-pste installation code, and provide a central point for controlling when/whether we want to generate the files only under the build directory, or drop them in place for checking in. * Comment out an unnecessarily verbose warning if the buildtarget is executed with an action that we don't map to specific Visual Studio settings. Sometimes this is normal and okay, but the warning should get restored at some point when we work out the precise conditions under which it makes sense. Review URL: http://codereview.chromium.org/17602 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7856 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'site_scons')
-rw-r--r--site_scons/site_tools/_Node_MSVS.py10
-rw-r--r--site_scons/site_tools/chromium_builders.py28
2 files changed, 35 insertions, 3 deletions
diff --git a/site_scons/site_tools/_Node_MSVS.py b/site_scons/site_tools/_Node_MSVS.py
index b421de2..e0876ba 100644
--- a/site_scons/site_tools/_Node_MSVS.py
+++ b/site_scons/site_tools/_Node_MSVS.py
@@ -963,6 +963,9 @@ class _MSVSProject(SCons.Node.FS.File):
base_tool = self.cl_to_tool(base_cl)
file_tool = self.cl_to_tool(file_cl)
+ if not base_tool or not_file_tool:
+ return
+
file_tool.diff(base_tool)
self.AddFileConfig(source, name, tools=[file_tool])
@@ -985,7 +988,12 @@ class _MSVSProject(SCons.Node.FS.File):
if default_tool:
tool.diff(default_tool)
else:
- print "no tool for %r" % bt_cl[0]
+ # TODO(sgk): print a message unconditionally is too
+ # verbose for things like Python function actions,
+ # but doing nothing runs the risk of burying problems.
+ # Work out a better solution.
+ #print "no tool for %r" % bt_cl[0]
+ pass
for t in bt.sources:
e = t.get_build_env()
additional_files = SCons.Util.UniqueList()
diff --git a/site_scons/site_tools/chromium_builders.py b/site_scons/site_tools/chromium_builders.py
index 7ee8928..ff25bde 100644
--- a/site_scons/site_tools/chromium_builders.py
+++ b/site_scons/site_tools/chromium_builders.py
@@ -8,6 +8,8 @@ wrappers around Hammer builders. This gives us a central place for any
customization we need to make to the different things we build.
"""
+from SCons.Script import *
+
import SCons.Node
import _Node_MSVS as MSVS
@@ -103,12 +105,34 @@ def ChromeMSVSFolder(env, *args, **kw):
def ChromeMSVSProject(env, *args, **kw):
if not env.Bit('msvs'):
return Null()
- return env.MSVSProject(*args, **kw)
+ try:
+ dest = kw['dest']
+ except KeyError:
+ dest = None
+ else:
+ del kw['dest']
+ result = env.MSVSProject(*args, **kw)
+ env.AlwaysBuild(result)
+ if dest:
+ i = env.Command(dest, result, Copy('$TARGET', '$SOURCE'))
+ Alias('msvs', i)
+ return result
def ChromeMSVSSolution(env, *args, **kw):
if not env.Bit('msvs'):
return Null()
- return env.MSVSSolution(*args, **kw)
+ try:
+ dest = kw['dest']
+ except KeyError:
+ dest = None
+ else:
+ del kw['dest']
+ result = env.MSVSSolution(*args, **kw)
+ env.AlwaysBuild(result)
+ if dest:
+ i = env.Command(dest, result, Copy('$TARGET', '$SOURCE'))
+ Alias('msvs', i)
+ return result
def generate(env):
env.AddMethod(ChromeProgram)