gecko-dev/dom/canvas/moz.build

217 lines
6.0 KiB
Python

# -*- 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']