b=571172; disable ANGLE compilation on Linux-x86_64, until build slaves are fixed
authorVladimir Vukicevic <vladimir@pobox.com>
Wed, 14 Jul 2010 20:52:37 -0700
changeset 47654 42029b6d627ee8c0d5face9cafa2bf7fe8950305
parent 47653 0895c4370e7ac3d485999e16b4cb6811e0642844
child 47655 6870012f82dd308746d51f30d51d329311e8409d
push idunknown
push userunknown
push dateunknown
bugs571172
milestone2.0b2pre
b=571172; disable ANGLE compilation on Linux-x86_64, until build slaves are fixed
content/canvas/src/Makefile.in
content/canvas/src/WebGLContextGL.cpp
content/canvas/src/WebGLContextValidate.cpp
gfx/Makefile.in
toolkit/library/libxul-config.mk
--- a/content/canvas/src/Makefile.in
+++ b/content/canvas/src/Makefile.in
@@ -74,24 +74,34 @@ ifdef MOZ_WEBGL
 CPPSRCS += \
 	WebGLContext.cpp \
 	WebGLContextGL.cpp \
 	WebGLContextUtils.cpp \
 	WebGLContextValidate.cpp \
 	NativeJSContext.cpp \
 	$(NULL)
 
+# We can't build ANGLE on linux-64 until build bug 560894 and related
+# are fixed.
+ifneq ($(OS_ARCH)_$(OS_TEST),Linux_x86_64)
+DEFINES += -DUSE_ANGLE
+endif
+
 ifndef MOZ_ENABLE_LIBXUL
 
+ifdef USE_ANGLE
+
 SHARED_LIBRARY_LIBS += \
 	$(DEPTH)/gfx/angle/$(LIB_PREFIX)angle.$(LIB_SUFFIX) \
 	$(NULL)
 
 endif
 
+endif
+
 else
 
 CPPSRCS += WebGLContextNotSupported.cpp
 
 endif
 
 # we don't want the shared lib, but we want to force the creation of a static lib.
 FORCE_STATIC_LIB = 1
--- a/content/canvas/src/WebGLContextGL.cpp
+++ b/content/canvas/src/WebGLContextGL.cpp
@@ -51,17 +51,17 @@
 #include "nsDOMError.h"
 #include "nsLayoutUtils.h"
 
 #include "CanvasUtils.h"
 #include "NativeJSContext.h"
 
 #include "jstypedarray.h"
 
-#ifndef USE_GLES2
+#if !defined(USE_GLES2) && defined(USE_ANGLE)
 // shader translator
 #include "angle/ShaderLang.h"
 #endif
 
 using namespace mozilla;
 
 static PRBool BaseTypeAndSizeFromUniformType(WebGLenum uType, WebGLenum *baseType, WebGLint *unitSize);
 
@@ -2826,17 +2826,17 @@ WebGLContext::CompileShader(nsIWebGLShad
 {
     WebGLShader *shader;
     WebGLuint shadername;
     if (!GetConcreteObjectAndGLName(sobj, &shader, &shadername))
         return ErrorInvalidOperation("CompileShader: invalid shader");
 
     MakeContextCurrent();
 
-#ifndef USE_GLES2
+#if !defined(USE_GLES2) && defined(USE_ANGLE)
     if (shader->NeedsTranslation() && mShaderValidation) {
         ShHandle compiler = 0;
         int debugFlags = 0;
         EShLanguage lang = (shader->ShaderType() == LOCAL_GL_VERTEX_SHADER) ?
             EShLangVertex : EShLangFragment;
 
         TBuiltInResource resources;
 
--- a/content/canvas/src/WebGLContextValidate.cpp
+++ b/content/canvas/src/WebGLContextValidate.cpp
@@ -36,17 +36,17 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "WebGLContext.h"
 
 #include "CheckedInt.h"
 
-#ifndef USE_GLES2
+#if !defined(USE_GLES2) && defined(USE_ANGLE)
 #include "angle/ShaderLang.h"
 #endif
 
 using namespace mozilla;
 
 /*
  * Pull all the data out of the program that will be used by validate later on
  */
@@ -414,17 +414,19 @@ WebGLContext::InitAndValidateGL()
     gl->fGetIntegerv(LOCAL_GL_IMPLEMENTATION_COLOR_READ_TYPE, (GLint*) &val);
     fprintf(stderr, "GL_IMPLEMENTATION_COLOR_READ_TYPE: 0x%04x\n", val);
 #endif
 
 #ifndef USE_GLES2
     // gl_PointSize is always available in ES2 GLSL, but has to be
     // specifically enabled on desktop GLSL.
     gl->fEnable(LOCAL_GL_VERTEX_PROGRAM_POINT_SIZE);
+#endif
 
+#if !defined(USE_GLES2) && defined(USE_ANGLE)
     // initialize shader translator
     static bool didTranslatorInit = false;
     if (!didTranslatorInit && mShaderValidation) {
         if (!ShInitialize()) {
             LogMessage("GLSL translator initialization failed!");
             return PR_FALSE;
         }
         didTranslatorInit = true;
--- a/gfx/Makefile.in
+++ b/gfx/Makefile.in
@@ -51,17 +51,19 @@ endif
 # In static builds, ycbcr must appear after layers in
 # the link line on linux. This order is defined by the
 # order listed in DIRS. On shared builds ycbcr must
 # be built first so the order is reversed.
 ifndef BUILD_STATIC_LIBS
 DIRS		+= ycbcr
 endif
 
+ifneq ($(OS_ARCH)$(OS_TEST),Linuxx86_64)
 DIRS		+= angle
+endif
 
 DIRS		+= src qcms layers harfbuzz/src thebes src/thebes
 
 ifdef BUILD_STATIC_LIBS
 DIRS		+= ycbcr
 endif
 
 ifdef MOZ_IPC
--- a/toolkit/library/libxul-config.mk
+++ b/toolkit/library/libxul-config.mk
@@ -296,17 +296,22 @@ ifneq (,$(filter icon,$(MOZ_IMG_DECODERS
 DEFINES += -DICON_DECODER
 COMPONENT_LIBS += imgicon
 endif
 
 ifeq ($(MOZ_WIDGET_TOOLKIT),android)
 COMPONENT_LIBS += widget_android
 endif
 
-STATIC_LIBS += thebes ycbcr angle
+STATIC_LIBS += thebes ycbcr
+
+ifneq ($(OS_ARCH)_$(OS_TEST),Linux_x86_64)
+STATIC_LIBS += angle
+endif
+
 COMPONENT_LIBS += gkgfxthebes
 
 ifeq (windows,$(MOZ_WIDGET_TOOLKIT))
 COMPONENT_LIBS += gkwidget
 endif
 ifeq (beos,$(MOZ_WIDGET_TOOLKIT))
 COMPONENT_LIBS += widget_beos
 endif