Closed
Bug 757967
Opened 12 years ago
Closed 11 years ago
makefiles: move xpidl* logic into a named makefile - batch #2
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: joey, Assigned: joey)
References
Details
Attachments
(3 files, 2 obsolete files)
17.58 KB,
patch
|
Details | Diff | Splinter Review | |
16.76 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
15.05 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
No description provided.
Assignee | ||
Comment 1•12 years ago
|
||
Assignee | ||
Comment 2•12 years ago
|
||
Assignee | ||
Updated•12 years ago
|
Attachment #626830 -
Attachment is obsolete: true
Assignee | ||
Comment 3•12 years ago
|
||
Comment on attachment 660055 [details] [diff] [review] move xpidl* logic into a named makefile move xpidl logic out of rules.mk and into config/makefiles/xpidl.mk. localized macros added to replace long, common, inlined logic and sequences. lowercase/localize some XPIDL macros used by targets and deps. Added a test to verify LIBXUL_DIST is set before using XPIDL_DEPS. Separated target logic into export & libs sections and made conditional so they are only visible when the appropriate target is being processed.
Attachment #660055 -
Flags: review?(gps)
Assignee | ||
Comment 4•12 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=3192b8f97a2b
Comment 5•12 years ago
|
||
Comment on attachment 660055 [details] [diff] [review] move xpidl* logic into a named makefile Review of attachment 660055 [details] [diff] [review]: ----------------------------------------------------------------- Please separate this into 2 patches: Part 1: Move content verbatim or as close to verbatim from rules.mk into standalone file Part 2: Refactor content in new location If Bugzilla had a better interface for doing code review, this may not be necessary. But, I like to do code review inside splinter and with the way it is, it is impossible to get a side-by-side/before-and-after view since the refactoring is part of the moving patch.
Attachment #660055 -
Flags: review?(gps)
Assignee | ||
Comment 6•12 years ago
|
||
(In reply to Gregory Szorc [:gps] from comment #5) > Comment on attachment 660055 [details] [diff] [review] > move xpidl* logic into a named makefile > > Review of attachment 660055 [details] [diff] [review]: > ----------------------------------------------------------------- > > Please separate this into 2 patches: > > Part 1: Move content verbatim or as close to verbatim from rules.mk into > standalone file > Part 2: Refactor content in new location > > If Bugzilla had a better interface for doing code review, this may not be > necessary. But, I like to do code review inside splinter and with the way it > is, it is impossible to get a side-by-side/before-and-after view since the > refactoring is part of the moving patch. Rather than trash a tested/working patch how about just applying the patch in a sandbox and perform the diff there ? Most editors would be able to perform a side-by-side diff of the two files. I can submit two patches but that may increase the chance of breaking code that is working.
Assignee | ||
Comment 7•12 years ago
|
||
Patch split to accomodate inadequate tools. Move verbatim xpidl logic out of rules.mk and into config/makefiles/xpidl.mk https://tbpl.mozilla.org/?tree=Try&rev=b442e4fa2bd8
Attachment #660457 -
Flags: review?(gps)
Comment 8•12 years ago
|
||
This is the incremental patch. Will conduct review on it.
Attachment #660055 -
Attachment is obsolete: true
Attachment #660506 -
Flags: review?(gps)
Comment 9•12 years ago
|
||
Comment on attachment 660506 [details] [diff] [review] Part 2: Refactor xpidl logic Review of attachment 660506 [details] [diff] [review]: ----------------------------------------------------------------- I don't like that there was a net increase in the number of lines of make syntax. But, the end state looks equivalent AFAICT and it seems to be a bit more robust. I say land it if it passes Try. If you take the patch I submitted as part 2, please note that the author is wrongly attributed to me. ::: config/makefiles/xpidl.mk @@ +28,2 @@ > > + xpidl-module-xpt = $(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt It seems weird that XPIDL_MODULE is used here but then validated below. I know because of deferred assignment this works. But it is hard to read. @@ +70,5 @@ > + _xpidl-todo-libs_ += xpidl-gen-xpt > + > + ifndef NO_DIST_INSTALL > + ifndef NO_INTERFACES_MANIFEST > + _xpidl-todo-libs_ += xpidl-gen-manifest Replace tabs with spaces. ::: config/rules.mk @@ +1200,5 @@ > endif > endif > > ################################################################################ > +# Export the elements of $(XPIDLSRCS) Your "patch #1" moved this block to xpidl.mk whereas the previous patch didn't. That's why this block is showing up here. Should or should not this block be in xpidl.mk?
Attachment #660506 -
Flags: review?(gps) → review+
Assignee | ||
Comment 10•12 years ago
|
||
tested locally with an obj directory diff. waiting on try results.
Assignee | ||
Updated•12 years ago
|
Attachment #660457 -
Flags: review?(gps)
Assignee | ||
Comment 11•12 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=c03dcf601c21
Assignee | ||
Comment 12•12 years ago
|
||
(In reply to Gregory Szorc [:gps] from comment #9) > Comment on attachment 660506 [details] [diff] [review] > Part 2: Refactor xpidl logic > > Review of attachment 660506 [details] [diff] [review]: > ----------------------------------------------------------------- > > I don't like that there was a net increase in the number of lines of make > syntax. But, the end state looks equivalent AFAICT and it seems to be a bit > more robust. I say land it if it passes Try. Most of the additions were comments, adding vars to replace duplicate inlined paths and a conditional block to make export:: and libs:: elements visible only when those targets are being processed. Other than these, build logic is pretty much the same. > If you take the patch I submitted as part 2, please note that the author is > wrongly attributed to me. I'll check and see if it is in the patch > > ::: config/makefiles/xpidl.mk > @@ +28,2 @@ > > > > + xpidl-module-xpt = $(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt > > It seems weird that XPIDL_MODULE is used here but then validated below. I > know because of deferred assignment this works. But it is hard to read. The assignment and conditional can move up that's not a problem. > @@ +70,5 @@ > > + _xpidl-todo-libs_ += xpidl-gen-xpt > > + > > + ifndef NO_DIST_INSTALL > > + ifndef NO_INTERFACES_MANIFEST > > + _xpidl-todo-libs_ += xpidl-gen-manifest > > Replace tabs with spaces. > > ::: config/rules.mk > @@ +1200,5 @@ > > endif > > endif > > > > ################################################################################ > > +# Export the elements of $(XPIDLSRCS) > > Your "patch #1" moved this block to xpidl.mk whereas the previous patch > didn't. That's why this block is showing up here. > > Should or should not this block be in xpidl.mk? Casualty from breaking up the patch. Macro names (xpidl-idl2h) do help document this somewhat but the comment should be included for 'moving them to the appropriate places.'
Assignee | ||
Comment 13•12 years ago
|
||
Comment on attachment 660520 [details] [diff] [review] xpidl - original patch logic merged into verbatim logic move into xpidl.mk Patch #2 - try results https://tbpl.mozilla.org/?tree=Try&rev=c03dcf601c21
Attachment #660520 -
Flags: review?(gps)
Comment 14•12 years ago
|
||
Comment on attachment 660520 [details] [diff] [review] xpidl - original patch logic merged into verbatim logic move into xpidl.mk Review of attachment 660520 [details] [diff] [review]: ----------------------------------------------------------------- Looks good. Not sure why those Windows builds failed on try. Perhaps you should try again, just to be sure? Or, you can always push to inbound and risk it :) Also, I lost track of how all these patches apply. I trust you know what to do wrt pushing.
Attachment #660520 -
Flags: review?(gps) → review+
Assignee | ||
Comment 15•12 years ago
|
||
(In reply to Gregory Szorc [:gps] from comment #8) > Created attachment 660506 [details] [diff] [review] > Part 2: Refactor xpidl logic > > This is the incremental patch. Will conduct review on it. If you will be uploading a modified version of a patch in progress could you ping the person about it ? The 2nd patch for this bug will need to be re-generated and re-tested to include these edits. Thanks
Assignee | ||
Comment 16•12 years ago
|
||
patch pushed to b-s https://tbpl.mozilla.org/?tree=Try&rev=594c3ba848b2 Looking into the windows failure around automation.py and Running RegistrationOrder tests... TEST-UNEXPECTED-FAIL | TestRegular FAILED - cannot create core service TEST-UNEXPECTED-FAIL | TestJar FAILED - cannot create core service
Assignee | ||
Comment 17•12 years ago
|
||
xpidlsrcs migrating into mozbuild files so no longer need to refactor
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Comment 18•12 years ago
|
||
I wouldn't just to this conclusion so fast. We will likely still produce .mk files containing the existing Makefile variables and this code will go through the existing Makefile logic. So, I think there may be some value to this bug.
Assignee | ||
Updated•12 years ago
|
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 19•12 years ago
|
||
ted mshal: i take it a lot of that ugliness would go away if we moved XPIDLSRCS into moz.build? mshal sorry I'm not sure I understand what you mean about static make files - here I'm just using pymake to parse the Makefile.in file mshal if the Makefile.in file changes, tup runs pymake on that Makefile.in again to get the new set of XPIDLSRCS mshal ted: yeah, the long-term idea would be the tup_xpidl.py script doesn't use pymake, but just includes moz.build directly
Assignee | ||
Comment 20•11 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=f72c2485e934
Assignee | ||
Comment 21•11 years ago
|
||
logic migrating to mozbuild files
Status: REOPENED → RESOLVED
Closed: 12 years ago → 11 years ago
Resolution: --- → WONTFIX
Updated•6 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•