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