Closed
Bug 1077148
Opened 11 years ago
Closed 11 years ago
Define mozglue dependencies in moz.build
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla36
People
(Reporter: glandium, Assigned: glandium)
References
Details
Attachments
(4 files)
16.35 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
1.04 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
2.01 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
98.47 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
Currently, we use awful rules in config.mk, based on MOZ_GLUE_LDFLAGS and MOZ_GLUE_PROGRAM_LDFLAGS to link against mozglue. And a set of directories opt out by emptying those variable. We already have code in mozbuild to make essentially everything depend on mozglue so that things build in the right order. That's horrible in many ways, but the main point is that it's all outside of moz.build scope which it shouldn't.
Also, when working on mfbt .cpp files or jemalloc (or other mozglue things, such as the linker) on Linux, it makes mach build binaries not pick up changes because of missing dependencies for executables.
Assignee | ||
Comment 1•11 years ago
|
||
Note the recursivemake.py change is temporary and goes away in subsequent parts.
Attachment #8512445 -
Flags: review?(mshal)
Assignee | ||
Comment 2•11 years ago
|
||
This hack has actually not been actively used since sqlite, nss and nspr are
all folded together, because no shared library is actually linked in
db/sqlite3/src.
Attachment #8512468 -
Flags: review?(mshal)
Assignee | ||
Comment 3•11 years ago
|
||
There is no reason these should be linked to mozglue on Linux only. This
makes the intent clearer for the related changes in part 4.
Attachment #8512469 -
Flags: review?(mshal)
Assignee | ||
Comment 4•11 years ago
|
||
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.
Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.
Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
Attachment #8512470 -
Flags: review?(mshal)
Attachment #8512470 -
Flags: review?(gps)
Comment 5•11 years ago
|
||
Comment on attachment 8512470 [details] [diff] [review]
part 4 - Add and use new moz.build templates for Gecko programs and libraries
Review of attachment 8512470 [details] [diff] [review]:
-----------------------------------------------------------------
Very nice. I love how our complex linking situation keeps getting easier to understand.
Attachment #8512470 -
Flags: review?(gps) → review+
Assignee | ||
Updated•11 years ago
|
Attachment #8512470 -
Flags: review?(mshal)
Assignee | ||
Updated•11 years ago
|
Attachment #8512445 -
Flags: review?(mshal) → review?(gps)
Assignee | ||
Updated•11 years ago
|
Attachment #8512468 -
Flags: review?(mshal) → review?(gps)
Assignee | ||
Updated•11 years ago
|
Attachment #8512469 -
Flags: review?(mshal) → review?(gps)
Updated•11 years ago
|
Attachment #8512445 -
Flags: review?(gps) → review+
Updated•11 years ago
|
Attachment #8512468 -
Flags: review?(gps) → review+
Updated•11 years ago
|
Attachment #8512469 -
Flags: review?(gps) → review+
Assignee | ||
Comment 6•11 years ago
|
||
Assignee | ||
Comment 7•11 years ago
|
||
Assignee | ||
Comment 8•11 years ago
|
||
Comment 9•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/7c2f1416473f
https://hg.mozilla.org/mozilla-central/rev/a7b5bb9e867a
https://hg.mozilla.org/mozilla-central/rev/0a59d60cf8ad
https://hg.mozilla.org/mozilla-central/rev/55d15b285436
https://hg.mozilla.org/mozilla-central/rev/1c24de5c098e
https://hg.mozilla.org/mozilla-central/rev/cb7e5e992530
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
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
•