gecko-dev/dom/canvas/moz.build

229 строки
6.1 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",
"GeneratePlaceholderCanvasData.h",
"ImageBitmap.h",
"ImageBitmapRenderingContext.h",
"ImageBitmapSource.h",
"ImageData.h",
"ImageUtils.h",
"IpdlQueue.h",
"OffscreenCanvas.h",
"QueueParamTraits.h",
"SanitizeRenderer.h",
"TextMetrics.h",
"WebGLChild.h",
"WebGLCommandQueue.h",
"WebGLIpdl.h",
"WebGLParent.h",
"WebGLTypes.h",
"XRWebGLLayer.h",
]
# XRWebGLLayer.h must be exported for use by the generated WebXRBinding.h
# Canvas 2D and common sources
UNIFIED_SOURCES += [
"CanvasGradient.cpp",
"CanvasImageCache.cpp",
"CanvasPattern.cpp",
"CanvasRenderingContext2D.cpp",
"CanvasRenderingContextHelper.cpp",
"CanvasUtils.cpp",
"ImageBitmap.cpp",
"ImageBitmapRenderingContext.cpp",
"ImageData.cpp",
"nsICanvasRenderingContextInternal.cpp",
"OffscreenCanvas.cpp",
"XRWebGLLayer.cpp",
]
SOURCES += [
"ImageUtils.cpp",
]
# WebGL Sources
UNIFIED_SOURCES += [
"CacheInvalidator.cpp",
"ClientWebGLContext.cpp",
"ClientWebGLExtensions.cpp",
"HostWebGLContext.cpp",
"TexUnpackBlob.cpp",
"WebGL2Context.cpp",
"WebGL2ContextBuffers.cpp",
"WebGL2ContextFramebuffers.cpp",
"WebGL2ContextMRTs.cpp",
"WebGL2ContextQueries.cpp",
"WebGL2ContextRenderbuffers.cpp",
"WebGL2ContextSamplers.cpp",
"WebGL2ContextState.cpp",
"WebGL2ContextSync.cpp",
"WebGL2ContextTransformFeedback.cpp",
"WebGL2ContextUniforms.cpp",
"WebGLBuffer.cpp",
"WebGLChild.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",
"WebGLExtensionColorBufferFloat.cpp",
"WebGLExtensionColorBufferHalfFloat.cpp",
"WebGLExtensionCompressedTextureASTC.cpp",
"WebGLExtensionCompressedTextureBPTC.cpp",
"WebGLExtensionCompressedTextureES3.cpp",
"WebGLExtensionCompressedTextureETC1.cpp",
"WebGLExtensionCompressedTexturePVRTC.cpp",
"WebGLExtensionCompressedTextureRGTC.cpp",
"WebGLExtensionCompressedTextureS3TC.cpp",
"WebGLExtensionCompressedTextureS3TC_SRGB.cpp",
"WebGLExtensionDepthTexture.cpp",
"WebGLExtensionDisjointTimerQuery.cpp",
"WebGLExtensionDrawBuffers.cpp",
"WebGLExtensionEXTColorBufferFloat.cpp",
"WebGLExtensionFragDepth.cpp",
"WebGLExtensionInstancedArrays.cpp",
"WebGLExtensions.cpp",
"WebGLExtensionShaderTextureLod.cpp",
"WebGLExtensionSRGB.cpp",
"WebGLExtensionTextureFloat.cpp",
"WebGLExtensionTextureFloatLinear.cpp",
"WebGLExtensionTextureHalfFloat.cpp",
"WebGLExtensionTextureHalfFloatLinear.cpp",
"WebGLFormats.cpp",
"WebGLFramebuffer.cpp",
"WebGLMemoryTracker.cpp",
"WebGLParent.cpp",
"WebGLProgram.cpp",
"WebGLQuery.cpp",
"WebGLRenderbuffer.cpp",
"WebGLSampler.cpp",
"WebGLShader.cpp",
"WebGLShaderValidator.cpp",
"WebGLSync.cpp",
"WebGLTexelConversions.cpp",
"WebGLTexture.cpp",
"WebGLTextureUpload.cpp",
"WebGLTransformFeedback.cpp",
"WebGLValidateStrings.cpp",
"WebGLVertexArray.cpp",
"WebGLVertexArrayFake.cpp",
"WebGLVertexArrayGL.cpp",
]
SOURCES += [
"MurmurHash3.cpp",
]
IPDL_SOURCES += [
"PWebGL.ipdl",
]
TEST_DIRS += [
"gtest",
]
# 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"]
if CONFIG["CC_TYPE"] in ("clang", "clang-cl"):
CXXFLAGS += ["-Werror=implicit-int-conversion"]
CXXFLAGS += ["-Werror=switch"]
if CONFIG["CC_TYPE"] == "gcc":
CXXFLAGS += ["-Wno-error=unused-result"] # GCC doesn't ignore (void)MustUse();