michael@0: # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- michael@0: # vim: set filetype=python: michael@0: # This Source Code Form is subject to the terms of the Mozilla Public michael@0: # License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: # file, You can obtain one at http://mozilla.org/MPL/2.0/. michael@0: michael@0: EXPORTS += [ michael@0: 'basic/BasicCanvasLayer.h', michael@0: 'basic/BasicImplData.h', michael@0: 'basic/BasicLayers.h', michael@0: 'basic/BasicLayersImpl.h', michael@0: 'basic/BasicThebesLayer.h', michael@0: 'client/ClientCanvasLayer.h', michael@0: 'client/ClientContainerLayer.h', michael@0: 'client/ClientLayerManager.h', michael@0: 'client/ClientThebesLayer.h', michael@0: 'client/ClientTiledThebesLayer.h', michael@0: 'composite/CompositableHost.h', michael@0: 'composite/ImageHost.h', michael@0: 'CopyableCanvasLayer.h', michael@0: 'D3D9SurfaceImage.h', michael@0: 'FrameMetrics.h', michael@0: 'GrallocImages.h', michael@0: 'ImageContainer.h', michael@0: 'ImageLayers.h', michael@0: 'ImageTypes.h', michael@0: 'ipc/CompositorChild.h', michael@0: 'ipc/CompositorParent.h', michael@0: 'ipc/ShadowLayersManager.h', michael@0: 'Layers.h', michael@0: 'LayerScope.h', michael@0: 'LayersLogging.h', michael@0: 'LayerSorter.h', michael@0: 'LayerTreeInvalidation.h', michael@0: 'opengl/Composer2D.h', michael@0: 'opengl/OGLShaderProgram.h', michael@0: 'opengl/TexturePoolOGL.h', michael@0: 'ReadbackLayer.h', michael@0: 'SharedTextureImage.h', michael@0: 'TiledLayerBuffer.h', michael@0: ] michael@0: michael@0: if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': michael@0: UNIFIED_SOURCES += [ michael@0: 'D3D9SurfaceImage.cpp', michael@0: ] michael@0: if CONFIG['MOZ_ENABLE_D3D9_LAYER']: michael@0: EXPORTS += [ michael@0: 'd3d9/DeviceManagerD3D9.h', michael@0: 'd3d9/LayerManagerD3D9.h', michael@0: ] michael@0: EXPORTS.mozilla.layers += [ michael@0: 'd3d9/CompositorD3D9.h', michael@0: 'd3d9/TextureD3D9.h', michael@0: ] michael@0: UNIFIED_SOURCES += [ michael@0: 'd3d9/CanvasLayerD3D9.cpp', michael@0: 'd3d9/ColorLayerD3D9.cpp', michael@0: 'd3d9/ContainerLayerD3D9.cpp', michael@0: 'd3d9/ImageLayerD3D9.cpp', michael@0: 'd3d9/LayerManagerD3D9.cpp', michael@0: 'd3d9/TextureD3D9.cpp', michael@0: 'd3d9/ThebesLayerD3D9.cpp', michael@0: ] michael@0: SOURCES += [ michael@0: 'd3d9/CompositorD3D9.cpp', michael@0: 'd3d9/DeviceManagerD3D9.cpp', michael@0: 'd3d9/Nv3DVUtils.cpp', michael@0: ] michael@0: if CONFIG['MOZ_ENABLE_D3D10_LAYER']: michael@0: EXPORTS += [ michael@0: 'd3d10/LayerManagerD3D10.h', michael@0: 'd3d10/ReadbackManagerD3D10.h', michael@0: ] michael@0: EXPORTS.mozilla.layers += [ michael@0: 'd3d11/CompositorD3D11.h', michael@0: 'd3d11/TextureD3D11.h', michael@0: 'ipc/ShadowLayerUtilsD3D10.h', michael@0: ] michael@0: UNIFIED_SOURCES += [ michael@0: 'd3d10/CanvasLayerD3D10.cpp', michael@0: 'd3d10/ColorLayerD3D10.cpp', michael@0: 'd3d10/ContainerLayerD3D10.cpp', michael@0: 'd3d10/ImageLayerD3D10.cpp', michael@0: 'd3d10/LayerManagerD3D10.cpp', michael@0: 'd3d10/ReadbackManagerD3D10.cpp', michael@0: 'd3d10/ThebesLayerD3D10.cpp', michael@0: 'd3d11/TextureD3D11.cpp', michael@0: 'ipc/ShadowLayerUtilsD3D10.cpp', michael@0: ] michael@0: SOURCES += [ michael@0: 'd3d11/CompositorD3D11.cpp', michael@0: ] michael@0: michael@0: EXPORTS.gfxipc += [ michael@0: 'ipc/ShadowLayerUtils.h', michael@0: ] michael@0: michael@0: EXPORTS.mozilla.layers += [ michael@0: 'apz/public/GeckoContentController.h', michael@0: # exporting things from apz/src is temporary until we extract a michael@0: # proper interface for the code there michael@0: 'apz/src/APZCTreeManager.h', michael@0: 'apz/src/AsyncPanZoomController.h', michael@0: 'apz/src/Axis.h', michael@0: 'apz/src/GestureEventListener.h', michael@0: 'apz/src/TaskThrottler.h', michael@0: 'apz/util/ActiveElementManager.h', michael@0: 'apz/util/APZCCallbackHelper.h', michael@0: 'AtomicRefCountedWithFinalize.h', michael@0: 'basic/BasicCompositor.h', michael@0: 'basic/MacIOSurfaceTextureHostBasic.h', michael@0: 'basic/TextureHostBasic.h', michael@0: 'client/CanvasClient.h', michael@0: 'client/CompositableClient.h', michael@0: 'client/ContentClient.h', michael@0: 'client/ImageClient.h', michael@0: 'client/SimpleTextureClientPool.h', michael@0: 'client/SimpleTiledContentClient.h', michael@0: 'client/TextureClient.h', michael@0: 'client/TextureClientPool.h', michael@0: 'client/TiledContentClient.h', michael@0: 'composite/AsyncCompositionManager.h', michael@0: 'composite/CanvasLayerComposite.h', michael@0: 'composite/ColorLayerComposite.h', michael@0: 'composite/ContainerLayerComposite.h', michael@0: 'composite/ContentHost.h', michael@0: 'composite/ImageHost.h', michael@0: 'composite/ImageLayerComposite.h', michael@0: 'composite/LayerManagerComposite.h', michael@0: 'composite/TextureHost.h', michael@0: 'composite/ThebesLayerComposite.h', michael@0: 'Compositor.h', michael@0: 'CompositorTypes.h', michael@0: 'D3D9SurfaceImage.h', michael@0: 'Effects.h', michael@0: 'ImageDataSerializer.h', michael@0: 'ipc/CompositableForwarder.h', michael@0: 'ipc/CompositableTransactionParent.h', michael@0: 'ipc/CompositorChild.h', michael@0: 'ipc/CompositorParent.h', michael@0: 'ipc/FenceUtils.h', michael@0: 'ipc/ImageBridgeChild.h', michael@0: 'ipc/ImageBridgeParent.h', michael@0: 'ipc/ISurfaceAllocator.h', michael@0: 'ipc/LayerTransactionChild.h', michael@0: 'ipc/LayerTransactionParent.h', michael@0: 'ipc/ShadowLayers.h', michael@0: 'ipc/ShadowLayersManager.h', michael@0: 'ipc/SharedPlanarYCbCrImage.h', michael@0: 'ipc/SharedRGBImage.h', michael@0: 'LayersTypes.h', michael@0: 'opengl/CompositingRenderTargetOGL.h', michael@0: 'opengl/CompositorOGL.h', michael@0: 'opengl/GrallocTextureClient.h', michael@0: 'opengl/GrallocTextureHost.h', michael@0: 'opengl/MacIOSurfaceTextureClientOGL.h', michael@0: 'opengl/MacIOSurfaceTextureHostOGL.h', michael@0: 'opengl/TextureClientOGL.h', michael@0: 'opengl/TextureHostOGL.h', michael@0: 'RenderTrace.h', michael@0: 'YCbCrImageDataSerializer.h', michael@0: ] michael@0: michael@0: if CONFIG['MOZ_X11']: michael@0: EXPORTS.mozilla.layers += [ michael@0: 'basic/TextureClientX11.h', michael@0: 'basic/X11TextureSourceBasic.h', michael@0: 'composite/X11TextureHost.h', michael@0: 'ipc/ShadowLayerUtilsX11.h', michael@0: 'opengl/X11TextureSourceOGL.h', michael@0: ] michael@0: SOURCES += [ michael@0: 'basic/TextureClientX11.cpp', michael@0: 'basic/X11TextureSourceBasic.cpp', michael@0: 'composite/X11TextureHost.cpp', michael@0: 'ipc/ShadowLayerUtilsX11.cpp', michael@0: 'opengl/X11TextureSourceOGL.cpp', michael@0: ] michael@0: michael@0: if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': michael@0: EXPORTS.mozilla.layers += [ michael@0: 'opengl/GLManager.h', michael@0: ] michael@0: EXPORTS += [ michael@0: 'MacIOSurfaceImage.h', michael@0: ] michael@0: UNIFIED_SOURCES += [ michael@0: 'opengl/GLManager.cpp', michael@0: ] michael@0: SOURCES += [ michael@0: 'ipc/ShadowLayerUtilsMac.cpp', michael@0: 'MacIOSurfaceImage.cpp', michael@0: ] michael@0: michael@0: # NB: Gralloc is available on other platforms that use the android GL michael@0: # libraries, but only Gonk is able to use it reliably because Gecko michael@0: # has full system permissions there. michael@0: if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': michael@0: EXPORTS.mozilla.layers += [ michael@0: 'ipc/ShadowLayerUtilsGralloc.h', michael@0: ] michael@0: UNIFIED_SOURCES += [ michael@0: 'GrallocImages.cpp', michael@0: 'opengl/EGLImageHelpers.cpp', michael@0: 'opengl/GrallocTextureClient.cpp', michael@0: 'opengl/GrallocTextureHost.cpp', michael@0: ] michael@0: LOCAL_INCLUDES += ['/widget/gonk'] michael@0: SOURCES += [ michael@0: 'ipc/ShadowLayerUtilsGralloc.cpp', michael@0: ] michael@0: michael@0: if CONFIG['ANDROID_VERSION'] >= '17': michael@0: EXPORTS.mozilla.layers += [ michael@0: 'ipc/FenceUtilsGonk.h', michael@0: ] michael@0: SOURCES += [ michael@0: 'ipc/FenceUtilsGonk.cpp', michael@0: ] michael@0: michael@0: UNIFIED_SOURCES += [ michael@0: 'apz/src/APZCTreeManager.cpp', michael@0: 'apz/src/AsyncPanZoomController.cpp', michael@0: 'apz/src/Axis.cpp', michael@0: 'apz/src/GestureEventListener.cpp', michael@0: 'apz/src/TaskThrottler.cpp', michael@0: 'apz/util/ActiveElementManager.cpp', michael@0: 'apz/util/APZCCallbackHelper.cpp', michael@0: 'basic/BasicCanvasLayer.cpp', michael@0: 'basic/BasicColorLayer.cpp', michael@0: 'basic/BasicCompositor.cpp', michael@0: 'basic/BasicContainerLayer.cpp', michael@0: 'basic/BasicImages.cpp', michael@0: 'basic/BasicLayerManager.cpp', michael@0: 'basic/BasicLayersImpl.cpp', michael@0: 'basic/BasicThebesLayer.cpp', michael@0: 'basic/TextureHostBasic.cpp', michael@0: 'BufferUnrotate.cpp', michael@0: 'client/CanvasClient.cpp', michael@0: 'client/ClientCanvasLayer.cpp', michael@0: 'client/ClientColorLayer.cpp', michael@0: 'client/ClientContainerLayer.cpp', michael@0: 'client/ClientImageLayer.cpp', michael@0: 'client/ClientLayerManager.cpp', michael@0: 'client/ClientThebesLayer.cpp', michael@0: 'client/ClientTiledThebesLayer.cpp', michael@0: 'client/CompositableClient.cpp', michael@0: 'client/ContentClient.cpp', michael@0: 'client/ImageClient.cpp', michael@0: 'client/SimpleTextureClientPool.cpp', michael@0: 'client/SimpleTiledContentClient.cpp', michael@0: 'client/TextureClient.cpp', michael@0: 'client/TextureClientPool.cpp', michael@0: 'client/TiledContentClient.cpp', michael@0: 'composite/AsyncCompositionManager.cpp', michael@0: 'composite/CanvasLayerComposite.cpp', michael@0: 'composite/ColorLayerComposite.cpp', michael@0: 'composite/CompositableHost.cpp', michael@0: 'composite/ContainerLayerComposite.cpp', michael@0: 'composite/ContentHost.cpp', michael@0: 'composite/ImageHost.cpp', michael@0: 'composite/ImageLayerComposite.cpp', michael@0: 'composite/LayerManagerComposite.cpp', michael@0: 'composite/TextRenderer.cpp', michael@0: 'composite/TextureHost.cpp', michael@0: 'composite/ThebesLayerComposite.cpp', michael@0: 'composite/TiledContentHost.cpp', michael@0: 'Compositor.cpp', michael@0: 'CopyableCanvasLayer.cpp', michael@0: 'Effects.cpp', michael@0: 'ImageDataSerializer.cpp', michael@0: 'ImageLayers.cpp', michael@0: 'ipc/CompositableTransactionParent.cpp', michael@0: 'ipc/CompositorChild.cpp', michael@0: 'ipc/CompositorParent.cpp', michael@0: 'ipc/ImageBridgeChild.cpp', michael@0: 'ipc/ImageBridgeParent.cpp', michael@0: 'ipc/ISurfaceAllocator.cpp', michael@0: 'ipc/LayerTransactionChild.cpp', michael@0: 'ipc/LayerTransactionParent.cpp', michael@0: 'ipc/ShadowLayerChild.cpp', michael@0: 'ipc/ShadowLayerParent.cpp', michael@0: 'ipc/ShadowLayers.cpp', michael@0: 'ipc/SharedPlanarYCbCrImage.cpp', michael@0: 'ipc/SharedRGBImage.cpp', michael@0: 'LayerScope.cpp', michael@0: 'LayersLogging.cpp', michael@0: 'LayerSorter.cpp', michael@0: 'LayerUtils.cpp', michael@0: 'opengl/CompositingRenderTargetOGL.cpp', michael@0: 'opengl/CompositorOGL.cpp', michael@0: 'opengl/OGLShaderProgram.cpp', michael@0: 'opengl/TextureClientOGL.cpp', michael@0: 'opengl/TextureHostOGL.cpp', michael@0: 'opengl/TexturePoolOGL.cpp', michael@0: 'ReadbackProcessor.cpp', michael@0: 'RenderTrace.cpp', michael@0: 'RotatedBuffer.cpp', michael@0: 'YCbCrImageDataSerializer.cpp', michael@0: ] michael@0: michael@0: SOURCES += [ michael@0: 'basic/BasicImageLayer.cpp', michael@0: 'ImageContainer.cpp', michael@0: 'Layers.cpp', michael@0: 'LayerTreeInvalidation.cpp', michael@0: ] michael@0: michael@0: # Workaround compiler bug (Bug 795594) michael@0: if CONFIG['_MSC_VER'] and CONFIG['CPU_ARCH'] == 'x86_64': michael@0: for src in [ michael@0: 'Layers.cpp', michael@0: 'LayerTreeInvalidation.cpp', michael@0: ]: michael@0: SOURCES[src].no_pgo = True michael@0: michael@0: if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': michael@0: SOURCES += [ michael@0: 'basic/MacIOSurfaceTextureHostBasic.cpp', michael@0: 'opengl/MacIOSurfaceTextureClientOGL.cpp', michael@0: 'opengl/MacIOSurfaceTextureHostOGL.cpp', michael@0: ] michael@0: michael@0: IPDL_SOURCES = [ michael@0: 'ipc/LayersMessages.ipdlh', michael@0: 'ipc/LayersSurfaces.ipdlh', michael@0: 'ipc/PCompositable.ipdl', michael@0: 'ipc/PCompositor.ipdl', michael@0: 'ipc/PGrallocBuffer.ipdl', michael@0: 'ipc/PImageBridge.ipdl', michael@0: 'ipc/PLayer.ipdl', michael@0: 'ipc/PLayerTransaction.ipdl', michael@0: 'ipc/PTexture.ipdl', michael@0: ] michael@0: michael@0: FAIL_ON_WARNINGS = True michael@0: michael@0: MSVC_ENABLE_PGO = True michael@0: michael@0: include('/ipc/chromium/chromium-config.mozbuild') michael@0: michael@0: FINAL_LIBRARY = 'thebes' michael@0: michael@0: if CONFIG['MOZ_DEBUG']: michael@0: DEFINES['D3D_DEBUG_INFO'] = True michael@0: michael@0: if CONFIG['MOZ_ENABLE_D3D10_LAYER']: michael@0: DEFINES['MOZ_ENABLE_D3D10_LAYER'] = True michael@0: michael@0: GENERATED_FILES = [ michael@0: 'PremultiplyTables.h', michael@0: ] michael@0: michael@0: CXXFLAGS += [ michael@0: '-I%s/%s' % (CONFIG['ANDROID_SOURCE'], d) for d in [ michael@0: 'frameworks/base/include/media/stagefright', michael@0: 'frameworks/base/include/media/stagefright/openmax', michael@0: 'frameworks/av/include/media/stagefright', michael@0: 'frameworks/native/include/media/openmax', michael@0: ] michael@0: ]