wangyu5 / gyp

Automatically exported from code.google.com/p/gyp
0 stars 0 forks source link

MSBuild generator generates command lines that are too long for cmd.exe #261

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
When multiple actions share a common primary input, their commands are combined 
via &&.  When many actions with long commands are combined like this, some 
limit in cmd.exe's can be exceeded.  The generator should put CRLF breaks in 
the commands to avoid this.

Original issue reported on code.google.com by grt@chromium.org on 28 Apr 2012 at 1:37

GoogleCodeExporter commented 9 years ago
Commit: dc21da263b77c43d4781d452e4b291bfa479947f
 Email: scottmg@chromium.org@78cadc50-ecff-11dd-a971-7dbc132099af

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

M   pylib/gyp/generator/msvs.py
A   test/many-actions/gyptest-many-actions.py
A   test/many-actions/many-actions.gyp

Original comment by bugdroid1@chromium.org on 16 May 2012 at 7:31

GoogleCodeExporter commented 9 years ago
Commit: 6ef9e771fb083918f003f4c54b1b978f3cad9530
 Email: scottmg@chromium.org@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

M   pylib/gyp/generator/msvs.py
A   test/many-actions/file0
A   test/many-actions/file1
A   test/many-actions/file2
A   test/many-actions/file3
A   test/many-actions/file4
A   test/many-actions/gyptest-many-actions-unsorted.py
A   test/many-actions/many-actions-unsorted.gyp

Original comment by bugdroid1@chromium.org on 16 May 2012 at 11:30