diff --git a/extensions/canvas3d/install.rdf b/extensions/canvas3d/install.rdf
index dfe647bcc98..04bdefbe418 100644
--- a/extensions/canvas3d/install.rdf
+++ b/extensions/canvas3d/install.rdf
@@ -16,15 +16,25 @@
extension was built for, because of the way we're tied
to internal interfaces.
-->
+#ifdef MOZILLA_1_8_BRANCH
+ 2.0b1
+ 2.0.*
+#else
3.0a1
3.0a1
+#endif
Vladimir Vukicevic/mozilla.com
- Canvas 3D
- Canvas 3D context(s)
+#ifdef MOZILLA_1_8_BRANCH
+ Canvas 3D (Gecko 1.8.1)
+ Canvas 3D context(s) for Gecko 1.8.1
+#else
+ Canvas 3D (Gecko 1.9)
+ Canvas 3D context(s) for Gecko 1.9
+#endif
http://people.mozilla.com/~vladimir/canvas3d/
diff --git a/extensions/canvas3d/src/Makefile.in b/extensions/canvas3d/src/Makefile.in
index 313fbcf859b..1a93a0a6b7b 100644
--- a/extensions/canvas3d/src/Makefile.in
+++ b/extensions/canvas3d/src/Makefile.in
@@ -79,9 +79,12 @@ REQUIRES = \
uconv \
intl \
cairo \
- thebes \
$(NULL)
+ifdef MOZ_ENABLE_CAIRO_GFX
+REQUIRES += thebes
+endif
+
GLITZ_SRC_DIR = $(topsrcdir)/gfx/cairo/glitz/src
VPATH += $(GLITZ_SRC_DIR)
@@ -151,7 +154,11 @@ CPPSRCS = nsCanvas3DModule.cpp \
DEFINES += -DXPCOM_GLUE -DGLEW_MX -DGLEW_STATIC
-EXTRA_DSO_LIBS += thebes js3250 mozcairo mozlibpixman xpcom nspr4 xpcom_core
+EXTRA_DSO_LIBS += js3250 mozcairo mozlibpixman xpcom nspr4 xpcom_core
+
+ifdef MOZ_ENABLE_CAIRO_GFX
+EXTRA_DSO_LIBS += thebes
+endif
# Hack for getting an extension built against static vs. dynamic versions of firefox
ifeq (,$(BUILD_STATIC_LIBS))
diff --git a/extensions/canvas3d/src/nsCanvasRenderingContextGLES11.cpp b/extensions/canvas3d/src/nsCanvasRenderingContextGLES11.cpp
index 1d7e9f5eea9..5f81f9cd550 100644
--- a/extensions/canvas3d/src/nsCanvasRenderingContextGLES11.cpp
+++ b/extensions/canvas3d/src/nsCanvasRenderingContextGLES11.cpp
@@ -49,9 +49,10 @@
#ifndef MOZILLA_1_8_BRANCH
#include "nsIDocument.h"
-#include "nsTransform2D.h"
#endif
+#include "nsTransform2D.h"
+
#include "nsIScriptSecurityManager.h"
#include "nsISecurityCheckedComponent.h"