mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-29 07:42:04 +00:00
395ab599a1
The main advantage here is that it works cross-process. MozReview-Commit-ID: 7YUTVB4Bydg
162 lines
4.4 KiB
Python
162 lines
4.4 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 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
|
|
if CONFIG['MOZ_EGL_XRENDER_COMPOSITE']:
|
|
gl_provider = 'EGL'
|
|
else:
|
|
gl_provider = 'GLX'
|
|
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
|
|
gl_provider = 'EGL'
|
|
|
|
if CONFIG['MOZ_GL_PROVIDER']:
|
|
gl_provider = CONFIG['MOZ_GL_PROVIDER']
|
|
|
|
EXPORTS += [
|
|
'AndroidNativeWindow.h',
|
|
'AndroidSurfaceTexture.h',
|
|
'DecomposeIntoNoRepeatTriangles.h',
|
|
'EGLUtils.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',
|
|
'ScopedGLHelpers.h',
|
|
'SharedSurface.h',
|
|
'SharedSurfaceEGL.h',
|
|
'SharedSurfaceGL.h',
|
|
'SurfaceTypes.h',
|
|
]
|
|
|
|
if CONFIG['MOZ_X11']:
|
|
EXPORTS += [
|
|
'GLContextGLX.h',
|
|
'GLXLibrary.h',
|
|
]
|
|
|
|
# Win32 is a special snowflake, for ANGLE
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
|
|
EXPORTS += [
|
|
'GLContextWGL.h',
|
|
'SharedSurfaceANGLE.h', # Needs <windows.h> for `HANDLE`.
|
|
'SharedSurfaceD3D11Interop.h',
|
|
'WGLLibrary.h',
|
|
]
|
|
UNIFIED_SOURCES += [
|
|
'GLContextProviderWGL.cpp',
|
|
'SharedSurfaceANGLE.cpp',
|
|
'SharedSurfaceD3D11Interop.cpp',
|
|
]
|
|
if CONFIG['MOZ_ENABLE_SKIA_GPU']:
|
|
EXPORTS += ['SkiaGLGlue.h']
|
|
SOURCES += [
|
|
'SkiaGLGlue.cpp',
|
|
]
|
|
if CONFIG['CLANG_CXX']:
|
|
# Suppress warnings from Skia header files.
|
|
SOURCES['SkiaGLGlue.cpp'].flags += ['-Wno-implicit-fallthrough']
|
|
|
|
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',
|
|
]
|
|
elif gl_provider == 'EAGL':
|
|
# These files include ObjC headers that are unfriendly to unified builds
|
|
SOURCES += [
|
|
'GLContextProviderEAGL.mm',
|
|
]
|
|
EXPORTS += [
|
|
'GLContextEAGL.h',
|
|
]
|
|
|
|
elif gl_provider == 'GLX':
|
|
# GLContextProviderGLX.cpp needs to be kept out of UNIFIED_SOURCES
|
|
# as it includes X11 headers which cause conflicts.
|
|
SOURCES += [
|
|
'GLContextProviderGLX.cpp',
|
|
'SharedSurfaceGLX.cpp'
|
|
]
|
|
EXPORTS += [
|
|
'SharedSurfaceGLX.h'
|
|
]
|
|
|
|
UNIFIED_SOURCES += [
|
|
'AndroidSurfaceTexture.cpp',
|
|
'DecomposeIntoNoRepeatTriangles.cpp',
|
|
'EGLUtils.cpp',
|
|
'GfxTexturesReporter.cpp',
|
|
'GLBlitHelper.cpp',
|
|
'GLContext.cpp',
|
|
'GLContextFeatures.cpp',
|
|
'GLContextProviderEGL.cpp',
|
|
'GLContextTypes.cpp',
|
|
'GLDebugUtils.cpp',
|
|
'GLLibraryEGL.cpp',
|
|
'GLLibraryLoader.cpp',
|
|
'GLReadTexImageHelper.cpp',
|
|
'GLScreenBuffer.cpp',
|
|
'GLTextureImage.cpp',
|
|
'GLUploadHelpers.cpp',
|
|
'ScopedGLHelpers.cpp',
|
|
'SharedSurface.cpp',
|
|
'SharedSurfaceEGL.cpp',
|
|
'SharedSurfaceGL.cpp',
|
|
'SurfaceTypes.cpp',
|
|
'TextureImageEGL.cpp',
|
|
]
|
|
|
|
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']
|
|
|
|
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
|
|
CXXFLAGS += CONFIG['TK_CFLAGS']
|
|
CFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
|
|
CFLAGS += CONFIG['TK_CFLAGS']
|
|
|
|
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
|
|
|
|
if CONFIG['GNU_CXX']:
|
|
CXXFLAGS += ['-Wno-error=shadow']
|