Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / gyp / gpu.gyp
1 {
2   'target_defaults': {
3     'conditions': [
4       ['skia_os != "win"', {
5         'sources/': [ ['exclude', '_win.(h|cpp)$'],
6         ],
7       }],
8       ['skia_os != "mac"', {
9         'sources/': [ ['exclude', '_mac.(h|cpp|m|mm)$'],
10         ],
11       }],
12       ['skia_os != "linux" and skia_os != "chromeos"', {
13         'sources/': [ ['exclude', '_unix.(h|cpp)$'],
14         ],
15       }],
16       ['skia_os != "ios"', {
17         'sources/': [ ['exclude', '_iOS.(h|cpp|m|mm)$'],
18         ],
19       }],
20       ['skia_os != "android"', {
21         'sources/': [ ['exclude', '_android.(h|cpp)$'],
22         ],
23       }],
24       ['skia_os != "nacl"', {
25         'sources/': [ ['exclude', '_nacl.(h|cpp)$'],
26         ],
27       }],
28       # nullify the targets in this gyp file if skia_gpu is 0
29       [ 'skia_gpu == 0', {
30         'sources/': [
31           ['exclude', '.*'],
32         ],
33         'defines/': [
34           ['exclude', '.*'],
35         ],
36         'include_dirs/': [
37            ['exclude', '.*'],
38         ],
39         'link_settings': {
40           'libraries/': [
41             ['exclude', '.*'],
42           ],
43         },
44         'direct_dependent_settings': {
45           'defines/': [
46             ['exclude', '.*'],
47           ],
48           'include_dirs/': [
49             ['exclude', '.*'],
50           ],
51         },
52       }],
53       [ 'skia_resource_cache_mb_limit != 0', {
54         'defines': [
55           'GR_DEFAULT_RESOURCE_CACHE_MB_LIMIT=<(skia_resource_cache_mb_limit)',
56         ],
57       }],
58       [ 'skia_resource_cache_count_limit != 0', {
59         'defines': [
60           'GR_DEFAULT_RESOURCE_CACHE_COUNT_LIMIT=<(skia_resource_cache_count_limit)',
61         ],
62       }],
63     ],
64     'direct_dependent_settings': {
65       'conditions': [
66         [ 'skia_os == "win"', {
67           'defines': [
68             'GR_GL_FUNCTION_TYPE=__stdcall',
69           ],
70         }],
71       ],
72       'include_dirs': [
73         '../include/gpu',
74       ],
75     },
76   },
77   'targets': [
78     {
79       'target_name': 'skgpu',
80       'product_name': 'skia_skgpu',
81       'type': 'static_library',
82       'standalone_static_library': 1,
83       'dependencies': [
84         'angle.gyp:*',
85         'core.gyp:*',
86         'edtaa.gyp:*',
87         'utils.gyp:*',
88       ],
89       'includes': [
90         'gpu.gypi',
91       ],
92       'include_dirs': [
93         '../include/gpu',
94         '../src/core',
95         '../src/gpu',
96       ],
97       'export_dependent_settings': [
98         'angle.gyp:*',
99       ],
100       'sources': [
101         '<@(skgpu_sources)',
102         '<@(skgpu_native_gl_sources)',
103         '<@(skgpu_angle_gl_sources)',
104         '<@(skgpu_mesa_gl_sources)',
105         '<@(skgpu_debug_gl_sources)',
106         '<@(skgpu_null_gl_sources)',
107         'gpu.gypi', # Makes the gypi appear in IDEs (but does not modify the build).
108       ],
109       'conditions': [
110         [ 'skia_stroke_path_rendering', {
111           'sources': [
112             '../experimental/StrokePathRenderer/GrStrokePathRenderer.h',
113             '../experimental/StrokePathRenderer/GrStrokePathRenderer.cpp',
114           ],
115           'defines': [
116             'GR_STROKE_PATH_RENDERING=1',
117           ],
118         }],
119         [ 'skia_android_path_rendering', {
120           'sources': [
121             '../experimental/AndroidPathRenderer/GrAndroidPathRenderer.cpp',
122             '../experimental/AndroidPathRenderer/GrAndroidPathRenderer.h',
123             '../experimental/AndroidPathRenderer/AndroidPathRenderer.cpp',
124             '../experimental/AndroidPathRenderer/AndroidPathRenderer.h',
125             '../experimental/AndroidPathRenderer/Vertex.h',
126           ],
127           'defines': [
128             'GR_ANDROID_PATH_RENDERING=1',
129           ],
130         }],
131         [ 'skia_chrome_utils', {
132           'sources': [
133             '../experimental/ChromeUtils/SkBorder.cpp',
134             '../experimental/ChromeUtils/SkBorder.h',
135           ],
136           'defines': [
137             'GR_CHROME_UTILS=1',
138           ],
139         }],
140         [ 'skia_distancefield_fonts', {
141           'sources': [
142             '<(skia_src_path)/gpu/GrDistanceFieldTextContext.h',
143             '<(skia_src_path)/gpu/GrDistanceFieldTextContext.cpp',
144             '<(skia_src_path)/gpu/effects/GrDistanceFieldTextureEffect.cpp',
145             '<(skia_src_path)/gpu/effects/GrDistanceFieldTextureEffect.h',
146           ],
147           'defines': [
148             'GR_DISTANCEFIELD_FONTS=1',
149           ],
150         }],
151         [ 'skia_os == "linux" or skia_os == "chromeos"', {
152           'sources!': [
153             '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
154             '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
155           ],
156           'link_settings': {
157             'libraries': [
158               '-lGL',
159               '-lGLU',
160               '-lX11',
161             ],
162           },
163         }],
164         [ 'skia_os == "nacl"', {
165           'link_settings': {
166             'libraries': [
167               '-lppapi_gles2',
168             ],
169           },
170         }],
171         [ 'skia_mesa and skia_os == "linux"', {
172           'link_settings': {
173             'libraries': [
174               '-lOSMesa',
175             ],
176           },
177         }],
178         [ 'skia_os == "mac"', {
179           'link_settings': {
180             'libraries': [
181               '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
182             ],
183           },
184           'sources!': [
185             '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
186             '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
187           ],
188         }],
189         [ 'not skia_mesa', {
190           'sources!': [
191             '../src/gpu/gl/mesa/SkMesaGLContext.cpp',
192             '../src/gpu/gl/mesa/GrGLCreateMesaInterface.cpp',
193           ],
194         }],
195         [ 'skia_mesa and skia_os == "mac"', {
196           'link_settings': {
197             'libraries': [
198               '/opt/X11/lib/libOSMesa.dylib',
199             ],
200           },
201           'include_dirs': [
202              '/opt/X11/include/',
203           ],
204         }],
205         [ 'skia_os in ["win", "ios"]', {
206           'sources!': [
207             '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
208             '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
209           ],
210         }],
211         [ 'not skia_angle', {
212           'sources!': [
213             '<@(skgpu_angle_gl_sources)',
214           ],
215           'dependencies!': [
216             'angle.gyp:*',
217           ],
218           'export_dependent_settings!': [
219             'angle.gyp:*',
220           ],
221         }],
222         [ 'skia_os == "android"', {
223           'sources!': [
224             '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
225             '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
226           ],
227           'link_settings': {
228             'libraries': [
229               '-lGLESv2',
230               '-lEGL',
231             ],
232           },
233         }],
234       ],
235     },
236   ],
237 }