1# Copyright (c) 2012 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
6  'variables': {
7    'chromium_code': 1,
8  },
9  'targets': [
10    {
11      'target_name': 'compositor',
12      'type': '<(component)',
13      'dependencies': [
14        '<(DEPTH)/base/base.gyp:base',
15        '<(DEPTH)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
16        '<(DEPTH)/cc/cc.gyp:cc',
17        '<(DEPTH)/gpu/gpu.gyp:command_buffer_common',
18        '<(DEPTH)/skia/skia.gyp:skia',
19        '<(DEPTH)/ui/gfx/gfx.gyp:gfx',
20        '<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry',
21        '<(DEPTH)/ui/gl/gl.gyp:gl',
22      ],
23      'defines': [
24        'COMPOSITOR_IMPLEMENTATION',
25      ],
26      'sources': [
27        'closure_animation_observer.cc',
28        'closure_animation_observer.h',
29        'compositor.cc',
30        'compositor.h',
31        'compositor_animation_observer.h',
32        'compositor_export.h',
33        'compositor_observer.cc',
34        'compositor_observer.h',
35        'compositor_vsync_manager.cc',
36        'compositor_vsync_manager.h',
37        'compositor_switches.cc',
38        'compositor_switches.h',
39        'debug_utils.cc',
40        'debug_utils.h',
41        'dip_util.cc',
42        'dip_util.h',
43        'float_animation_curve_adapter.cc',
44        'float_animation_curve_adapter.h',
45        'layer.cc',
46        'layer.h',
47        'layer_animation_delegate.h',
48        'layer_animation_element.cc',
49        'layer_animation_element.h',
50        'layer_animation_observer.cc',
51        'layer_animation_observer.h',
52        'layer_animation_sequence.cc',
53        'layer_animation_sequence.h',
54        'layer_animator.cc',
55        'layer_animator.h',
56        'layer_animator_collection.cc',
57        'layer_animator_collection.h',
58        'layer_delegate.h',
59        'layer_owner.cc',
60        'layer_owner.h',
61        'layer_tree_owner.cc',
62        'layer_tree_owner.h',
63        'layer_type.h',
64        'reflector.h',
65        'scoped_animation_duration_scale_mode.cc',
66        'scoped_animation_duration_scale_mode.h',
67        'scoped_layer_animation_settings.cc',
68        'scoped_layer_animation_settings.h',
69        'transform_animation_curve_adapter.cc',
70        'transform_animation_curve_adapter.h',
71      ],
72      'conditions': [
73        ['OS == "win" and use_aura == 1', {
74          # TODO(sky): before we make this real need to remove
75          # IDR_BITMAP_BRUSH_IMAGE.
76          'dependencies': [
77            '<(DEPTH)/ui/resources/ui_resources.gyp:ui_resources',
78            '<(angle_path)/src/build_angle.gyp:libEGL',
79            '<(angle_path)/src/build_angle.gyp:libGLESv2',
80          ],
81        }],
82      ],
83    },
84    {
85      'target_name': 'compositor_test_support',
86      'type': 'static_library',
87      'dependencies': [
88        '<(DEPTH)/base/base.gyp:base',
89        '<(DEPTH)/cc/cc.gyp:cc',
90        '<(DEPTH)/cc/cc_tests.gyp:cc_test_support',
91        '<(DEPTH)/skia/skia.gyp:skia',
92        '<(DEPTH)/testing/gtest.gyp:gtest',
93        '<(DEPTH)/third_party/WebKit/public/blink.gyp:blink_minimal',
94        '<(DEPTH)/ui/base/ui_base.gyp:ui_base',
95        '<(DEPTH)/ui/gfx/gfx.gyp:gfx',
96        '<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry',
97        '<(DEPTH)/ui/gl/gl.gyp:gl',
98        '<(DEPTH)/webkit/common/gpu/webkit_gpu.gyp:webkit_gpu',
99        'compositor',
100      ],
101      'sources': [
102        'test/context_factories_for_test.cc',
103        'test/context_factories_for_test.h',
104        'test/draw_waiter_for_test.cc',
105        'test/draw_waiter_for_test.h',
106        'test/in_process_context_factory.cc',
107        'test/in_process_context_factory.h',
108        'test/layer_animator_test_controller.cc',
109        'test/layer_animator_test_controller.h',
110        'test/test_compositor_host.h',
111        'test/test_compositor_host_mac.mm',
112        'test/test_compositor_host_ozone.cc',
113        'test/test_compositor_host_win.cc',
114        'test/test_compositor_host_x11.cc',
115        'test/test_layer_animation_delegate.cc',
116        'test/test_layer_animation_delegate.h',
117        'test/test_layer_animation_observer.cc',
118        'test/test_layer_animation_observer.h',
119        'test/test_layers.cc',
120        'test/test_layers.h',
121        'test/test_suite.cc',
122        'test/test_suite.h',
123        'test/test_utils.cc',
124        'test/test_utils.h',
125      ],
126      'conditions': [
127        ['use_x11==1', {
128          'dependencies': [
129            '<(DEPTH)/build/linux/system.gyp:x11',
130            '<(DEPTH)/ui/gfx/x/gfx_x11.gyp:gfx_x11',
131          ]
132        }]
133      ]
134    },
135    {
136      'target_name': 'compositor_unittests',
137      'type': 'executable',
138      'dependencies': [
139        '<(DEPTH)/base/base.gyp:base',
140        '<(DEPTH)/base/base.gyp:test_support_base',
141        '<(DEPTH)/cc/cc.gyp:cc',
142        '<(DEPTH)/cc/cc_tests.gyp:cc_test_support',
143        '<(DEPTH)/skia/skia.gyp:skia',
144        '<(DEPTH)/testing/gtest.gyp:gtest',
145        '<(DEPTH)/ui/base/ui_base.gyp:ui_base',
146        '<(DEPTH)/ui/gfx/gfx.gyp:gfx',
147        '<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry',
148        '<(DEPTH)/ui/gl/gl.gyp:gl',
149        '<(DEPTH)/ui/resources/ui_resources.gyp:ui_resources',
150        'compositor',
151        'compositor_test_support',
152      ],
153      'sources': [
154        'layer_animation_element_unittest.cc',
155        'layer_animation_sequence_unittest.cc',
156        'layer_animator_unittest.cc',
157        'layer_owner_unittest.cc',
158        'layer_unittest.cc',
159        'run_all_unittests.cc',
160        'transform_animation_curve_adapter_unittest.cc',
161      ],
162      'conditions': [
163        # osmesa GL implementation is used on linux.
164        ['OS=="linux"', {
165          'dependencies': [
166            '<(DEPTH)/third_party/mesa/mesa.gyp:osmesa',
167          ],
168        }],
169        ['os_posix == 1 and OS != "mac"', {
170          'conditions': [
171            ['use_allocator!="none"', {
172              'dependencies': [
173                '<(DEPTH)/base/allocator/allocator.gyp:allocator',
174              ],
175            }],
176          ],
177        }],
178      ],
179    },
180  ],
181}
182