Closed Bug 1031267 Opened 7 years ago Closed 7 years ago

--enable-system-cairo build broken: gfx/2d/DrawTargetCairo.cpp:416:10: error: 'CAIRO_SURFACE_TYPE_D2D' was not declared in this scope

Categories

(Core :: Graphics, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla33

People

(Reporter: jbeich, Assigned: glandium)

References

Details

Attachments

(2 files, 1 obsolete file)

Attached patch fix (obsolete) — Splinter Review
As of cairo trunk gfx/cairo/d2d.patch (bug 527707) has not been upstreamed yet. So, if you try to build against system copy the following error occurs.

In file included from gfx/2d/Unified_cpp_gfx_2d0.cpp:54:
gfx/2d/DrawTargetCairo.cpp:416:10: error:
      use of undeclared identifier 'CAIRO_SURFACE_TYPE_D2D'; did you mean
      'CAIRO_SURFACE_TYPE_DRM'?
    case CAIRO_SURFACE_TYPE_D2D:
         ^~~~~~~~~~~~~~~~~~~~~~
         CAIRO_SURFACE_TYPE_DRM
/usr/local/include/cairo/cairo.h:2380:5: note: 'CAIRO_SURFACE_TYPE_DRM' declared
      here
    CAIRO_SURFACE_TYPE_DRM,
    ^
In file included from gfx/2d/Unified_cpp_gfx_2d0.cpp:54:
gfx/2d/DrawTargetCairo.cpp:416:10: error:
      duplicate case value 'CAIRO_SURFACE_TYPE_DRM'
    case CAIRO_SURFACE_TYPE_D2D:
         ^
gfx/2d/DrawTargetCairo.cpp:414:10: note:
      previous case defined here
    case CAIRO_SURFACE_TYPE_DRM:
         ^
2 errors generated.
Attachment #8447125 - Flags: review?(jwatt)
Comment on attachment 8447125 [details] [diff] [review]
fix

Thanks!
Attachment #8447125 - Flags: review?(jwatt) → review+
Hopefully, the patch won't linger for the whole weekend.

https://tbpl.mozilla.org/?tree=Try&rev=3f858b108643
Keywords: checkin-needed
Backed out for burning down the tree:

https://hg.mozilla.org/integration/mozilla-inbound/rev/38e0566bb94b

Clearly that define is not as simple as one would imagine.
Attached patch fix, v2Splinter Review
https://tbpl.mozilla.org/?tree=Try&rev=cf2741878bfa

|-p all| is still an overkill, d2d and non-d2d/-Werror platform should be enough. However, --enable-warnings-as-errors would turn the following into an error if system cairo is 1.11.4 or newer.

In file included from gfx/2d/Unified_cpp_gfx_2d0.cpp:54:
gfx/2d/DrawTargetCairo.cpp:386:13: warning:
      enumeration value 'CAIRO_SURFACE_TYPE_COGL' not handled in switch [-Wswitch]
    switch (type) {
            ^
1 warning generated.
Attachment #8447125 - Attachment is obsolete: true
I think it's better to future-proof this way, especially considering the ongoing Gtk+3 work, which may, at some point switch cairo versions (it uses system cairo).
Attachment #8448495 - Flags: review?(jwatt)
Assignee: nobody → mh+mozilla
Status: NEW → ASSIGNED
Blocks: gtk3, try-gtk3
Attachment #8448495 - Flags: review?(jwatt) → review+
https://hg.mozilla.org/mozilla-central/rev/48aef90168b0
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
Blocks: 1034064
No longer blocks: 1034064
You need to log in before you can comment on or make changes to this bug.