Bug 1839170 - Refactor Snap pulling, Add Firefox Snap Core22 and GNOME 42 SDK symbols...
[gecko.git] / dom / canvas / moz.build
blob652338c572e51c733be1892a0a3609cec4435920
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/.
7 with Files("**"):
8     BUG_COMPONENT = ("Core", "Graphics: Canvas2D")
10 with Files("TexUnpackBlob.cpp"):
11     BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
13 with Files("WebGL*"):
14     BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
16 with Files("test/webgl-conf/**"):
17     BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
19 with Files("test/webgl-mochitest/**"):
20     BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
22 with Files("test/reftest/webgl*"):
23     BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
25 with Files("test/chrome/*webgl*"):
26     BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
28 with Files("test/crossorigin/*webgl*"):
29     BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL")
31 # Change the following line(s) to avoid bug 1081323 (clobber after changing a manifest):
32 # * Adjust failure errata for webgl-conf.
34 MOCHITEST_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",
42 MOCHITEST_CHROME_MANIFESTS += ["test/chrome/chrome.ini"]
44 EXPORTS += [
45     "nsICanvasRenderingContextInternal.h",
48 EXPORTS.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     "OffscreenCanvas.h",
63     "OffscreenCanvasDisplayHelper.h",
64     "OffscreenCanvasRenderingContext2D.h",
65     "QueueParamTraits.h",
66     "TextMetrics.h",
67     "TiedFields.h",
68     "TupleUtils.h",
69     "WebGLChild.h",
70     "WebGLCommandQueue.h",
71     "WebGLIpdl.h",
72     "WebGLParent.h",
73     "WebGLTexelConversions.h",
74     "WebGLTypes.h",
75     "XRWebGLLayer.h",
77 # XRWebGLLayer.h must be exported for use by the generated WebXRBinding.h
79 EXPORTS.mozilla.gfx += [
80     "DrawTargetWebgl.h",
83 # Canvas 2D and common sources
85 # Due to bug 1745384, and the associated clang mingw cross compile crash, we
86 # must be careful about disturbing the unified file combinations.
87 # nsICanvasRenderingContextInternal.cpp cannot be built standalone until this
88 # is resolved, so new files may need to be added to SOURCES for the time being.
89 UNIFIED_SOURCES += [
90     "CanvasGradient.cpp",
91     "CanvasImageCache.cpp",
92     "CanvasPattern.cpp",
93     "CanvasRenderingContext2D.cpp",
94     "CanvasRenderingContextHelper.cpp",
95     "CanvasUtils.cpp",
96     "ImageBitmap.cpp",
97     "ImageBitmapRenderingContext.cpp",
98     "ImageData.cpp",
99     "nsICanvasRenderingContextInternal.cpp",
100     "OffscreenCanvas.cpp",
101     "XRWebGLLayer.cpp",
104 SOURCES += [
105     "DrawTargetWebgl.cpp",  # Isolate Skia
106     "ImageUtils.cpp",
107     "OffscreenCanvasDisplayHelper.cpp",  # See bug 1745384
108     "OffscreenCanvasRenderingContext2D.cpp",  # See bug 1745384
109     "SourceSurfaceWebgl.cpp",
112 # WebGL Sources
113 UNIFIED_SOURCES += [
114     "CacheInvalidator.cpp",
115     "ClientWebGLContext.cpp",
116     "ClientWebGLExtensions.cpp",
117     "HostWebGLContext.cpp",
118     "SanitizeRenderer.cpp",
119     "TexUnpackBlob.cpp",
120     "WebGL2Context.cpp",
121     "WebGL2ContextBuffers.cpp",
122     "WebGL2ContextFramebuffers.cpp",
123     "WebGL2ContextMRTs.cpp",
124     "WebGL2ContextQueries.cpp",
125     "WebGL2ContextRenderbuffers.cpp",
126     "WebGL2ContextSamplers.cpp",
127     "WebGL2ContextState.cpp",
128     "WebGL2ContextSync.cpp",
129     "WebGL2ContextTransformFeedback.cpp",
130     "WebGL2ContextUniforms.cpp",
131     "WebGLBuffer.cpp",
132     "WebGLChild.cpp",
133     "WebGLContext.cpp",
134     "WebGLContextBuffers.cpp",
135     "WebGLContextDraw.cpp",
136     "WebGLContextExtensions.cpp",
137     "WebGLContextFramebufferOperations.cpp",
138     "WebGLContextGL.cpp",
139     "WebGLContextLossHandler.cpp",
140     "WebGLContextState.cpp",
141     "WebGLContextTextures.cpp",
142     "WebGLContextUtils.cpp",
143     "WebGLContextValidate.cpp",
144     "WebGLContextVertexArray.cpp",
145     "WebGLContextVertices.cpp",
146     "WebGLExtensions.cpp",
147     "WebGLFormats.cpp",
148     "WebGLFramebuffer.cpp",
149     "WebGLMemoryTracker.cpp",
150     "WebGLParent.cpp",
151     "WebGLProgram.cpp",
152     "WebGLQuery.cpp",
153     "WebGLRenderbuffer.cpp",
154     "WebGLSampler.cpp",
155     "WebGLShader.cpp",
156     "WebGLShaderValidator.cpp",
157     "WebGLSync.cpp",
158     "WebGLTexelConversions.cpp",
159     "WebGLTexture.cpp",
160     "WebGLTextureUpload.cpp",
161     "WebGLTransformFeedback.cpp",
162     "WebGLValidateStrings.cpp",
163     "WebGLVertexArray.cpp",
164     "WebGLVertexArrayFake.cpp",
165     "WebGLVertexArrayGL.cpp",
168 SOURCES += [
169     "MurmurHash3.cpp",
172 IPDL_SOURCES += [
173     "PWebGL.ipdl",
176 TEST_DIRS += [
177     "gtest",
180 # Suppress warnings from third-party code.
181 SOURCES["MurmurHash3.cpp"].flags += ["-Wno-implicit-fallthrough"]
183 LOCAL_INCLUDES += [
184     "/js/xpconnect/wrappers",
187 include("/ipc/chromium/chromium-config.mozbuild")
190 USE_LIBS += ["translator"]  # Grab the Angle shader translator.
192 FINAL_LIBRARY = "xul"
193 LOCAL_INCLUDES += [
194     "/dom/base",
195     "/dom/html",
196     "/dom/svg",
197     "/dom/workers",
198     "/dom/xul",
199     "/gfx/angle/checkout/include",
200     "/gfx/cairo/cairo/src",
201     "/gfx/gl",
202     "/image",
203     "/js/xpconnect/src",
204     "/layout/generic",
205     "/layout/style",
206     "/layout/xul",
207     "/media/libyuv/libyuv/include",
210 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
211     CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
213 LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
215 if CONFIG["CC_TYPE"] in ("clang", "clang-cl"):
216     CXXFLAGS += ["-Werror=implicit-int-conversion"]
217     CXXFLAGS += ["-Werror=switch"]
219 if CONFIG["CC_TYPE"] == "gcc":
220     CXXFLAGS += ["-Wno-error=unused-result"]  # GCC doesn't ignore (void)MustUse();
222 # Add libFuzzer configuration directives
223 include("/tools/fuzzing/libfuzzer-config.mozbuild")