Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / ui / ozone / ozone.gyp
1 # Copyright 2013 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     'external_ozone_platforms': [],
9     'external_ozone_platform_files': [],
10     'external_ozone_platform_deps': [],
11     'external_ozone_platform_unittest_deps': [],
12     'internal_ozone_platforms': [],
13     'internal_ozone_platform_deps': [],
14     'internal_ozone_platform_unittest_deps': [],
15   },
16   'targets': [
17     {
18       # GN version: //ui/ozone:ozone_base
19       'target_name': 'ozone_base',
20       'type': '<(component)',
21       'dependencies': [
22         '<(DEPTH)/base/base.gyp:base',
23         '<(DEPTH)/skia/skia.gyp:skia',
24         '<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry',
25       ],
26       'defines': [
27         'OZONE_BASE_IMPLEMENTATION',
28       ],
29       'sources': [
30         'public/cursor_factory_ozone.cc',
31         'public/cursor_factory_ozone.h',
32         'public/gpu_platform_support.cc',
33         'public/gpu_platform_support.h',
34         'public/gpu_platform_support_host.cc',
35         'public/gpu_platform_support_host.h',
36         'public/native_pixmap.h',
37         'public/overlay_candidates_ozone.cc',
38         'public/overlay_candidates_ozone.h',
39         'public/surface_factory_ozone.cc',
40         'public/surface_factory_ozone.h',
41         'public/surface_ozone_canvas.h',
42         'public/surface_ozone_egl.h',
43       ],
44     },
45     {
46       # GN version: //ui/ozone
47       'target_name': 'ozone',
48       'type': '<(component)',
49       'dependencies': [
50         '<(DEPTH)/base/base.gyp:base',
51         '<(DEPTH)/ipc/ipc.gyp:ipc',
52         '<(DEPTH)/skia/skia.gyp:skia',
53         '<(DEPTH)/ui/events/events.gyp:events',
54         '<(DEPTH)/ui/events/ozone/events_ozone.gyp:events_ozone',
55         '<(DEPTH)/ui/gfx/gfx.gyp:gfx',
56         '<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry',
57         '<(DEPTH)/ui/gfx/ipc/gfx_ipc.gyp:gfx_ipc',
58         '<@(external_ozone_platform_deps)',
59         '<@(internal_ozone_platform_deps)',
60         'ozone_base',
61       ],
62       'defines': [
63         'OZONE_IMPLEMENTATION',
64       ],
65       'variables': {
66         'platform_list_cc_file': '<(INTERMEDIATE_DIR)/ui/ozone/platform_list.cc',
67         'platform_list_h_file': '<(SHARED_INTERMEDIATE_DIR)/ui/ozone/platform_list.h',
68         'platform_list_txt_file': '<(SHARED_INTERMEDIATE_DIR)/ui/ozone/platform_list.txt',
69         'constructor_list_cc_file': '<(INTERMEDIATE_DIR)/ui/ozone/constructor_list.cc',
70         'ozone_platforms': [
71           '<@(external_ozone_platforms)',
72           '<@(internal_ozone_platforms)',
73         ],
74       },
75       'include_dirs': [
76         '<(SHARED_INTERMEDIATE_DIR)',
77       ],
78       'sources': [
79         '<(platform_list_cc_file)',
80         '<(platform_list_h_file)',
81         '<(constructor_list_cc_file)',
82
83         # common/chromeos files are excluded automatically when building with
84         # chromeos=0, by exclusion rules in filename_rules.gypi due to the
85         # 'chromeos' folder name.
86         'common/chromeos/display_mode_proxy.cc',
87         'common/chromeos/display_mode_proxy.h',
88         'common/chromeos/display_snapshot_proxy.cc',
89         'common/chromeos/display_snapshot_proxy.h',
90         'common/chromeos/display_util.cc',
91         'common/chromeos/display_util.h',
92         'common/chromeos/native_display_delegate_ozone.cc',
93         'common/chromeos/native_display_delegate_ozone.h',
94         'common/gpu/ozone_gpu_message_generator.cc',
95         'common/gpu/ozone_gpu_message_generator.h',
96         'common/gpu/ozone_gpu_message_params.cc',
97         'common/gpu/ozone_gpu_message_params.h',
98         'common/gpu/ozone_gpu_messages.h',
99         'public/ozone_platform.cc',
100         'public/ozone_platform.h',
101         'public/ozone_switches.cc',
102         'public/ozone_switches.h',
103         'public/ui_thread_gpu.cc',
104         'public/ui_thread_gpu.h',
105         'platform_selection.cc',
106         'platform_selection.h',
107         '<@(external_ozone_platform_files)',
108       ],
109       'actions': [
110         {
111           # GN version: //ui/ozone:generate_ozone_platform_list
112           'action_name': 'generate_ozone_platform_list',
113           'variables': {
114             'generator_path': 'generate_ozone_platform_list.py',
115           },
116           'inputs': [
117             '<(generator_path)',
118           ],
119           'outputs': [
120             '<(platform_list_cc_file)',
121             '<(platform_list_h_file)',
122             '<(platform_list_txt_file)',
123           ],
124           'action': [
125             'python',
126             '<(generator_path)',
127             '--output_cc=<(platform_list_cc_file)',
128             '--output_h=<(platform_list_h_file)',
129             '--output_txt=<(platform_list_txt_file)',
130             '--default=<(ozone_platform)',
131             '<@(ozone_platforms)',
132           ],
133         },
134         {
135           # GN version: //ui/ozone:generate_constructor_list
136           'action_name': 'generate_constructor_list',
137           'variables': {
138             'generator_path': 'generate_constructor_list.py',
139           },
140           'inputs': [
141             '<(generator_path)',
142             '<(platform_list_txt_file)',
143           ],
144           'outputs': [
145             '<(constructor_list_cc_file)',
146           ],
147           'action': [
148             'python',
149             '<(generator_path)',
150             '--platform_list=<(platform_list_txt_file)',
151             '--output_cc=<(constructor_list_cc_file)',
152             '--namespace=ui',
153             '--typename=OzonePlatform',
154             '--include="ui/ozone/public/ozone_platform.h"'
155           ],
156         },
157       ],
158       'conditions': [
159         ['use_udev == 0', {
160           'sources/': [
161             ['exclude', '_udev\\.(h|cc)$'],
162           ],
163         }],
164         ['chromeos==1', {
165           'dependencies': [
166             '<(DEPTH)/ui/display/display.gyp:display_types',
167           ],
168         }],
169       ],
170     },
171     {
172       'target_name': 'ozone_unittests',
173       'type': '<(gtest_target_type)',
174       'sources': [
175         'run_all_unittests.cc',
176       ],
177       'dependencies': [
178         'ozone_base',
179         '../../base/base.gyp:base',
180         '../../base/base.gyp:test_support_base',
181         '../../testing/gtest.gyp:gtest',
182         '<@(external_ozone_platform_unittest_deps)',
183         '<@(internal_ozone_platform_unittest_deps)',
184       ],
185     },
186   ],
187   'conditions': [
188     ['<(ozone_platform_caca) == 1', {
189       'includes': [
190         'platform/caca/caca.gypi',
191       ],
192     }],
193     ['<(ozone_platform_dri) == 1 or <(ozone_platform_gbm) == 1', {
194       'includes': [
195         'platform/dri/dri.gypi',
196       ],
197     }],
198     ['<(ozone_platform_egltest) == 1', {
199       'includes': [
200         'platform/egltest/egltest.gypi',
201       ],
202     }],
203     ['<(ozone_platform_gbm) == 1', {
204       'includes': [
205         'platform/dri/gbm.gypi',
206       ],
207     }],
208     ['<(ozone_platform_test) == 1', {
209       'includes': [
210         'platform/test/test.gypi',
211       ],
212     }],
213   ],
214 }