Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split actions/rules with process_outputs_as_sources=1 as _prebuild project for MSVC #42

Open
GoogleCodeExporter opened this issue Apr 19, 2015 · 8 comments

Comments

@GoogleCodeExporter
Copy link

What steps will reproduce the problem?
1. Set 'process_outputs_as_sources': 1 in an action as done in 
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/webkit.gyp
2. See MSVC chocking on dependency processing for incremental build.

What is the expected output? What do you see instead?
MSVC200x doesn't support updating the dependency tree while processing a single 
project. The dependency tree is only updated after processing a whole project. 
So generated sources must be in a separate project from the steps that generate 
the said sources to have the dependency scanning done properly. This makes 
process_outputs_as_sources effectively broken and useless and should be removed 
accordingly. webkit.gyp and installer.gyp need to be updated to not use this 
flag anymore and support for this flag must be removed until we drop support 
for 
vcproj exports.

Original issue reported on code.google.com by maruel@chromium.org on 8 Jul 2009 at 3:10

@GoogleCodeExporter
Copy link
Author

We don't necessarily need to get rid of process_outputs_as_sources.  The MSVS 
generator could automatically generate an auxiliary dependency target for rules 
and 
actions that runs the scripts, and the outputs (when process_outputs_as_sources 
is 
true) could be compiled in the main target.

Original comment by mark@chromium.org on 8 Jul 2009 at 3:18

@GoogleCodeExporter
Copy link
Author

You are right.

So my proposal (since I can't rename the title)

- For every action and rules that have 'process_outputs_as_sources': 1,
- On MSVC only,
- Generate a '$(project)_prebuild.vcproj' that contains those steps, depends on 
the same 
dependencies than $(project).
- Have $(project)dependends on '$(project)_prebuild'.

Original comment by maruel@chromium.org on 9 Jul 2009 at 2:23

@GoogleCodeExporter
Copy link
Author

Original comment by maruel@chromium.org on 9 Jul 2009 at 7:14

  • Changed title: Split actions/rules with process_outputs_as_sources=1 as _prebuild project for MSVC

@GoogleCodeExporter
Copy link
Author

Original comment by sgk@chromium.org on 6 Aug 2009 at 6:33

  • Changed state: Accepted

@GoogleCodeExporter
Copy link
Author

Original comment by sgk@chromium.org on 18 Aug 2009 at 8:06

  • Added labels: MSVS

@GoogleCodeExporter
Copy link
Author

He accepted but forgot to make himself owner

Original comment by maruel@chromium.org on 19 Oct 2009 at 5:38

@GoogleCodeExporter
Copy link
Author

No, I didn't forget.  Taking my name back off.

The "process" (if you want to dignify it) that bradnelson and I were following 
was to 
move items to Accepted to indicate it at least got a cursory project-level 
triage 
(bradnelson and I going through the new issues) and that the Priority and 
keywords 
are sane.  A name attached is what does or doesn't indicate a specific 
individual has 
intends to work on it.

That's not set in stone, it's just what we started doing the couple of times we 
went 
down the list.



Original comment by sgk@chromium.org on 17 Nov 2009 at 1:16

@GoogleCodeExporter
Copy link
Author

We did this for Xcode in r762. It worked. We ought to fix it for MSVS too.

Original comment by mark@chromium.org on 25 Jun 2010 at 9:01

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant