ninja windows: Use sys.executable rather than unqualified 'python'

Isolate from the running environment, and make sure we're directly using the correct python binary. Also removes one cmd/c wrapper that's unnecessary since we're launching the binary directly.

R=thakis@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10656004

git-svn-id: http://gyp.googlecode.com/svn/trunk@1420 78cadc50-ecff-11dd-a971-7dbc132099af
ninja windows: workaround for too long names

Hash rule_name/unique_name for now to make the path shorter and get builds working again. We should come up with a better way of doing this in general.

(Jay was running into this problem, and found this to be a reasonable/working workaround)

BUG=276
TEST=

Review URL: https://chromiumcodereview.appspot.com/10665008

git-svn-id: http://gyp.googlecode.com/svn/trunk@1421 78cadc50-ecff-11dd-a971-7dbc132099af
Get ninja working for nacl.

- Add support for .asm files for win32
- Add support for msvs_target_platform
- Update x64 test to actually do something meaningful relative to how we
  use configurations.

BUG=None
TEST=None
R=scottmg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10698023

git-svn-id: http://gyp.googlecode.com/svn/trunk@1422 78cadc50-ecff-11dd-a971-7dbc132099af
ninja windows: check for some required environment variables

If these variables aren't available, some tools error out (unable to create temp files, etc.)

R=thakis@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10733002

git-svn-id: http://gyp.googlecode.com/svn/trunk@1423 78cadc50-ecff-11dd-a971-7dbc132099af
Remove the comment for CONFIGURATION_NAME

It's used for chrome build on Android. Ant needs
to know the build type from this variable:
http://codereview.chromium.org/10669030/

Patch from yongsheng.zhu@intel.com!
Review URL: http://codereview.chromium.org/10661052/

git-svn-id: http://gyp.googlecode.com/svn/trunk@1424 78cadc50-ecff-11dd-a971-7dbc132099af
Preserve the mtime of solibs whose API hasn't changed, and enable ninja restat.

This makes it so that changing component-internal implementation details only
causes the component lib to be rebuilt, not downstream dependencies.

For example touching a content/ .cc file and rebuilding "chrome" causes the .cc
file to be recompiled and the new .o to be relinked into lib/libcontent.so, but
the rebuild ends there, since the chrome binary itself doesn't need to be
relinked.

TEST=The second ninja command in this pipeline doesn't relink chrome: ../ninja chrome && touch content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.cc && ../ninja chrome

Patch from Ami Fischman <fischman@chromium.org>!
Review URL: http://codereview.chromium.org/10578031/

git-svn-id: http://gyp.googlecode.com/svn/trunk@1425 78cadc50-ecff-11dd-a971-7dbc132099af
ninja mac: Smarter dylib linking.

This ports http://code.google.com/p/gyp/source/detail?r=1425 to mac.

Without this change, incremental (release) builds of chrome after
touching a file in:
base: 10.4s
content: 7.7s
chrome: 12.1s

With this change:
base: 1.7s
content: 5.1s
chrome: 12.1s
Review URL: https://chromiumcodereview.appspot.com/10704054

git-svn-id: http://gyp.googlecode.com/svn/trunk@1426 78cadc50-ecff-11dd-a971-7dbc132099af
Switch the default Visual Studio version to 2010.

You can still select 2008 or 2005 by setting GYP_MSVS_VERSION.

When running tests, try 2010 first (python dictionaries are
not sorted).
Review URL: https://chromiumcodereview.appspot.com/10704065

git-svn-id: http://gyp.googlecode.com/svn/trunk@1427 78cadc50-ecff-11dd-a971-7dbc132099af