Backed out 15 changesets (bug 1852806) for causing mda failures on test_video_low_pow...
[gecko.git] / gfx / 2d / moz.build
blob8da44002f4836418cdb6b033cbb1d0abf50d4ac6
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 EXPORTS.mozilla += [
8     "GenericRefCounted.h",
11 EXPORTS.mozilla.gfx += [
12     "2D.h",
13     "BaseCoord.h",
14     "BaseMargin.h",
15     "BasePoint.h",
16     "BasePoint3D.h",
17     "BasePoint4D.h",
18     "BaseRect.h",
19     "BaseSize.h",
20     "BezierUtils.h",
21     "Blur.h",
22     "BorrowedContext.h",
23     "Coord.h",
24     "CriticalSection.h",
25     "DataSurfaceHelpers.h",
26     "DrawEventRecorder.h",
27     "DrawTargetOffset.h",
28     "DrawTargetRecording.h",
29     "DrawTargetSkia.h",
30     "Filters.h",
31     "FontVariation.h",
32     "Helpers.h",
33     "HelpersCairo.h",
34     "InlineTranslator.h",
35     "IterableArena.h",
36     "Logging.h",
37     "LoggingConstants.h",
38     "Matrix.h",
39     "MatrixFwd.h",
40     "NumericTools.h",
41     "PathHelpers.h",
42     "PathSkia.h",
43     "PatternHelpers.h",
44     "Point.h",
45     "Polygon.h",
46     "Quaternion.h",
47     "RecordedEvent.h",
48     "RecordingTypes.h",
49     "Rect.h",
50     "RectAbsolute.h",
51     "Scale.h",
52     "ScaleFactor.h",
53     "ScaleFactors2D.h",
54     "SourceSurfaceCairo.h",
55     "SourceSurfaceRawData.h",
56     "StackArray.h",
57     "Swizzle.h",
58     "Tools.h",
59     "Triangle.h",
60     "Types.h",
61     "UserData.h",
64 EXPORTS.mozilla.gfx += ["ssse3-scaler.h"]
66 if CONFIG["MOZ_WIDGET_TOOLKIT"] in ("cocoa", "uikit"):
67     EXPORTS.mozilla.gfx += [
68         "MacIOSurface.h",
69         "UnscaledFontMac.h",
70     ]
71     UNIFIED_SOURCES += [
72         "NativeFontResourceMac.cpp",
73         "ScaledFontMac.cpp",
74     ]
75 elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
76     EXPORTS.mozilla.gfx += [
77         "dw-extra.h",
78         "DWriteSettings.h",
79         "UnscaledFontDWrite.h",
80         "UnscaledFontGDI.h",
81     ]
82     SOURCES += [
83         "ConicGradientEffectD2D1.cpp",
84         "DrawTargetD2D1.cpp",
85         "DWriteSettings.cpp",
86         "ExtendInputEffectD2D1.cpp",
87         "FilterNodeD2D1.cpp",
88         "NativeFontResourceDWrite.cpp",
89         "NativeFontResourceGDI.cpp",
90         "PathD2D.cpp",
91         "RadialGradientEffectD2D1.cpp",
92         "ScaledFontDWrite.cpp",
93         "ScaledFontWin.cpp",
94         "SourceSurfaceD2D1.cpp",
95     ]
96     DEFINES["WIN32"] = True
98 if CONFIG["MOZ_WIDGET_TOOLKIT"] in ("android", "gtk"):
99     EXPORTS.mozilla.gfx += [
100         "UnscaledFontFreeType.h",
101     ]
102     SOURCES += [
103         "NativeFontResourceFreeType.cpp",
104         "UnscaledFontFreeType.cpp",
105     ]
107 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
108     SOURCES += [
109         "ScaledFontFontconfig.cpp",
110     ]
112 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
113     SOURCES += [
114         "ScaledFontFreeType.cpp",
115     ]
117 EXPORTS.mozilla.gfx += [
118     "ConvolutionFilter.h",
119     "HelpersSkia.h",
122 # Are we targeting x86 or x64?  If so, build SSE2 files.
123 if CONFIG["INTEL_ARCHITECTURE"]:
124     SOURCES += [
125         "BlurSSE2.cpp",
126         "ConvolutionFilterAVX2.cpp",
127         "ConvolutionFilterSSE2.cpp",
128         "FilterProcessingSSE2.cpp",
129         "ImageScalingSSE2.cpp",
130         "ssse3-scaler.c",
131         "SwizzleAVX2.cpp",
132         "SwizzleSSE2.cpp",
133         "SwizzleSSSE3.cpp",
134     ]
135     DEFINES["USE_SSE2"] = True
136     # The file uses SSE2 intrinsics, so it needs special compile flags on some
137     # compilers.
138     SOURCES["BlurSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
139     SOURCES["ConvolutionFilterAVX2.cpp"].flags += ["-mavx2"]
140     SOURCES["ConvolutionFilterSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
141     SOURCES["FilterProcessingSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
142     SOURCES["ImageScalingSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
143     SOURCES["SwizzleAVX2.cpp"].flags += ["-mavx2"]
144     SOURCES["SwizzleSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
145     SOURCES["SwizzleSSSE3.cpp"].flags += CONFIG["SSSE3_FLAGS"]
146     SOURCES["ssse3-scaler.c"].flags += CONFIG["SSSE3_FLAGS"]
147 elif CONFIG["CPU_ARCH"].startswith("mips"):
148     SOURCES += [
149         "BlurLS3.cpp",
150     ]
152 UNIFIED_SOURCES += [
153     "BezierUtils.cpp",
154     "Blur.cpp",
155     "BufferEdgePad.cpp",
156     "BufferUnrotate.cpp",
157     "ConvolutionFilter.cpp",
158     "DataSourceSurface.cpp",
159     "DataSurfaceHelpers.cpp",
160     "DrawEventRecorder.cpp",
161     "DrawTarget.cpp",
162     "DrawTargetCairo.cpp",
163     "DrawTargetOffset.cpp",
164     "DrawTargetRecording.cpp",
165     "DrawTargetSkia.cpp",
166     "Factory.cpp",
167     "FilterNodeSoftware.cpp",
168     "FilterProcessing.cpp",
169     "FilterProcessingScalar.cpp",
170     "ImageScaling.cpp",
171     "Matrix.cpp",
172     "NativeFontResource.cpp",
173     "Path.cpp",
174     "PathCairo.cpp",
175     "PathHelpers.cpp",
176     "PathRecording.cpp",
177     "PathSkia.cpp",
178     "Quaternion.cpp",
179     "RecordedEvent.cpp",
180     "ScaledFontBase.cpp",
181     "SFNTData.cpp",
182     "SkConvolver.cpp",
183     "SourceSurfaceCairo.cpp",
184     "SourceSurfaceRawData.cpp",
185     "SourceSurfaceSkia.cpp",
186     "Swizzle.cpp",
187     "Types.cpp",
190 SOURCES += [
191     "InlineTranslator.cpp",
194 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
195     SOURCES += [
196         "MacIOSurface.cpp",
197     ]
199 if CONFIG["CPU_ARCH"] == "aarch64" or CONFIG["BUILD_ARM_NEON"]:
200     SOURCES += [
201         "BlurNEON.cpp",
202         "ConvolutionFilterNEON.cpp",
203         "LuminanceNEON.cpp",
204         "SwizzleNEON.cpp",
205     ]
206     DEFINES["USE_NEON"] = True
207     SOURCES["BlurNEON.cpp"].flags += CONFIG["NEON_FLAGS"]
208     SOURCES["ConvolutionFilterNEON.cpp"].flags += CONFIG["NEON_FLAGS"]
209     SOURCES["LuminanceNEON.cpp"].flags += CONFIG["NEON_FLAGS"]
210     SOURCES["SwizzleNEON.cpp"].flags += CONFIG["NEON_FLAGS"]
212 include("/ipc/chromium/chromium-config.mozbuild")
214 FINAL_LIBRARY = "xul"
216 for var in ("USE_CAIRO", "MOZ2D_HAS_MOZ_CAIRO"):
217     DEFINES[var] = True
219 if CONFIG["MOZ_WIDGET_TOOLKIT"] in ("android", "gtk"):
220     DEFINES["MOZ_ENABLE_FREETYPE"] = True
222 CXXFLAGS += ["-Werror=switch"]
224 if CONFIG["MOZ_WIDGET_TOOLKIT"] in ("android", "gtk"):
225     CXXFLAGS += CONFIG["CAIRO_FT_CFLAGS"]
227 LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
228 LOCAL_INCLUDES += [
229     "/gfx/cairo/cairo/src",