Closed
Bug 868536
Opened 12 years ago
Closed 11 years ago
Move ipdl.mk files to moz.build
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla25
People
(Reporter: mshal, Assigned: mshal)
References
(Blocks 1 open bug)
Details
Attachments
(1 file, 2 obsolete files)
(deleted),
patch
|
mshal
:
review+
|
Details | Diff | Splinter Review |
There are several ipdl.mk files throughout the tree - these should be converted to a moz.build format. The ipc/ipdl/Makefile.mk is the place where all of the individual ipdl.mk files are included and used, so this will need to be converted as well. Finally, the existing ipc/ipdl/moz.build file needs to be updated so it creates CPP_SOURCES using python rather than make syntax.
Comment 1•11 years ago
|
||
I'm kinda sorta working on this.
Assignee: nobody → gps
Status: NEW → ASSIGNED
Comment 3•11 years ago
|
||
Here's my first draft at this. I attempted to make it as minimally
invasive as possible. All the ipdl.mk files in the tree have their
content merged with moz.build files. All ipdl files are collected during
moz.build traversal and written out to a single .mk file during backend
generation. It seems to "just work."
Patch is based on top of XPIDL work in bug 850380, although should be
easy enough to rebase. I told joey and mshal that I'd wait for all their
in-progress conversions to land so I don't bit rot them.
This patch needs tests before it can be submitted for review.
Assignee | ||
Comment 4•11 years ago
|
||
Rebased the original patch. This patch also includes:
1) Simple frontend & backend tests for IPDL_SOURCES.
2) Removed PROTOCOLS definition in favor of writing CPPSRCS directly in ipdlsrcs.mk. This allows us to remove the ugly CPP_SOURCES += ['$(PROTOCOLS:%.ipdl=%.cpp'... definition from moz.build
Attachment #753090 -
Attachment is obsolete: true
Attachment #770183 -
Flags: review?(gps)
Assignee | ||
Comment 6•11 years ago
|
||
Latest try results: https://tbpl.mozilla.org/?tree=Try&rev=8d18d12e3444
Comment 7•11 years ago
|
||
Comment on attachment 770183 [details] [diff] [review]
Move ipdl.mk files to moz.build
Review of attachment 770183 [details] [diff] [review]:
-----------------------------------------------------------------
This looks good to me. I worry about some path encoding issues on Windows. But if it passes Try on Windows, we should be good to land.
I can't wait for the followup where we finally fix the ipdl build rules to introduce proper dependencies!
::: python/mozbuild/mozbuild/backend/recursivemake.py
@@ +179,5 @@
> elif isinstance(obj, Exports):
> self._process_exports(obj.exports, backend_file)
>
> + elif isinstance(obj, IPDLFile):
> + self._ipdl_sources.add('%s/%s' % (obj.srcdir, obj.basename))
This should probably be using mozpack.path.join, but I think the source variables should be sufficiently sanitized that it shouldn't matter.
Attachment #770183 -
Flags: review?(gps) → review+
Assignee | ||
Comment 8•11 years ago
|
||
Updated to use mozpack.path.join, and rebased to pull in js/ipc/ipdl.mk and ipc/ipdl/test/cxx/ipdl.mk changes. r=gps carried forward.
Attachment #770183 -
Attachment is obsolete: true
Attachment #770947 -
Flags: review+
Assignee | ||
Comment 9•11 years ago
|
||
Comment 10•11 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla25
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•