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 31# Change the following line(s) to avoid bug 1081323 (clobber after changing a manifest): 32# * Adjust failure errata for webgl-conf. 33 34MOCHITEST_MANIFESTS += [ 35 'test/crash/mochitest.ini', 36 'test/crossorigin/mochitest.ini', 37 'test/mochitest.ini', 38 'test/webgl-conf/generated-mochitest.ini', 39 'test/webgl-mochitest/mochitest.ini', 40] 41 42MOCHITEST_CHROME_MANIFESTS += ['test/chrome/chrome.ini'] 43 44EXPORTS += [ 45 'nsICanvasRenderingContextInternal.h', 46] 47 48EXPORTS.mozilla.dom += [ 49 'BasicRenderingContext2D.h', 50 'CanvasGradient.h', 51 'CanvasPath.h', 52 'CanvasPattern.h', 53 'CanvasRenderingContext2D.h', 54 'CanvasRenderingContextHelper.h', 55 'CanvasUtils.h', 56 'GeneratePlaceholderCanvasData.h', 57 'ImageBitmap.h', 58 'ImageBitmapRenderingContext.h', 59 'ImageBitmapSource.h', 60 'ImageData.h', 61 'ImageUtils.h', 62 'IpdlQueue.h', 63 'OffscreenCanvas.h', 64 'ProducerConsumerQueue.h', 65 'QueueParamTraits.h', 66 'SanitizeRenderer.h', 67 'TextMetrics.h', 68 'WebGLChild.h', 69 'WebGLCommandQueue.h', 70 'WebGLCrossProcessCommandQueue.h', 71 'WebGLIpdl.h', 72 'WebGLParent.h', 73 'WebGLTypes.h', 74 'XRWebGLLayer.h', 75] 76# XRWebGLLayer.h must be exported for use by the generated WebXRBinding.h 77 78# Canvas 2D and common sources 79UNIFIED_SOURCES += [ 80 'CanvasImageCache.cpp', 81 'CanvasRenderingContext2D.cpp', 82 'CanvasRenderingContextHelper.cpp', 83 'CanvasUtils.cpp', 84 'ImageBitmap.cpp', 85 'ImageBitmapRenderingContext.cpp', 86 'ImageData.cpp', 87 'OffscreenCanvas.cpp', 88 'XRWebGLLayer.cpp', 89] 90 91SOURCES += [ 92 'ImageUtils.cpp', 93] 94 95# WebGL Sources 96UNIFIED_SOURCES += [ 97 'CacheInvalidator.cpp', 98 'ClientWebGLContext.cpp', 99 'ClientWebGLExtensions.cpp', 100 'HostWebGLContext.cpp', 101 'Queue.cpp', 102 'TexUnpackBlob.cpp', 103 'WebGL2Context.cpp', 104 'WebGL2ContextBuffers.cpp', 105 'WebGL2ContextFramebuffers.cpp', 106 'WebGL2ContextMRTs.cpp', 107 'WebGL2ContextQueries.cpp', 108 'WebGL2ContextRenderbuffers.cpp', 109 'WebGL2ContextSamplers.cpp', 110 'WebGL2ContextState.cpp', 111 'WebGL2ContextSync.cpp', 112 'WebGL2ContextTransformFeedback.cpp', 113 'WebGL2ContextUniforms.cpp', 114 'WebGLBuffer.cpp', 115 'WebGLChild.cpp', 116 'WebGLContext.cpp', 117 'WebGLContextBuffers.cpp', 118 'WebGLContextDraw.cpp', 119 'WebGLContextExtensions.cpp', 120 'WebGLContextFramebufferOperations.cpp', 121 'WebGLContextGL.cpp', 122 'WebGLContextLossHandler.cpp', 123 'WebGLContextState.cpp', 124 'WebGLContextTextures.cpp', 125 'WebGLContextUtils.cpp', 126 'WebGLContextValidate.cpp', 127 'WebGLContextVertexArray.cpp', 128 'WebGLContextVertices.cpp', 129 'WebGLCrossProcessCommandQueue.cpp', 130 'WebGLExtensionColorBufferFloat.cpp', 131 'WebGLExtensionColorBufferHalfFloat.cpp', 132 'WebGLExtensionCompressedTextureASTC.cpp', 133 'WebGLExtensionCompressedTextureBPTC.cpp', 134 'WebGLExtensionCompressedTextureES3.cpp', 135 'WebGLExtensionCompressedTextureETC1.cpp', 136 'WebGLExtensionCompressedTexturePVRTC.cpp', 137 'WebGLExtensionCompressedTextureRGTC.cpp', 138 'WebGLExtensionCompressedTextureS3TC.cpp', 139 'WebGLExtensionCompressedTextureS3TC_SRGB.cpp', 140 'WebGLExtensionDepthTexture.cpp', 141 'WebGLExtensionDisjointTimerQuery.cpp', 142 'WebGLExtensionDrawBuffers.cpp', 143 'WebGLExtensionEXTColorBufferFloat.cpp', 144 'WebGLExtensionFragDepth.cpp', 145 'WebGLExtensionInstancedArrays.cpp', 146 'WebGLExtensions.cpp', 147 'WebGLExtensionShaderTextureLod.cpp', 148 'WebGLExtensionSRGB.cpp', 149 'WebGLExtensionTextureFloat.cpp', 150 'WebGLExtensionTextureFloatLinear.cpp', 151 'WebGLExtensionTextureHalfFloat.cpp', 152 'WebGLExtensionTextureHalfFloatLinear.cpp', 153 'WebGLFormats.cpp', 154 'WebGLFramebuffer.cpp', 155 'WebGLMemoryTracker.cpp', 156 'WebGLParent.cpp', 157 'WebGLProgram.cpp', 158 'WebGLQuery.cpp', 159 'WebGLRenderbuffer.cpp', 160 'WebGLSampler.cpp', 161 'WebGLShader.cpp', 162 'WebGLShaderValidator.cpp', 163 'WebGLSync.cpp', 164 'WebGLTexelConversions.cpp', 165 'WebGLTexture.cpp', 166 'WebGLTextureUpload.cpp', 167 'WebGLTransformFeedback.cpp', 168 'WebGLValidateStrings.cpp', 169 'WebGLVertexArray.cpp', 170 'WebGLVertexArrayFake.cpp', 171 'WebGLVertexArrayGL.cpp', 172] 173 174SOURCES += [ 175 'MurmurHash3.cpp', 176] 177 178IPDL_SOURCES += [ 179 'PWebGL.ipdl', 180] 181 182TEST_DIRS += [ 183 'gtest', 184] 185 186# Suppress warnings from third-party code. 187if CONFIG['CC_TYPE'] in ('clang', 'gcc'): 188 SOURCES['MurmurHash3.cpp'].flags += ['-Wno-implicit-fallthrough'] 189 190LOCAL_INCLUDES += [ 191 '/js/xpconnect/wrappers', 192] 193 194include('/ipc/chromium/chromium-config.mozbuild') 195 196 197USE_LIBS += [ 'translator' ] # Grab the Angle shader translator. 198 199FINAL_LIBRARY = 'xul' 200LOCAL_INCLUDES += [ 201 '/dom/base', 202 '/dom/html', 203 '/dom/svg', 204 '/dom/workers', 205 '/dom/xul', 206 '/gfx/angle/checkout/include', 207 '/gfx/gl', 208 '/image', 209 '/js/xpconnect/src', 210 '/layout/generic', 211 '/layout/style', 212 '/layout/xul', 213 '/media/libyuv/libyuv/include', 214] 215 216CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] 217CXXFLAGS += CONFIG['TK_CFLAGS'] 218 219LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] 220 221if CONFIG['CC_TYPE'] in ('clang', 'gcc'): 222 CXXFLAGS += ['-Wno-error=shadow'] 223 224if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): 225 CXXFLAGS += ['-Werror=implicit-int-conversion'] 226 227if CONFIG['CC_TYPE'] == 'gcc': 228 CXXFLAGS += ['-Wno-error=unused-result'] # GCC doesn't ignore (void)MustUse(); 229