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 id14386
push uservladimir@mozilla.com
push dateThu, 15 Jul 2010 03:53:24 +0000
treeherdermozilla-central@42029b6d627e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs571172
milestone2.0b2pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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