Building Firefox on HP-UX/PA with Cairo

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Building Firefox on HP-UX/PA with Cairo

Albert Chin-43
I'm trying to build Firefox on HP-UX/PA (11.00, 11.11, 11.23)
with the HP C++ compiler, A.03.67. The build fails with:
Error 744: "nsSVGCairoCanvas.cpp", line 658 # The operand of a
    must be a pointer to or lvalue of a complete class; the actual type was
    _cairo *.
      mContextStack.AppendElement(NS_STATIC_CAST(void*, oldCR));
gmake[6]: *** [nsSVGCairoCanvas.o] Error 2
gmake[6]: Leaving directory `/opt/build/mozilla/layout/svg/renderer/src/cairo'

The problem is that struct _cairo is never defined. It's an internal
struct that is not exposed in any of the _cairo public header files:
   * cairo_t:
   * A #cairo_t contains the current state of the rendering device,
   * including coordinates of yet to be drawn shapes.
  typedef struct _cairo cairo_t;

The offending line from nsSVGCairoCanvas.cpp:
  cairo_t* oldCR = mCR;
  mContextStack.AppendElement(NS_STATIC_CAST(void*, oldCR));

This seems to be a compiler limitation as the compiler on HP-UX/IA and
other C++ compilers (Solaris, AIX, IRIX, Tru64 UNIX) don't have the
problem. Is there a way to work around it?

albert chin
dev-builds mailing list
[hidden email]