Upstream version 8.37.180.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     'defines': [
78       'GR_COMPRESS_ALPHA_MASK=0',
79     ],
80   },
81   'targets': [
82     {
83       'target_name': 'skgpu',
84       'product_name': 'skia_skgpu',
85       'type': 'static_library',
86       'standalone_static_library': 1,
87       'dependencies': [
88         'core.gyp:*',
89         'utils.gyp:*',
90         'etc1.gyp:libetc1',
91         'ktx.gyp:libSkKTX',
92       ],
93       'includes': [
94         'gpu.gypi',
95       ],
96       'include_dirs': [
97         '../include/gpu',
98         '../src/core',
99         '../src/gpu',
100       ],
101       'sources': [
102         '<@(skgpu_sources)',
103         '<@(skgpu_native_gl_sources)',
104         '<@(skgpu_angle_gl_sources)',
105         '<@(skgpu_mesa_gl_sources)',
106         '<@(skgpu_debug_gl_sources)',
107         '<@(skgpu_null_gl_sources)',
108         'gpu.gypi', # Makes the gypi appear in IDEs (but does not modify the build).
109       ],
110       'conditions': [
111         [ 'skia_stroke_path_rendering', {
112           'sources': [
113             '../experimental/StrokePathRenderer/GrStrokePathRenderer.h',
114             '../experimental/StrokePathRenderer/GrStrokePathRenderer.cpp',
115           ],
116           'defines': [
117             'GR_STROKE_PATH_RENDERING=1',
118           ],
119         }],
120         [ 'skia_android_path_rendering', {
121           'sources': [
122             '../experimental/AndroidPathRenderer/GrAndroidPathRenderer.cpp',
123             '../experimental/AndroidPathRenderer/GrAndroidPathRenderer.h',
124             '../experimental/AndroidPathRenderer/AndroidPathRenderer.cpp',
125             '../experimental/AndroidPathRenderer/AndroidPathRenderer.h',
126             '../experimental/AndroidPathRenderer/Vertex.h',
127           ],
128           'defines': [
129             'GR_ANDROID_PATH_RENDERING=1',
130           ],
131         }],
132         [ 'skia_chrome_utils', {
133           'sources': [
134             '../experimental/ChromeUtils/SkBorder.cpp',
135             '../experimental/ChromeUtils/SkBorder.h',
136           ],
137           'defines': [
138             'GR_CHROME_UTILS=1',
139           ],
140         }],
141         [ 'skia_os == "linux" or skia_os == "chromeos"', {
142           'sources!': [
143             '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
144             '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
145           ],
146           'link_settings': {
147             'libraries': [
148               '-lGL',
149               '-lGLU',
150               '-lX11',
151             ],
152           },
153         }],
154         [ 'skia_os == "nacl"', {
155           'link_settings': {
156             'libraries': [
157               '-lppapi_gles2',
158             ],
159           },
160         }],
161         [ 'skia_mesa and skia_os == "linux"', {
162           'link_settings': {
163             'libraries': [
164               '-lOSMesa',
165             ],
166           },
167         }],
168         [ 'skia_os == "mac"', {
169           'link_settings': {
170             'libraries': [
171               '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
172             ],
173           },
174           'sources!': [
175             '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
176             '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
177           ],
178         }],
179         [ 'not skia_mesa', {
180           'sources!': [
181             '../src/gpu/gl/mesa/SkMesaGLContext.cpp',
182             '../src/gpu/gl/mesa/GrGLCreateMesaInterface.cpp',
183           ],
184         }],
185         [ 'skia_mesa and skia_os == "mac"', {
186           'link_settings': {
187             'libraries': [
188               '/opt/X11/lib/libOSMesa.dylib',
189             ],
190           },
191           'include_dirs': [
192              '/opt/X11/include/',
193           ],
194         }],
195         [ 'skia_os in ["win", "ios"]', {
196           'sources!': [
197             '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
198             '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
199           ],
200         }],
201         [ 'skia_angle', {
202           'dependencies': [
203             'angle.gyp:*',
204           ],
205           'export_dependent_settings': [
206             'angle.gyp:*',
207           ],
208         }, { # not skia_angle
209           'sources!': [
210             '<@(skgpu_angle_gl_sources)',
211           ],
212         }],
213         [ 'skia_os == "android"', {
214           'sources!': [
215             '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
216             '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
217           ],
218           'link_settings': {
219             'libraries': [
220               '-lGLESv2',
221               '-lEGL',
222             ],
223           },
224         }],
225       ],
226     },
227   ],
228 }