mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 05:41:12 +00:00
a32dfd5297
This code was originally developed in bug 1771374, but here we omit the DCLayerTree changes for later. Differential Revision: https://phabricator.services.mozilla.com/D155027
170 lines
4.5 KiB
Python
170 lines
4.5 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/.
|
|
|
|
gl_provider = "Null"
|
|
|
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
|
|
gl_provider = "WGL"
|
|
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
|
|
gl_provider = "CGL"
|
|
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit":
|
|
gl_provider = "EAGL"
|
|
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
|
gl_provider = "Linux"
|
|
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
|
|
gl_provider = "EGL"
|
|
|
|
if CONFIG["MOZ_GL_PROVIDER"]:
|
|
gl_provider = CONFIG["MOZ_GL_PROVIDER"]
|
|
|
|
EXPORTS += [
|
|
"AndroidSurfaceTexture.h",
|
|
"AutoMappable.h",
|
|
"Colorspaces.h",
|
|
"ForceDiscreteGPUHelperCGL.h",
|
|
"GfxTexturesReporter.h",
|
|
"GLBlitHelper.h",
|
|
"GLConsts.h",
|
|
"GLContext.h",
|
|
"GLContextEGL.h",
|
|
"GLContextProvider.h",
|
|
"GLContextProviderImpl.h",
|
|
"GLContextSymbols.h",
|
|
"GLContextTypes.h",
|
|
"GLDefs.h",
|
|
"GLLibraryEGL.h",
|
|
"GLLibraryLoader.h",
|
|
"GLReadTexImageHelper.h",
|
|
"GLScreenBuffer.h",
|
|
"GLTextureImage.h",
|
|
"GLTypes.h",
|
|
"GLUploadHelpers.h",
|
|
"HeapCopyOfStackArray.h",
|
|
"MozFramebuffer.h",
|
|
"ScopedGLHelpers.h",
|
|
"SharedSurface.h",
|
|
"SharedSurfaceEGL.h",
|
|
"SharedSurfaceGL.h",
|
|
"SurfaceTypes.h",
|
|
]
|
|
|
|
# Win32 is a special snowflake, for ANGLE
|
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
|
|
REQUIRES_UNIFIED_BUILD = True
|
|
EXPORTS += [
|
|
"GLContextWGL.h",
|
|
"SharedSurfaceANGLE.h", # Needs <windows.h> for `HANDLE`.
|
|
"SharedSurfaceD3D11Interop.h",
|
|
"WGLLibrary.h",
|
|
]
|
|
UNIFIED_SOURCES += [
|
|
"GLBlitHelperD3D.cpp",
|
|
"GLContextProviderWGL.cpp",
|
|
"SharedSurfaceANGLE.cpp",
|
|
"SharedSurfaceD3D11Interop.cpp",
|
|
]
|
|
|
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
|
|
EXPORTS += [
|
|
"AndroidNativeWindow.h",
|
|
"SharedSurfaceAndroidHardwareBuffer.h",
|
|
]
|
|
UNIFIED_SOURCES += [
|
|
"SharedSurfaceAndroidHardwareBuffer.cpp",
|
|
]
|
|
|
|
if gl_provider == "CGL":
|
|
# These files include Mac headers that are unfriendly to unified builds
|
|
SOURCES += [
|
|
"GLContextProviderCGL.mm",
|
|
]
|
|
EXPORTS += [
|
|
"GLContextCGL.h",
|
|
"SharedSurfaceIO.h",
|
|
]
|
|
# SharedSurfaceIO.cpp includes MacIOSurface.h which include Mac headers
|
|
# which define Size and Point types in root namespace with often conflict with
|
|
# our own types. While I haven't actually hit this issue in the present case,
|
|
# it's been an issue in gfx/layers so let's not risk it.
|
|
SOURCES += [
|
|
"SharedSurfaceIO.cpp",
|
|
]
|
|
OS_LIBS += [
|
|
"-framework IOSurface",
|
|
]
|
|
|
|
elif gl_provider == "EAGL":
|
|
# These files include ObjC headers that are unfriendly to unified builds
|
|
SOURCES += [
|
|
"GLContextProviderEAGL.mm",
|
|
]
|
|
EXPORTS += [
|
|
"GLContextEAGL.h",
|
|
]
|
|
|
|
elif gl_provider == "Linux":
|
|
# GLContextProviderGLX.cpp needs to be kept out of UNIFIED_SOURCES
|
|
# as it includes X11 headers which cause conflicts.
|
|
SOURCES += [
|
|
"GLContextProviderLinux.cpp",
|
|
]
|
|
EXPORTS += ["GLContextGLX.h", "GLXLibrary.h"]
|
|
if CONFIG["MOZ_X11"]:
|
|
SOURCES += ["GLContextProviderGLX.cpp"]
|
|
|
|
if CONFIG["MOZ_WAYLAND"]:
|
|
SOURCES += ["SharedSurfaceDMABUF.cpp"]
|
|
|
|
UNIFIED_SOURCES += [
|
|
"AndroidSurfaceTexture.cpp",
|
|
"Colorspaces.cpp",
|
|
"GfxTexturesReporter.cpp",
|
|
"GLBlitHelper.cpp",
|
|
"GLContext.cpp",
|
|
"GLContextFeatures.cpp",
|
|
"GLContextProviderEGL.cpp",
|
|
"GLDebugUtils.cpp",
|
|
"GLLibraryEGL.cpp",
|
|
"GLLibraryLoader.cpp",
|
|
"GLReadTexImageHelper.cpp",
|
|
"GLTextureImage.cpp",
|
|
"GLUploadHelpers.cpp",
|
|
"MozFramebuffer.cpp",
|
|
"ScopedGLHelpers.cpp",
|
|
"SharedSurface.cpp",
|
|
"SharedSurfaceEGL.cpp",
|
|
"SharedSurfaceGL.cpp",
|
|
]
|
|
SOURCES += [
|
|
"GLScreenBuffer.cpp",
|
|
]
|
|
|
|
TEST_DIRS += [
|
|
"gtest",
|
|
]
|
|
|
|
include("/ipc/chromium/chromium-config.mozbuild")
|
|
|
|
FINAL_LIBRARY = "xul"
|
|
|
|
if CONFIG["MOZ_D3DCOMPILER_VISTA_DLL"]:
|
|
DEFINES["MOZ_D3DCOMPILER_VISTA_DLL"] = CONFIG["MOZ_D3DCOMPILER_VISTA_DLL"]
|
|
|
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
|
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
|
|
CFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
|
|
|
|
CXXFLAGS += ["-Werror=switch"]
|
|
|
|
if CONFIG["MOZ_WAYLAND"]:
|
|
CXXFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"]
|
|
CFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"]
|
|
|
|
LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
|
|
LOCAL_INCLUDES += [
|
|
"/gfx/cairo/cairo/src",
|
|
]
|