diff options
Diffstat (limited to 'gfx/gl/moz.build')
-rw-r--r-- | gfx/gl/moz.build | 170 |
1 files changed, 170 insertions, 0 deletions
diff --git a/gfx/gl/moz.build b/gfx/gl/moz.build new file mode 100644 index 0000000000..9e2e9efc41 --- /dev/null +++ b/gfx/gl/moz.build @@ -0,0 +1,170 @@ +# -*- 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", + "GLVendor.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", +] |