| Index: pylib/gyp/generator/msvs.py
|
| diff --git a/pylib/gyp/generator/msvs.py b/pylib/gyp/generator/msvs.py
|
| index 2d15a3570836b33afe08d5f303bd22c316e28cad..2d2c379b5bb58e80916da181a8df31deacb8ddaf 100644
|
| --- a/pylib/gyp/generator/msvs.py
|
| +++ b/pylib/gyp/generator/msvs.py
|
| @@ -1457,12 +1457,17 @@ def _AddActions(actions_to_add, spec, relative_path_of_gyp_file, vcproj_file):
|
| actions = spec.get('actions', [])
|
| # Don't setup_env every time. When all the actions are run together in one
|
| # batch file in VS, the PATH will grow too long.
|
| - first_action = True
|
| + # Membership in this set means that the cygwin environment has been set up,
|
| + # and does not need to be set up again.
|
| + have_setup_env = set()
|
| for a in actions:
|
| - cmd = _BuildCommandLineForRule(spec, a, has_input_path=False,
|
| - do_setup_env=first_action)
|
| # Attach actions to the gyp file if nothing else is there.
|
| inputs = a.get('inputs') or [relative_path_of_gyp_file]
|
| + attached_to = inputs[0]
|
| + need_setup_env = attached_to not in have_setup_env
|
| + cmd = _BuildCommandLineForRule(spec, a, has_input_path=False,
|
| + do_setup_env=need_setup_env)
|
| + have_setup_env.add(attached_to)
|
| if vcproj_file:
|
| # Additionally, on MSVS 2008, we record the command in a file
|
| # and add this as a dependency so that when the command changes,
|
| @@ -1477,7 +1482,6 @@ def _AddActions(actions_to_add, spec, relative_path_of_gyp_file, vcproj_file):
|
| outputs=a.get('outputs', []),
|
| description=a.get('message', a['action_name']),
|
| command=cmd)
|
| - first_action = False
|
|
|
|
|
| def _WriteMSVSUserFile(project_path, version, spec):
|
|
|