Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Issue 9990006: ninja windows: Support magic idl build rules (Closed)

Created:
8 years, 8 months ago by scottmg
Modified:
8 years, 8 months ago
Reviewers:
Nico
CC:
gyp-developer_googlegroups.com
Visibility:
Public.

Description

ninja windows: Support magic idl build rules Magically build .idl files via midl compiler if there's no other explicit build rule specified. Sort of 'works', but there's no edge between the generated .h file and .cc files that might include it, so parallelism will break it. Committed: https://code.google.com/p/gyp/source/detail?r=1308

Patch Set 1 #

Patch Set 2 : remove unintentional changes #

Patch Set 3 : move idl build to go with actions/rules/copies #

Patch Set 4 : revert unrelated changeS #

Patch Set 5 : fix output list #

Patch Set 6 : macro expansion #

Total comments: 18

Patch Set 7 : review fixes #

Total comments: 4

Patch Set 8 : rename helper #

Total comments: 4

Patch Set 9 : more fixes #

Patch Set 10 : line endings #

Patch Set 11 : copyright header #

Unified diffs Side-by-side diffs Delta from patch set Stats (+193 lines, -6 lines) Patch
M pylib/gyp/generator/ninja.py View 1 2 3 4 5 6 7 8 9 4 chunks +44 lines, -1 line 0 comments Download
M pylib/gyp/msvs_emulation.py View 1 2 3 4 5 6 7 8 3 chunks +36 lines, -2 lines 0 comments Download
M pylib/gyp/win_tool.py View 1 2 3 4 5 6 1 chunk +29 lines, -3 lines 0 comments Download
A test/win/gyptest-midl-rules.py View 1 2 3 4 5 6 7 8 9 1 chunk +22 lines, -0 lines 0 comments Download
A test/win/idl-rules/basic-idl.gyp View 1 chunk +30 lines, -0 lines 0 comments Download
A test/win/idl-rules/history_indexer.idl View 1 2 3 4 5 6 7 8 1 chunk +17 lines, -0 lines 0 comments Download
A test/win/idl-rules/history_indexer_user.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +15 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
scottmg
This is a not-working version of .idl builds. It's currently just processing .idl files as ...
8 years, 8 months ago (2012-04-05 01:10:10 UTC) #1
scottmg
On 2012/04/05 01:10:10, scottmg wrote: > This is a not-working version of .idl builds. It's ...
8 years, 8 months ago (2012-04-05 01:21:16 UTC) #2
scottmg
On 2012/04/05 01:21:16, scottmg wrote: > On 2012/04/05 01:10:10, scottmg wrote: > > This is ...
8 years, 8 months ago (2012-04-05 02:54:56 UTC) #3
Nico
Nice :-) http://chromiumcodereview.appspot.com/9990006/diff/17/pylib/gyp/generator/ninja.py File pylib/gyp/generator/ninja.py (right): http://chromiumcodereview.appspot.com/9990006/diff/17/pylib/gyp/generator/ninja.py#newcode388 pylib/gyp/generator/ninja.py:388: """Visual Studio has implicit .idl build rules ...
8 years, 8 months ago (2012-04-05 04:37:11 UTC) #4
scottmg
thanks! http://chromiumcodereview.appspot.com/9990006/diff/17/pylib/gyp/generator/ninja.py File pylib/gyp/generator/ninja.py (right): http://chromiumcodereview.appspot.com/9990006/diff/17/pylib/gyp/generator/ninja.py#newcode388 pylib/gyp/generator/ninja.py:388: """Visual Studio has implicit .idl build rules for ...
8 years, 8 months ago (2012-04-05 17:52:42 UTC) #5
Nico
lgtm https://chromiumcodereview.appspot.com/9990006/diff/10001/pylib/gyp/generator/ninja.py File pylib/gyp/generator/ninja.py (right): https://chromiumcodereview.appspot.com/9990006/diff/10001/pylib/gyp/generator/ninja.py#newcode389 pylib/gyp/generator/ninja.py:389: with files that are generated.""" assert self.flavor == ...
8 years, 8 months ago (2012-04-05 18:02:24 UTC) #6
scottmg
8 years, 8 months ago (2012-04-05 18:14:25 UTC) #7
http://codereview.chromium.org/9990006/diff/10001/pylib/gyp/generator/ninja.py
File pylib/gyp/generator/ninja.py (right):

http://codereview.chromium.org/9990006/diff/10001/pylib/gyp/generator/ninja.p...
pylib/gyp/generator/ninja.py:389: with files that are generated."""
On 2012/04/05 18:02:24, Nico wrote:
> assert self.flavor == 'win'

Done.

> it would be nice if more of this could be in msvs_emulation, but i can't think
> of a great way to split it up. (since msvs_emulation is only used by ninja, my
> concern is mostly keeping win-only things out of this file as much as
possible.)

Yeah. I had it in there wholesale before, but it seemed to have to pass in too
much (functions, etc.) so felt not usefully separated.

I believe there will be something similar required for .rc files so I will keep
it in mind for refactoring when I get there.

http://codereview.chromium.org/9990006/diff/10001/pylib/gyp/msvs_emulation.py
File pylib/gyp/msvs_emulation.py (right):

http://codereview.chromium.org/9990006/diff/10001/pylib/gyp/msvs_emulation.py...
pylib/gyp/msvs_emulation.py:359: # TODO(scottmg): Non-default configuration
maybe?
On 2012/04/05 18:02:24, Nico wrote:
> This comment is not understandable for people who aren't you. Maybe insert a
few
> more words to explain what you mean :-)

Done.

http://codereview.chromium.org/9990006/diff/11008/test/win/idl-rules/history_...
File test/win/idl-rules/history_indexer.idl (right):

http://codereview.chromium.org/9990006/diff/11008/test/win/idl-rules/history_...
test/win/idl-rules/history_indexer.idl:5: import "oaidl.idl";
On 2012/04/05 18:02:24, Nico wrote:
> these are system idl files?

Yes.

http://codereview.chromium.org/9990006/diff/11008/test/win/idl-rules/history_...
test/win/idl-rules/history_indexer.idl:15: interface IChromeHistoryIndexer :
IUnknown {
On 2012/04/05 18:02:24, Nico wrote:
> Can you simplify this file a bit? (remove comments, remove most of the
> parameters, maybe shorten function names)? I suppose most of the things in
here
> aren't important for this test.

Done.

Powered by Google App Engine
This is Rietveld 408576698