Two overflows when many actions are in one target/one script.

1. Commands were previously joined with &&, which resulted in the command line being too long
2. cygwin's setup_env.bat was called for each command. This prepends to PATH, which also grows too long.

To fix #1, join the commands by checking errorlevel at each step. To fix #2, only do the path cygwin setup on the first action.

BUG=gyp:261

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

git-svn-id: http://gyp.googlecode.com/svn/trunk@1378 78cadc50-ecff-11dd-a971-7dbc132099af
msvs: error out on actions w/o inputs

r1378 broke on ninja, not because of command line too long, but because there was no inputs specified in the actions.

Add inputs block to the actions in previously added test, make msvs error out in the same way as other generators. Add verification to input.py.

R=thakis@chromium.org

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

git-svn-id: http://gyp.googlecode.com/svn/trunk@1379 78cadc50-ecff-11dd-a971-7dbc132099af
ninja: Change the default target from 'build everything' to 'build target "all"'.

'all' are all targets transitively referenced by all.gyp.  For example:

all.gyp:
  targets: [
    {
      'target_name': 'main_target',
      'dependencies': [
        'dep.gyp:target1',
      ],
    },
  ]

dep.gyp:
  targets: [
    { 'target_name': 'target1' },
    { 'target_name': 'target2' },
  ]

Here, 'all' does include target1 from dep.gyp, but not target2.
The generator still writes a ninja file for target2, and it can
be built with 'ninja target2', but just 'ninja' will no longer
build it.

BUG=127952
TEST=Running just `ninja -C out/Release` doesn't produce errors.
Review URL: https://chromiumcodereview.appspot.com/10399055

git-svn-id: http://gyp.googlecode.com/svn/trunk@1380 78cadc50-ecff-11dd-a971-7dbc132099af
msvs: fix regression in r1378, environment not set up properly for multiple actions on one input

The previous method (only setup on first iteration of loop) didn't respect
that the actions might be distributed across multiple input files, which are
run as separate commands. Instead, only do setup_env for first action for a
given input.

R=grt@chromium.org,jeanluc@chromium.org
BUG=gyp:261

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

git-svn-id: http://gyp.googlecode.com/svn/trunk@1381 78cadc50-ecff-11dd-a971-7dbc132099af
msvs: add some touches to many-actions test to make sure incremental works correctly

Per discussion here: https://chromiumcodereview.appspot.com/10387164/

R=jeanluc@chromium.org

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

git-svn-id: http://gyp.googlecode.com/svn/trunk@1382 78cadc50-ecff-11dd-a971-7dbc132099af
Revert r1362: MSVS 2008: Fix to ensure that actions are re-run when the command changes

This change caused a performance regression in the Windows incremental
build on the Chromium bots, because the bots are deleting the new
.gypcmd files from the source tree between runs, which triggers a lot
of rebuilding.

It's not practical to add the .gypcmd files to all the svn:ignore
lists, so I'm reverting the change until we find a better solution.

BUG=http://code.google.com/p/gyp/issues/detail?id=262
TEST=trybots

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

git-svn-id: http://gyp.googlecode.com/svn/trunk@1383 78cadc50-ecff-11dd-a971-7dbc132099af
mac ninja and make: Add support for GCC_ENABLE_OBJC_GC.
Review URL: https://chromiumcodereview.appspot.com/10409007

git-svn-id: http://gyp.googlecode.com/svn/trunk@1384 78cadc50-ecff-11dd-a971-7dbc132099af
Allow multiple possibe error codes for the "status" parameter.

Use this to make gyptest-objc-gc pass with both Xcode 3 and 4.
Review URL: https://chromiumcodereview.appspot.com/10399072

git-svn-id: http://gyp.googlecode.com/svn/trunk@1385 78cadc50-ecff-11dd-a971-7dbc132099af
make: Support '#' characters in defines.

TBR=evan
Review URL: https://chromiumcodereview.appspot.com/10332236

git-svn-id: http://gyp.googlecode.com/svn/trunk@1386 78cadc50-ecff-11dd-a971-7dbc132099af
Try to fix failing tests after 1386.

TBR=scottmg
Review URL: https://chromiumcodereview.appspot.com/10413004

git-svn-id: http://gyp.googlecode.com/svn/trunk@1387 78cadc50-ecff-11dd-a971-7dbc132099af
Try to fix defines containing '#' characters with cl.exe.
Review URL: https://chromiumcodereview.appspot.com/10408026

git-svn-id: http://gyp.googlecode.com/svn/trunk@1388 78cadc50-ecff-11dd-a971-7dbc132099af
Xcode: Allows mac_framework_headers to be included for non-bundle Mac targets.

This allows static library targets to export headers like frameworks so they
can be packaged up.

BUG=chromium:129013

Patch from Alastair Tse <altse@google.com>!



git-svn-id: http://gyp.googlecode.com/svn/trunk@1389 78cadc50-ecff-11dd-a971-7dbc132099af
Fixing hash escaping for msbuild.

Similar to:
http://code.google.com/p/gyp/source/detail?r=1388

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

git-svn-id: http://gyp.googlecode.com/svn/trunk@1390 78cadc50-ecff-11dd-a971-7dbc132099af
Fixing mistake in the mapping of manifest settings from vcbuild to msbuild.

Mt should have been Manifest.
Perils of tests that recaptiulate the implementation.

BUG=http://code.google.com/p/gyp/issues/detail?id=222
TEST=None
R=scottmg@chromium.org,pkotwicz@google.com,robertshield@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10383282

git-svn-id: http://gyp.googlecode.com/svn/trunk@1391 78cadc50-ecff-11dd-a971-7dbc132099af
Made stab at fixing pylint warnings, supressing the rest.

BUG=None
TEST=None
R=thakis@chromium.org,maruel@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10399131

git-svn-id: http://gyp.googlecode.com/svn/trunk@1392 78cadc50-ecff-11dd-a971-7dbc132099af
ninja windows: support and test for AdditionalIncludeDirectories

Normally gyp files use 'includes', or 'msvs_system_include_dirs', but the msvs
generator supports AdditionalIncludeDirectories, so add support to ninja for
consistency.

BUG=127702

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

git-svn-id: http://gyp.googlecode.com/svn/trunk@1393 78cadc50-ecff-11dd-a971-7dbc132099af
Fixing leftover from prior reveiew, plus more lint.

Prior review:
https://chromiumcodereview.appspot.com/10399131/

Fixing more lint warnings.

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

git-svn-id: http://gyp.googlecode.com/svn/trunk@1394 78cadc50-ecff-11dd-a971-7dbc132099af
Add support for GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO to xcode emulation.
Review URL: https://chromiumcodereview.appspot.com/10451028

git-svn-id: http://gyp.googlecode.com/svn/trunk@1395 78cadc50-ecff-11dd-a971-7dbc132099af
ninja windows: support precompiled headers

Make existing msvs-only test for PCH be msvs+ninja. Adds various flags to cflags and build rule in similar manner to existing Mac GCH support. Minor modifications to xcode_emulation to share top-level code between Windows and Mac.

R=thakis@chromium.org
BUG=126314
Review URL: https://chromiumcodereview.appspot.com/10407108

git-svn-id: http://gyp.googlecode.com/svn/trunk@1397 78cadc50-ecff-11dd-a971-7dbc132099af
mac ninja/make: Cache _sdk_base_dir at class level instead of instance level.

Makes gyp with GYP_GENERATORS=ninja file generation 20% faster.

BUG=82230
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10451056

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