1# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2# vim: set filetype=python: 3# This Source Code Form is subject to the terms of the Mozilla Public 4# License, v. 2.0. If a copy of the MPL was not distributed with this 5# file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 7with Files('**'): 8 BUG_COMPONENT = ('Core', 'Canvas: 2D') 9 10with Files('TexUnpackBlob.cpp'): 11 BUG_COMPONENT = ('Core', 'Canvas: WebGL') 12 13with Files('WebGL*'): 14 BUG_COMPONENT = ('Core', 'Canvas: WebGL') 15 16with Files('test/webgl-conf/**'): 17 BUG_COMPONENT = ('Core', 'Canvas: WebGL') 18 19with Files('test/webgl-mochitest/**'): 20 BUG_COMPONENT = ('Core', 'Canvas: WebGL') 21 22with Files('test/reftest/webgl*'): 23 BUG_COMPONENT = ('Core', 'Canvas: WebGL') 24 25with Files('test/chrome/*webgl*'): 26 BUG_COMPONENT = ('Core', 'Canvas: WebGL') 27 28with Files('test/crossorigin/*webgl*'): 29 BUG_COMPONENT = ('Core', 'Canvas: WebGL') 30 31TEST_DIRS += [ 32 'gtest' 33] 34 35# Change the following line(s) to avoid bug 1081323 (clobber after changing a manifest): 36# * Adjust failure errata for webgl-conf. 37 38MOCHITEST_MANIFESTS += [ 39 'test/crash/mochitest.ini', 40 'test/crossorigin/mochitest.ini', 41 'test/mochitest.ini', 42 'test/webgl-conf/generated-mochitest.ini', 43 'test/webgl-mochitest/mochitest.ini', 44] 45 46MOCHITEST_CHROME_MANIFESTS += ['test/chrome/chrome.ini'] 47 48EXPORTS += [ 49 'nsICanvasRenderingContextInternal.h', 50] 51 52EXPORTS.mozilla.dom += [ 53 'BasicRenderingContext2D.h', 54 'CanvasGradient.h', 55 'CanvasPath.h', 56 'CanvasPattern.h', 57 'CanvasRenderingContext2D.h', 58 'CanvasRenderingContextHelper.h', 59 'CanvasUtils.h', 60 'ImageBitmap.h', 61 'ImageBitmapRenderingContext.h', 62 'ImageBitmapSource.h', 63 'ImageData.h', 64 'ImageUtils.h', 65 'OffscreenCanvas.h', 66 'TextMetrics.h', 67 'WebGLVertexArrayObject.h', 68] 69 70# Canvas 2D and common sources 71UNIFIED_SOURCES += [ 72 'CanvasImageCache.cpp', 73 'CanvasRenderingContext2D.cpp', 74 'CanvasRenderingContextHelper.cpp', 75 'CanvasUtils.cpp', 76 'ImageBitmap.cpp', 77 'ImageBitmapColorUtils.cpp', 78 'ImageBitmapRenderingContext.cpp', 79 'ImageBitmapUtils.cpp', 80 'ImageData.cpp', 81 'OffscreenCanvas.cpp', 82] 83 84SOURCES += [ 85 'ImageUtils.cpp', 86] 87 88# WebGL Sources 89UNIFIED_SOURCES += [ 90 'CacheMap.cpp', 91 'TexUnpackBlob.cpp', 92 'WebGL1Context.cpp', 93 'WebGL2Context.cpp', 94 'WebGL2ContextBuffers.cpp', 95 'WebGL2ContextFramebuffers.cpp', 96 'WebGL2ContextMRTs.cpp', 97 'WebGL2ContextPrograms.cpp', 98 'WebGL2ContextQueries.cpp', 99 'WebGL2ContextRenderbuffers.cpp', 100 'WebGL2ContextSamplers.cpp', 101 'WebGL2ContextState.cpp', 102 'WebGL2ContextSync.cpp', 103 'WebGL2ContextTextures.cpp', 104 'WebGL2ContextTransformFeedback.cpp', 105 'WebGL2ContextUniforms.cpp', 106 'WebGL2ContextVAOs.cpp', 107 'WebGLActiveInfo.cpp', 108 'WebGLBuffer.cpp', 109 'WebGLContext.cpp', 110 'WebGLContextBuffers.cpp', 111 'WebGLContextDraw.cpp', 112 'WebGLContextExtensions.cpp', 113 'WebGLContextFramebufferOperations.cpp', 114 'WebGLContextGL.cpp', 115 'WebGLContextLossHandler.cpp', 116 'WebGLContextState.cpp', 117 'WebGLContextTextures.cpp', 118 'WebGLContextUnchecked.cpp', 119 'WebGLContextUtils.cpp', 120 'WebGLContextValidate.cpp', 121 'WebGLContextVertexArray.cpp', 122 'WebGLContextVertices.cpp', 123 'WebGLExtensionBase.cpp', 124 'WebGLExtensionBlendMinMax.cpp', 125 'WebGLExtensionColorBufferFloat.cpp', 126 'WebGLExtensionColorBufferHalfFloat.cpp', 127 'WebGLExtensionCompressedTextureASTC.cpp', 128 'WebGLExtensionCompressedTextureATC.cpp', 129 'WebGLExtensionCompressedTextureES3.cpp', 130 'WebGLExtensionCompressedTextureETC1.cpp', 131 'WebGLExtensionCompressedTexturePVRTC.cpp', 132 'WebGLExtensionCompressedTextureS3TC.cpp', 133 'WebGLExtensionCompressedTextureS3TC_SRGB.cpp', 134 'WebGLExtensionDebugRendererInfo.cpp', 135 'WebGLExtensionDebugShaders.cpp', 136 'WebGLExtensionDepthTexture.cpp', 137 'WebGLExtensionDisjointTimerQuery.cpp', 138 'WebGLExtensionDrawBuffers.cpp', 139 'WebGLExtensionElementIndexUint.cpp', 140 'WebGLExtensionEXTColorBufferFloat.cpp', 141 'WebGLExtensionFragDepth.cpp', 142 'WebGLExtensionInstancedArrays.cpp', 143 'WebGLExtensionLoseContext.cpp', 144 'WebGLExtensionMOZDebug.cpp', 145 'WebGLExtensionShaderTextureLod.cpp', 146 'WebGLExtensionSRGB.cpp', 147 'WebGLExtensionStandardDerivatives.cpp', 148 'WebGLExtensionTextureFilterAnisotropic.cpp', 149 'WebGLExtensionTextureFloat.cpp', 150 'WebGLExtensionTextureFloatLinear.cpp', 151 'WebGLExtensionTextureHalfFloat.cpp', 152 'WebGLExtensionTextureHalfFloatLinear.cpp', 153 'WebGLExtensionVertexArray.cpp', 154 'WebGLFormats.cpp', 155 'WebGLFramebuffer.cpp', 156 'WebGLFramebufferAttachable.cpp', 157 'WebGLMemoryTracker.cpp', 158 'WebGLObjectModel.cpp', 159 'WebGLProgram.cpp', 160 'WebGLQuery.cpp', 161 'WebGLRenderbuffer.cpp', 162 'WebGLSampler.cpp', 163 'WebGLShader.cpp', 164 'WebGLShaderPrecisionFormat.cpp', 165 'WebGLShaderValidator.cpp', 166 'WebGLSync.cpp', 167 'WebGLTexelConversions.cpp', 168 'WebGLTexture.cpp', 169 'WebGLTextureUpload.cpp', 170 'WebGLTransformFeedback.cpp', 171 'WebGLUniformLocation.cpp', 172 'WebGLValidateStrings.cpp', 173 'WebGLVertexArray.cpp', 174 'WebGLVertexArrayFake.cpp', 175 'WebGLVertexArrayGL.cpp', 176 'WebGLVertexArrayObject.cpp', 177 'WebGLVertexAttribData.cpp', 178] 179 180SOURCES += [ 181 'MurmurHash3.cpp', 182] 183 184# Suppress warnings from third-party code. 185if CONFIG['CC_TYPE'] in ('clang', 'gcc'): 186 SOURCES['MurmurHash3.cpp'].flags += ['-Wno-implicit-fallthrough'] 187 188LOCAL_INCLUDES += [ 189 '/js/xpconnect/wrappers', 190] 191 192include('/ipc/chromium/chromium-config.mozbuild') 193 194 195USE_LIBS += [ 'translator' ] # Grab the Angle shader translator. 196 197FINAL_LIBRARY = 'xul' 198LOCAL_INCLUDES += [ 199 '/dom/base', 200 '/dom/html', 201 '/dom/svg', 202 '/dom/workers', 203 '/dom/xul', 204 '/gfx/angle/checkout/include', 205 '/gfx/gl', 206 '/image', 207 '/js/xpconnect/src', 208 '/layout/generic', 209 '/layout/style', 210 '/layout/xul', 211 '/media/libyuv/libyuv/include', 212] 213 214CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] 215CXXFLAGS += CONFIG['TK_CFLAGS'] 216 217LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] 218 219if CONFIG['CC_TYPE'] in ('clang', 'gcc'): 220 CXXFLAGS += ['-Wno-error=shadow', '-Wno-missing-braces'] 221