Closed
Bug 358934
Opened 19 years ago
Closed 19 years ago
additional cairo headers need to be in config/system-headers
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: dbaron, Assigned: dbaron)
References
Details
(Keywords: verified1.8.0.9, verified1.8.1.1)
Attachments
(1 file, 1 obsolete file)
|
2.40 KB,
patch
|
benjamin
:
review+
dveditz
:
approval1.8.0.9+
dveditz
:
approval1.8.1.1+
|
Details | Diff | Splinter Review |
When building the 1.8 branch on FC6 x86_64, I hit linker errors due to cairo headers not being in config/system-headers (which is used for wrapping system headers to push/pop visibility). In particular, I think my errors where in nsCanvasRenderingContext2D.cpp and nsSVGCairoCanvas.cpp, and I needed to add (at most) cairo-xlib.h and cairo-xlib-xrender.h .
However, I think we may want to add more than those. Based on LXR, I see the following includes from outside of cairo into cairo:
cairo-atsui.h
cairo-beos.h
cairo-ft.h
cairo-glitz.h
cairo-nquartz.h
cairo-os2.h
cairo-pdf.h
cairo-ps.h
cairo-quartz.h
cairo-win32.h
cairo-xlib.h
cairo-xlib-xrender.h
| Assignee | ||
Comment 1•19 years ago
|
||
Attachment #244246 -
Flags: review?(benjamin)
Comment 2•19 years ago
|
||
Is this --with-system-cairo or something? The cairo headers are internal to our tree by default.
No longer blocks: 359275
| Assignee | ||
Comment 3•19 years ago
|
||
Even though they're internal to our tree, they're not annotated with __attribute__((visibility("default"))) for public APIs. (Same reason NSS and NSPR headers are in config/system-headers.)
| Assignee | ||
Comment 4•19 years ago
|
||
(And we already build cairo with VISIBILITY_FLAGS= because of that.)
| Assignee | ||
Comment 5•19 years ago
|
||
ifndef MOZ_ENABLE_LIBXUL, though. So perhaps this change, plus the existing listing of cairo.h, should be #if !defined(MOZ_ENABLE_LIBXUL) || defined(system cairo))
Comment 6•19 years ago
|
||
Yes, I think so... not sure how to do that easily :-( perhaps piping it through the Xul preprocessor would work.
| Assignee | ||
Comment 7•19 years ago
|
||
Well, it's something we need to figure out for bug 359000 and bug 359001 as well...
| Assignee | ||
Comment 8•19 years ago
|
||
(That said, are we sure that the cairo API shouldn't be exported from libxul?)
| Assignee | ||
Updated•19 years ago
|
Comment 9•19 years ago
|
||
vlad and I have been arguing about that, but it's a separate issue and has its own bugs already I think. He wants to (in addition to exporting thebes, which makes me even more uncomfortable), but I really want to avoid more ELF exposure than necessary and Darin convinced me a long time ago that it would be very valuable to avoid exposing any nonfrozen symbols from our shared libs.
| Assignee | ||
Comment 10•19 years ago
|
||
Attachment #244246 -
Attachment is obsolete: true
Attachment #244509 -
Flags: review?(benjamin)
Attachment #244246 -
Flags: review?(benjamin)
Updated•19 years ago
|
Attachment #244509 -
Flags: review?(benjamin) → review+
| Assignee | ||
Comment 11•19 years ago
|
||
Checked in to trunk.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
| Assignee | ||
Comment 12•19 years ago
|
||
Comment on attachment 244509 [details] [diff] [review]
patch
This is a low risk patch that will, along with the other dependencies of bug 359275:
* allow Linux distros to take advantage of improved load and runtime performance with WRAP_SYSTEM_HEADERS, other performance optimizations
(prelinking), and security improvements (SELinux)
* make it easier for developers to build on new distributions like Fedora Core
6
Attachment #244509 -
Flags: approval1.8.1.1?
Attachment #244509 -
Flags: approval1.8.0.9?
Comment 13•19 years ago
|
||
Comment on attachment 244509 [details] [diff] [review]
patch
approved for 1.8/1.8.0 branches, a=dveditz
Attachment #244509 -
Flags: approval1.8.1.1?
Attachment #244509 -
Flags: approval1.8.1.1+
Attachment #244509 -
Flags: approval1.8.0.9?
Attachment #244509 -
Flags: approval1.8.0.9+
| Assignee | ||
Comment 14•19 years ago
|
||
Fix checked in to MOZILLA_1_8_BRANCH and MOZILLA_1_8_0_BRANCH.
Keywords: fixed1.8.0.9,
fixed1.8.1.1
Comment 15•19 years ago
|
||
v.fixed on both branches by code and cvs log inspection, and from the lack of any comments regarding new issues or regressions.
If dbaron or anyone else can confirm, that will be great!
Updated•8 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•