Bug 1874684 - Part 28: Return DateDuration from DifferenceISODateTime. r=mgaudet
[gecko.git] / gfx / gl / moz.build
blob965b0add48e68f45020151ccd0c110b6bd26705d
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 gl_provider = "Null"
9 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
10     gl_provider = "WGL"
11 elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
12     gl_provider = "CGL"
13 elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit":
14     gl_provider = "EAGL"
15     DEFINES["GLES_SILENCE_DEPRECATION"] = 1
16 elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
17     gl_provider = "Linux"
18 elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
19     gl_provider = "EGL"
21 if CONFIG["MOZ_GL_PROVIDER"]:
22     gl_provider = CONFIG["MOZ_GL_PROVIDER"]
24 EXPORTS += [
25     "AndroidSurfaceTexture.h",
26     "AutoMappable.h",
27     "Colorspaces.h",
28     "ForceDiscreteGPUHelperCGL.h",
29     "GfxTexturesReporter.h",
30     "GLBlitHelper.h",
31     "GLConsts.h",
32     "GLContext.h",
33     "GLContextEGL.h",
34     "GLContextProvider.h",
35     "GLContextProviderImpl.h",
36     "GLContextSymbols.h",
37     "GLContextTypes.h",
38     "GLDefs.h",
39     "GLLibraryEGL.h",
40     "GLLibraryLoader.h",
41     "GLReadTexImageHelper.h",
42     "GLScreenBuffer.h",
43     "GLTextureImage.h",
44     "GLTypes.h",
45     "GLUploadHelpers.h",
46     "HeapCopyOfStackArray.h",
47     "MozFramebuffer.h",
48     "ScopedGLHelpers.h",
49     "SharedSurface.h",
50     "SharedSurfaceEGL.h",
51     "SharedSurfaceGL.h",
52     "SurfaceTypes.h",
55 # Win32 is a special snowflake, for ANGLE
56 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
57     EXPORTS += [
58         "GLContextWGL.h",
59         "SharedSurfaceANGLE.h",  # Needs <windows.h> for `HANDLE`.
60         "SharedSurfaceD3D11Interop.h",
61         "WGLLibrary.h",
62     ]
63     UNIFIED_SOURCES += [
64         "GLBlitHelperD3D.cpp",
65         "GLContextProviderWGL.cpp",
66         "SharedSurfaceANGLE.cpp",
67         "SharedSurfaceD3D11Interop.cpp",
68     ]
70 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
71     EXPORTS += [
72         "AndroidNativeWindow.h",
73         "SharedSurfaceAndroidHardwareBuffer.h",
74     ]
75     UNIFIED_SOURCES += [
76         "SharedSurfaceAndroidHardwareBuffer.cpp",
77     ]
79 if gl_provider == "CGL":
80     # These files include Mac headers that are unfriendly to unified builds
81     SOURCES += [
82         "GLContextProviderCGL.mm",
83     ]
84     EXPORTS += [
85         "GLContextCGL.h",
86         "SharedSurfaceIO.h",
87     ]
88     # SharedSurfaceIO.cpp includes MacIOSurface.h which include Mac headers
89     # which define Size and Point types in root namespace with often conflict with
90     # our own types. While I haven't actually hit this issue in the present case,
91     # it's been an issue in gfx/layers so let's not risk it.
92     SOURCES += [
93         "SharedSurfaceIO.cpp",
94     ]
95     OS_LIBS += [
96         "-framework IOSurface",
97     ]
99 elif gl_provider == "EAGL":
100     # These files include ObjC headers that are unfriendly to unified builds
101     SOURCES += [
102         "GLContextProviderEAGL.mm",
103     ]
104     EXPORTS += [
105         "GLContextEAGL.h",
106     ]
108 elif gl_provider == "Linux":
109     # GLContextProviderGLX.cpp needs to be kept out of UNIFIED_SOURCES
110     # as it includes X11 headers which cause conflicts.
111     SOURCES += [
112         "GLContextProviderLinux.cpp",
113         "SharedSurfaceDMABUF.cpp",
114     ]
115     EXPORTS += ["GLContextGLX.h", "GLXLibrary.h"]
116     if CONFIG["MOZ_X11"]:
117         SOURCES += ["GLContextProviderGLX.cpp"]
119 UNIFIED_SOURCES += [
120     "AndroidSurfaceTexture.cpp",
121     "Colorspaces.cpp",
122     "GfxTexturesReporter.cpp",
123     "GLBlitHelper.cpp",
124     "GLContext.cpp",
125     "GLContextFeatures.cpp",
126     "GLContextProviderEGL.cpp",
127     "GLDebugUtils.cpp",
128     "GLLibraryEGL.cpp",
129     "GLLibraryLoader.cpp",
130     "GLReadTexImageHelper.cpp",
131     "GLTextureImage.cpp",
132     "GLUploadHelpers.cpp",
133     "MozFramebuffer.cpp",
134     "ScopedGLHelpers.cpp",
135     "SharedSurface.cpp",
136     "SharedSurfaceEGL.cpp",
137     "SharedSurfaceGL.cpp",
139 SOURCES += [
140     "GLScreenBuffer.cpp",
143 TEST_DIRS += [
144     "gtest",
147 include("/ipc/chromium/chromium-config.mozbuild")
149 FINAL_LIBRARY = "xul"
151 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
152     CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
153     CFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
155 CXXFLAGS += ["-Werror=switch"]
157 if CONFIG["MOZ_WAYLAND"]:
158     CXXFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"]
159     CFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"]
161 LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
162 LOCAL_INCLUDES += [
163     "/gfx/cairo/cairo/src",