diff options
author | sgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-10 22:22:33 +0000 |
---|---|---|
committer | sgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-10 22:22:33 +0000 |
commit | a7ad74b14339ca330c491631ba27e0aaffbe6429 (patch) | |
tree | 7503f78fedc993bb12cb5ef93c7051485691ebb5 /site_scons | |
parent | c2d469d62ff5a8ee42b5c5212488298a182ee30c (diff) | |
download | chromium_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.py | 10 | ||||
-rw-r--r-- | site_scons/site_tools/chromium_builders.py | 28 |
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) |