make: Support spaces in filenames in bundle names.

Part 1. All changes in this CL are covered by tests, leaving out any single
thing makes one of the tests in the tests/mac directory fail.

Changes:

* Replace ' ' with '\ ' for some makefile rules, assert neither name nor
  dependency contains a space in the other cases. I looked at all callers
  of WriteDoCmd() and WriteMakeRule().

* In particular, self.output and self.output_binary always have '\ ' for spaces

* Quote a few things:
+ cmd_link: For app bundles with spaces (e.g. "chromium helper") 
+ cmd_solink: For framework bundles with spaces (e.g. "chromium framework") 

* Schwartz transform the make "dir" function to handle spaces

* I couldn't find a way to let the make functions "wildcard" et al work with
  spaces. They're used only for .d file handling, so .d filenames have their
  spaces replaced with a non-space character. That's true for the
  dependencies checked by "command_changed" as well.
Review URL: http://codereview.chromium.org/7410010

git-svn-id: http://gyp.googlecode.com/svn/trunk@963 78cadc50-ecff-11dd-a971-7dbc132099af
Allow for the possibility that msvs2010 is installed on e:\

BUG=None
TEST=None
R=bevc@chromium.org
Review URL: http://codereview.chromium.org/7433014

git-svn-id: http://gyp.googlecode.com/svn/trunk@964 78cadc50-ecff-11dd-a971-7dbc132099af
make: Support spaces in library names.

Some files link to "Chromium Framework", so this needs to be supported.

$^ does not support quoted spaces, so use an explicit variable instead of
$^ for libraries on mac.

Half-TBR=evan
Review URL: http://codereview.chromium.org/7443007

git-svn-id: http://gyp.googlecode.com/svn/trunk@965 78cadc50-ecff-11dd-a971-7dbc132099af
make: Support spaces in paths of "copies" rules.

Also rm directories before copying them. Bundles contain symlinks,
and `cp -af` doesn't handle these correcty. (It fails on the third
run, which made incremental builds mysteriously flaky.) Add a test
that proves this is necessary.
Review URL: http://codereview.chromium.org/7451001

git-svn-id: http://gyp.googlecode.com/svn/trunk@966 78cadc50-ecff-11dd-a971-7dbc132099af
make: Add support for 'postbuilds' for bundles.
Review URL: http://codereview.chromium.org/7457006

git-svn-id: http://gyp.googlecode.com/svn/trunk@967 78cadc50-ecff-11dd-a971-7dbc132099af
make: Don't crash on 'settings' sections.

Reported by Tony Chang <tony@chromium.org>
Review URL: http://codereview.chromium.org/7467006/

git-svn-id: http://gyp.googlecode.com/svn/trunk@969 78cadc50-ecff-11dd-a971-7dbc132099af
Make new settings test not run for xcode generator.

TBR=evan
Review URL: http://codereview.chromium.org/7472006

git-svn-id: http://gyp.googlecode.com/svn/trunk@970 78cadc50-ecff-11dd-a971-7dbc132099af
make: Export env vars for actions, plists, postbuilds on mac.

Also make sure the newly-exported $TEMP_DIR exists when running actions.
Review URL: http://codereview.chromium.org/7468014

git-svn-id: http://gyp.googlecode.com/svn/trunk@971 78cadc50-ecff-11dd-a971-7dbc132099af
Remove a TODO that's been fixed upstream.
Review URL: http://codereview.chromium.org/7464019

git-svn-id: http://gyp.googlecode.com/svn/trunk@972 78cadc50-ecff-11dd-a971-7dbc132099af
make: Add DEAD_CODE_STRIPPING support for mac

TBR=evan
Review URL: http://codereview.chromium.org/7464034

git-svn-id: http://gyp.googlecode.com/svn/trunk@973 78cadc50-ecff-11dd-a971-7dbc132099af
Fixing gyptest-settings for scons.

BUG=None
TEST=gyptest-settings
R=thakis@chromium.org
Review URL: http://codereview.chromium.org/7479001

git-svn-id: http://gyp.googlecode.com/svn/trunk@974 78cadc50-ecff-11dd-a971-7dbc132099af
make: Add support for DYLIB_COMPATIBILITY_VERSION and DYLIB_CURRENT_VERSION.

Chromium goes through the trouble of setting this in its gyp files, so I
suppose it's good for something :-)

BUG=http://crbug.com/90053
Review URL: http://codereview.chromium.org/7461057

git-svn-id: http://gyp.googlecode.com/svn/trunk@975 78cadc50-ecff-11dd-a971-7dbc132099af
Workareas on the bots aren't being cleaned up between runs (when specified
explicitly to work around msvs).
Move all work areas under out/.
Select a temp directory under that.
Clobber out/ on each buildbot run.

BUG=Flaky gypbot
TEST=None
Review URL: http://codereview.chromium.org/7447003

git-svn-id: http://gyp.googlecode.com/svn/trunk@976 78cadc50-ecff-11dd-a971-7dbc132099af
Rename the dependency dumper to use '_' instead of '-' to be able to use it.
This is needed as gyp/__init__.py:Load() splits on '-'.

TEST=Try gyp -fdump-dependency-json xxx.gyp

Patch by Stefan Sauer <ensonic@google.com>.

Review URL: http://codereview.chromium.org/7466032

git-svn-id: http://gyp.googlecode.com/svn/trunk@977 78cadc50-ecff-11dd-a971-7dbc132099af
make: Make XcodeSettings per-target instead of per-configuration, part 1.

This makes it possible to move all the bundle path logic into XcodeSettings,
which is required if xcode_config_file ever needs to be supported. It will
also make it easier to eventually write a ninja generator, and it's
required if GetLdFlags() needs to read the results of GetXcodeEnv() (which
will be moved into XcodeSettings, too).

BUG=http://crbug.com/90043, http://crbug.com/90199
Review URL: http://codereview.chromium.org/7493049

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

Some of the tests that chdir around complain that the `mkdir` call for the temporary directory fails. As a workaround, use the system TMPDIR instead, which always exists already.

(I noticed go/gypbot doesn't run tests for the make generator on mac. That's being fixed now.)
Review URL: http://codereview.chromium.org/7530006

git-svn-id: http://gyp.googlecode.com/svn/trunk@979 78cadc50-ecff-11dd-a971-7dbc132099af
Switching on make tests for xcode.

BUG=None
TEST=None
R=thakis@chromium.org
Review URL: http://codereview.chromium.org/7474002

git-svn-id: http://gyp.googlecode.com/svn/trunk@980 78cadc50-ecff-11dd-a971-7dbc132099af
make: Move more path / env logic into XcodeSettings.
Review URL: http://codereview.chromium.org/7522026

git-svn-id: http://gyp.googlecode.com/svn/trunk@981 78cadc50-ecff-11dd-a971-7dbc132099af
Applying conditionals for toolsets after condition processing.

BUG=None
TEST=None
R=jkummerow@chromium.org
Review URL: http://codereview.chromium.org/7540007

git-svn-id: http://gyp.googlecode.com/svn/trunk@982 78cadc50-ecff-11dd-a971-7dbc132099af
This will cause gyp to chop up targets marked with 'msvs_shard': SHARDS into
multiple sub-libaries on windows. This helps work around link limitations
when doing link time code generation (release builds).

BUG=http://code.google.com/p/chromium/issues/detail?id=91106
TEST=None
R=mark@chromium.org
Review URL: http://codereview.chromium.org/7540014

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