summaryrefslogtreecommitdiffstats
path: root/dom/canvas/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'dom/canvas/moz.build')
-rw-r--r--dom/canvas/moz.build223
1 files changed, 223 insertions, 0 deletions
diff --git a/dom/canvas/moz.build b/dom/canvas/moz.build
new file mode 100644
index 0000000000..652338c572
--- /dev/null
+++ b/dom/canvas/moz.build
@@ -0,0 +1,223 @@
+# -*- 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", "Graphics: Canvas2D")
+
+with Files("TexUnpackBlob.cpp"):
+ BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
+
+with Files("WebGL*"):
+ BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
+
+with Files("test/webgl-conf/**"):
+ BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
+
+with Files("test/webgl-mochitest/**"):
+ BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
+
+with Files("test/reftest/webgl*"):
+ BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
+
+with Files("test/chrome/*webgl*"):
+ BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
+
+with Files("test/crossorigin/*webgl*"):
+ BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
+
+# 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",
+ "OffscreenCanvas.h",
+ "OffscreenCanvasDisplayHelper.h",
+ "OffscreenCanvasRenderingContext2D.h",
+ "QueueParamTraits.h",
+ "TextMetrics.h",
+ "TiedFields.h",
+ "TupleUtils.h",
+ "WebGLChild.h",
+ "WebGLCommandQueue.h",
+ "WebGLIpdl.h",
+ "WebGLParent.h",
+ "WebGLTexelConversions.h",
+ "WebGLTypes.h",
+ "XRWebGLLayer.h",
+]
+# XRWebGLLayer.h must be exported for use by the generated WebXRBinding.h
+
+EXPORTS.mozilla.gfx += [
+ "DrawTargetWebgl.h",
+]
+
+# Canvas 2D and common sources
+#
+# Due to bug 1745384, and the associated clang mingw cross compile crash, we
+# must be careful about disturbing the unified file combinations.
+# nsICanvasRenderingContextInternal.cpp cannot be built standalone until this
+# is resolved, so new files may need to be added to SOURCES for the time being.
+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 += [
+ "DrawTargetWebgl.cpp", # Isolate Skia
+ "ImageUtils.cpp",
+ "OffscreenCanvasDisplayHelper.cpp", # See bug 1745384
+ "OffscreenCanvasRenderingContext2D.cpp", # See bug 1745384
+ "SourceSurfaceWebgl.cpp",
+]
+
+# WebGL Sources
+UNIFIED_SOURCES += [
+ "CacheInvalidator.cpp",
+ "ClientWebGLContext.cpp",
+ "ClientWebGLExtensions.cpp",
+ "HostWebGLContext.cpp",
+ "SanitizeRenderer.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",
+ "WebGLExtensions.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.
+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/cairo/cairo/src",
+ "/gfx/gl",
+ "/image",
+ "/js/xpconnect/src",
+ "/layout/generic",
+ "/layout/style",
+ "/layout/xul",
+ "/media/libyuv/libyuv/include",
+]
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
+ CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
+
+LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
+
+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();
+
+# Add libFuzzer configuration directives
+include("/tools/fuzzing/libfuzzer-config.mozbuild")