# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. with Files('**'): BUG_COMPONENT = ('Core', 'Canvas: 2D') with Files('TexUnpackBlob.cpp'): BUG_COMPONENT = ('Core', 'Canvas: WebGL') with Files('WebGL*'): BUG_COMPONENT = ('Core', 'Canvas: WebGL') with Files('test/webgl-conf/**'): BUG_COMPONENT = ('Core', 'Canvas: WebGL') with Files('test/webgl-mochitest/**'): BUG_COMPONENT = ('Core', 'Canvas: WebGL') with Files('test/reftest/webgl*'): BUG_COMPONENT = ('Core', 'Canvas: WebGL') with Files('test/chrome/*webgl*'): BUG_COMPONENT = ('Core', 'Canvas: WebGL') with Files('test/crossorigin/*webgl*'): BUG_COMPONENT = ('Core', 'Canvas: WebGL') # Change the following line(s) to avoid bug 1081323 (clobber after changing a manifest): # * Adjust failure errata for webgl-conf. MOCHITEST_MANIFESTS += [ 'test/crash/mochitest.ini', 'test/crossorigin/mochitest.ini', 'test/mochitest.ini', 'test/webgl-conf/generated-mochitest.ini', 'test/webgl-mochitest/mochitest.ini', ] MOCHITEST_CHROME_MANIFESTS += ['test/chrome/chrome.ini'] EXPORTS += [ 'nsICanvasRenderingContextInternal.h', ] EXPORTS.mozilla.dom += [ 'BasicRenderingContext2D.h', 'CanvasGradient.h', 'CanvasPath.h', 'CanvasPattern.h', 'CanvasRenderingContext2D.h', 'CanvasRenderingContextHelper.h', 'CanvasUtils.h', 'ImageBitmap.h', 'ImageBitmapRenderingContext.h', 'ImageBitmapSource.h', 'ImageData.h', 'ImageUtils.h', 'OffscreenCanvas.h', 'TextMetrics.h', 'WebGLVertexArrayObject.h', ] # Canvas 2D and common sources UNIFIED_SOURCES += [ 'CanvasImageCache.cpp', 'CanvasRenderingContext2D.cpp', 'CanvasRenderingContextHelper.cpp', 'CanvasUtils.cpp', 'ImageBitmap.cpp', 'ImageBitmapRenderingContext.cpp', 'ImageData.cpp', 'OffscreenCanvas.cpp', ] SOURCES += [ 'ImageUtils.cpp', ] # WebGL Sources UNIFIED_SOURCES += [ 'CacheInvalidator.cpp', 'TexUnpackBlob.cpp', 'WebGL1Context.cpp', 'WebGL2Context.cpp', 'WebGL2ContextBuffers.cpp', 'WebGL2ContextFramebuffers.cpp', 'WebGL2ContextMRTs.cpp', 'WebGL2ContextPrograms.cpp', 'WebGL2ContextQueries.cpp', 'WebGL2ContextRenderbuffers.cpp', 'WebGL2ContextSamplers.cpp', 'WebGL2ContextState.cpp', 'WebGL2ContextSync.cpp', 'WebGL2ContextTextures.cpp', 'WebGL2ContextTransformFeedback.cpp', 'WebGL2ContextUniforms.cpp', 'WebGL2ContextVAOs.cpp', 'WebGLActiveInfo.cpp', 'WebGLBuffer.cpp', 'WebGLContext.cpp', 'WebGLContextBuffers.cpp', 'WebGLContextDraw.cpp', 'WebGLContextExtensions.cpp', 'WebGLContextFramebufferOperations.cpp', 'WebGLContextGL.cpp', 'WebGLContextLossHandler.cpp', 'WebGLContextState.cpp', 'WebGLContextTextures.cpp', 'WebGLContextUtils.cpp', 'WebGLContextValidate.cpp', 'WebGLContextVertexArray.cpp', 'WebGLContextVertices.cpp', 'WebGLExtensionBlendMinMax.cpp', 'WebGLExtensionColorBufferFloat.cpp', 'WebGLExtensionColorBufferHalfFloat.cpp', 'WebGLExtensionCompressedTextureASTC.cpp', 'WebGLExtensionCompressedTextureBPTC.cpp', 'WebGLExtensionCompressedTextureES3.cpp', 'WebGLExtensionCompressedTextureETC1.cpp', 'WebGLExtensionCompressedTexturePVRTC.cpp', 'WebGLExtensionCompressedTextureRGTC.cpp', 'WebGLExtensionCompressedTextureS3TC.cpp', 'WebGLExtensionCompressedTextureS3TC_SRGB.cpp', 'WebGLExtensionDebugRendererInfo.cpp', 'WebGLExtensionDebugShaders.cpp', 'WebGLExtensionDepthTexture.cpp', 'WebGLExtensionDisjointTimerQuery.cpp', 'WebGLExtensionDrawBuffers.cpp', 'WebGLExtensionElementIndexUint.cpp', 'WebGLExtensionEXTColorBufferFloat.cpp', 'WebGLExtensionFragDepth.cpp', 'WebGLExtensionInstancedArrays.cpp', 'WebGLExtensionLoseContext.cpp', 'WebGLExtensionMOZDebug.cpp', 'WebGLExtensions.cpp', 'WebGLExtensionShaderTextureLod.cpp', 'WebGLExtensionSRGB.cpp', 'WebGLExtensionStandardDerivatives.cpp', 'WebGLExtensionTextureFilterAnisotropic.cpp', 'WebGLExtensionTextureFloat.cpp', 'WebGLExtensionTextureFloatLinear.cpp', 'WebGLExtensionTextureHalfFloat.cpp', 'WebGLExtensionTextureHalfFloatLinear.cpp', 'WebGLExtensionVertexArray.cpp', 'WebGLFormats.cpp', 'WebGLFramebuffer.cpp', 'WebGLMemoryTracker.cpp', 'WebGLObjectModel.cpp', 'WebGLProgram.cpp', 'WebGLQuery.cpp', 'WebGLRenderbuffer.cpp', 'WebGLSampler.cpp', 'WebGLShader.cpp', 'WebGLShaderPrecisionFormat.cpp', 'WebGLShaderValidator.cpp', 'WebGLSync.cpp', 'WebGLTexelConversions.cpp', 'WebGLTexture.cpp', 'WebGLTextureUpload.cpp', 'WebGLTransformFeedback.cpp', 'WebGLUniformLocation.cpp', 'WebGLValidateStrings.cpp', 'WebGLVertexArray.cpp', 'WebGLVertexArrayFake.cpp', 'WebGLVertexArrayGL.cpp', 'WebGLVertexArrayObject.cpp', 'WebGLVertexAttribData.cpp', ] SOURCES += [ 'MurmurHash3.cpp', ] # Suppress warnings from third-party code. if CONFIG['CC_TYPE'] in ('clang', 'gcc'): SOURCES['MurmurHash3.cpp'].flags += ['-Wno-implicit-fallthrough'] LOCAL_INCLUDES += [ '/js/xpconnect/wrappers', ] include('/ipc/chromium/chromium-config.mozbuild') USE_LIBS += [ 'translator' ] # Grab the Angle shader translator. FINAL_LIBRARY = 'xul' LOCAL_INCLUDES += [ '/dom/base', '/dom/html', '/dom/svg', '/dom/workers', '/dom/xul', '/gfx/angle/checkout/include', '/gfx/gl', '/image', '/js/xpconnect/src', '/layout/generic', '/layout/style', '/layout/xul', '/media/libyuv/libyuv/include', ] CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] CXXFLAGS += CONFIG['TK_CFLAGS'] LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] if CONFIG['CC_TYPE'] in ('clang', 'gcc'): CXXFLAGS += ['-Wno-error=shadow', '-Wno-missing-braces'] if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): CXXFLAGS += ['-Werror=implicit-int-conversion']