gfx/layers/moz.build
author Jan de Mooij <jdemooij@mozilla.com>
Mon, 30 Sep 2013 17:27:37 +0200
changeset 149283 d3867bfc10e5195a0cba275d7b2a50c94cf48152
parent 145956 5db8f833435f1a5bc9e17d5683077722004ceb25
child 149662 229a2dde03b3898e9d52efd5869d3c1eb2808381
permissions -rw-r--r--
Bug 921130 - Fix --disable-ion build. r=luke

# -*- Mode: python; c-basic-offset: 4; 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/.

MODULE = 'thebes'

EXPORTS += [
    'CopyableCanvasLayer.h',
    'D3D9SurfaceImage.h',
    'FrameMetrics.h',
    'GrallocImages.h',
    'ImageContainer.h',
    'ImageLayers.h',
    'ImageTypes.h',
    'LayerSorter.h',
    'LayerTreeInvalidation.h',
    'Layers.h',
    'LayersLogging.h',
    'ReadbackLayer.h',
    'SharedTextureImage.h',
    'basic/BasicCanvasLayer.h',
    'basic/BasicImplData.h',
    'basic/BasicLayers.h',
    'basic/BasicLayersImpl.h',
    'basic/BasicThebesLayer.h',
    'client/ClientCanvasLayer.h',
    'client/ClientContainerLayer.h',
    'client/ClientLayerManager.h',
    'client/ClientThebesLayer.h',
    'client/ClientTiledThebesLayer.h',
    'composite/CompositableHost.h',
    'composite/ImageHost.h',
    'ipc/CompositorChild.h',
    'ipc/CompositorParent.h',
    'ipc/ShadowLayersManager.h',
    'opengl/Composer2D.h',
    'opengl/ImageLayerOGL.h',
    'opengl/LayerManagerOGL.h',
    'opengl/LayerManagerOGLProgram.h',
    'opengl/LayerManagerOGLShaders.h',
    'opengl/TexturePoolOGL.h',
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
    CPP_SOURCES += [
        'D3D9SurfaceImage.cpp',
    ]
    if CONFIG['MOZ_ENABLE_D3D9_LAYER']:
        EXPORTS += [
            'd3d9/DeviceManagerD3D9.h',
            'd3d9/LayerManagerD3D9.h',
        ]
        EXPORTS.mozilla.layers += [
            'd3d9/CompositorD3D9.h',
            'd3d9/TextureD3D9.h',
        ]
        CPP_SOURCES += [
            'CompositorD3D9.cpp',
            'TextureD3D9.cpp',
            'LayerManagerD3D9.cpp',
            'ThebesLayerD3D9.cpp',
            'ContainerLayerD3D9.cpp',
            'ImageLayerD3D9.cpp',
            'ColorLayerD3D9.cpp',
            'CanvasLayerD3D9.cpp',
            'DeviceManagerD3D9.cpp',
            'Nv3DVUtils.cpp',
        ]
    if CONFIG['MOZ_ENABLE_D3D10_LAYER']:
        EXPORTS += [
            'd3d10/LayerManagerD3D10.h',
            'd3d10/ReadbackManagerD3D10.h',
        ]
        EXPORTS.mozilla.layers += [
            'd3d11/CompositorD3D11.h',
            'd3d11/TextureD3D11.h',
            'ipc/ShadowLayerUtilsD3D10.h',
        ]
        CPP_SOURCES += [
            'CanvasLayerD3D10.cpp',
            'ColorLayerD3D10.cpp',
            'CompositorD3D11.cpp',
            'ContainerLayerD3D10.cpp',
            'ImageLayerD3D10.cpp',
            'LayerManagerD3D10.cpp',
            'ReadbackManagerD3D10.cpp',
            'ShadowLayerUtilsD3D10.cpp',
            'TextureD3D11.cpp',
            'ThebesLayerD3D10.cpp',
        ]

EXPORTS.gfxipc += [
    'ipc/ShadowLayerUtils.h',
]

EXPORTS.mozilla.layers += [
    'Compositor.h',
    'CompositorTypes.h',
    'D3D9SurfaceImage.h',
    'Effects.h',
    'ImageDataSerializer.h',
    'LayersTypes.h',
    'RenderTrace.h',
    'YCbCrImageDataSerializer.h',
    'basic/BasicCompositor.h',
    'client/CanvasClient.h',
    'client/CompositableClient.h',
    'client/ContentClient.h',
    'client/ImageClient.h',
    'client/TextureClient.h',
    'client/TiledContentClient.h',
    'composite/APZCTreeManager.h',
    'composite/AsyncCompositionManager.h',
    'composite/CanvasLayerComposite.h',
    'composite/ColorLayerComposite.h',
    'composite/ContainerLayerComposite.h',
    'composite/ContentHost.h',
    'composite/ImageHost.h',
    'composite/ImageLayerComposite.h',
    'composite/LayerManagerComposite.h',
    'composite/TextureHost.h',
    'composite/ThebesLayerComposite.h',
    'ipc/AsyncPanZoomController.h',
    'ipc/Axis.h',
    'ipc/CompositableForwarder.h',
    'ipc/CompositableTransactionParent.h',
    'ipc/CompositorChild.h',
    'ipc/CompositorCocoaWidgetHelper.h',
    'ipc/CompositorParent.h',
    'ipc/GeckoContentController.h',
    'ipc/GestureEventListener.h',
    'ipc/ISurfaceAllocator.h',
    'ipc/ImageBridgeChild.h',
    'ipc/ImageBridgeParent.h',
    'ipc/LayerTransactionChild.h',
    'ipc/LayerTransactionParent.h',
    'ipc/ShadowLayers.h',
    'ipc/ShadowLayersManager.h',
    'ipc/SharedPlanarYCbCrImage.h',
    'ipc/SharedRGBImage.h',
    'ipc/TaskThrottler.h',
    'opengl/CompositingRenderTargetOGL.h',
    'opengl/CompositorOGL.h',
    'opengl/GrallocTextureClient.h',
    'opengl/GrallocTextureHost.h',
    'opengl/TextureClientOGL.h',
    'opengl/TextureHostOGL.h',
]

if CONFIG['MOZ_X11']:
    EXPORTS.mozilla.layers += [
        'ipc/ShadowLayerUtilsX11.h',
    ]
    CPP_SOURCES += [
        'ShadowLayerUtilsX11.cpp'
    ]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
    EXPORTS.mozilla.layers += [
        'opengl/GLManager.h',
    ]
    CPP_SOURCES += [
        'ShadowLayerUtilsMac.cpp',
        'GLManager.cpp',
    ]

# NB: Gralloc is available on other platforms that use the android GL
# libraries, but only Gonk is able to use it reliably because Gecko
# has full system permissions there.
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
    EXPORTS.mozilla.layers += [
        'ipc/ShadowLayerUtilsGralloc.h',
    ]
    CPP_SOURCES += [
        'GrallocImages.cpp',
        'GrallocTextureClient.cpp',
        'GrallocTextureHost.cpp',
        'ShadowLayerUtilsGralloc.cpp',
    ]

CPP_SOURCES += [
    'APZCTreeManager.cpp',
    'AsyncCompositionManager.cpp',
    'AsyncPanZoomController.cpp',
    'Axis.cpp',
    'BasicCanvasLayer.cpp',
    'BasicColorLayer.cpp',
    'BasicCompositor.cpp',
    'BasicContainerLayer.cpp',
    'BasicImageLayer.cpp',
    'BasicImages.cpp',
    'BasicLayerManager.cpp',
    'BasicLayersImpl.cpp',
    'BasicThebesLayer.cpp',
    'CanvasClient.cpp',
    'CanvasLayerComposite.cpp',
    'CanvasLayerOGL.cpp',
    'ClientCanvasLayer.cpp',
    'ClientColorLayer.cpp',
    'ClientContainerLayer.cpp',
    'ClientImageLayer.cpp',
    'ClientLayerManager.cpp',
    'ClientThebesLayer.cpp',
    'ClientTiledThebesLayer.cpp',
    'ColorLayerComposite.cpp',
    'ColorLayerOGL.cpp',
    'CompositableClient.cpp',
    'CompositableHost.cpp',
    'CompositableTransactionParent.cpp',
    'CompositingRenderTargetOGL.cpp',
    'Compositor.cpp',
    'CompositorChild.cpp',
    'CompositorCocoaWidgetHelper.cpp',
    'CompositorOGL.cpp',
    'CompositorParent.cpp',
    'ContainerLayerComposite.cpp',
    'ContainerLayerOGL.cpp',
    'ContentClient.cpp',
    'ContentHost.cpp',
    'CopyableCanvasLayer.cpp',
    'Effects.cpp',
    'GestureEventListener.cpp',
    'ISurfaceAllocator.cpp',
    'ImageBridgeChild.cpp',
    'ImageBridgeParent.cpp',
    'ImageClient.cpp',
    'ImageContainer.cpp',
    'ImageDataSerializer.cpp',
    'ImageHost.cpp',
    'ImageLayerComposite.cpp',
    'ImageLayerOGL.cpp',
    'ImageLayers.cpp',
    'LayerManagerComposite.cpp',
    'LayerManagerOGL.cpp',
    'LayerManagerOGLProgram.cpp',
    'LayerSorter.cpp',
    'LayerTransactionChild.cpp',
    'LayerTransactionParent.cpp',
    'LayerTreeInvalidation.cpp',
    'Layers.cpp',
    'LayersLogging.cpp',
    'ReadbackProcessor.cpp',
    'RenderTrace.cpp',
    'ShadowLayerChild.cpp',
    'ShadowLayerParent.cpp',
    'ShadowLayers.cpp',
    'SharedPlanarYCbCrImage.cpp',
    'SharedRGBImage.cpp',
    'TaskThrottler.cpp',
    'TextureClient.cpp',
    'TextureClientOGL.cpp',
    'TextureHost.cpp',
    'TextureHostOGL.cpp',
    'TexturePoolOGL.cpp',
    'ThebesLayerBuffer.cpp',
    'ThebesLayerComposite.cpp',
    'ThebesLayerOGL.cpp',
    'TiledContentClient.cpp',
    'TiledContentHost.cpp',
    'YCbCrImageDataSerializer.cpp',
]

IPDL_SOURCES = [
    'ipc/LayersMessages.ipdlh',
    'ipc/LayersSurfaces.ipdlh',
    'ipc/PCompositable.ipdl',
    'ipc/PCompositor.ipdl',
    'ipc/PGrallocBuffer.ipdl',
    'ipc/PImageBridge.ipdl',
    'ipc/PLayer.ipdl',
    'ipc/PLayerTransaction.ipdl',
]

LIBXUL_LIBRARY = True

MSVC_ENABLE_PGO = True

LIBRARY_NAME = 'layers'