blob: fc6c28b82da634afce650a864178be3f48106d31 [file] [log] [blame]
epoger@google.comae85aea2011-05-31 13:50:51 +00001{
bsalomon@google.come2953132011-10-13 13:33:08 +00002 'target_defaults': {
3 'conditions': [
4 ['skia_os != "win"', {
5 'sources/': [ ['exclude', '_win.(h|cpp)$'],
6 ],
7 }],
8 ['skia_os != "mac"', {
bsalomon@google.com2b64f842012-10-02 15:25:12 +00009 'sources/': [ ['exclude', '_mac.(h|cpp|m|mm)$'],
bsalomon@google.come2953132011-10-13 13:33:08 +000010 ],
11 }],
borenet@google.com05d550e2013-06-11 15:52:19 +000012 ['skia_os != "linux" and skia_os != "chromeos"', {
bsalomon@google.come2953132011-10-13 13:33:08 +000013 'sources/': [ ['exclude', '_unix.(h|cpp)$'],
14 ],
15 }],
16 ['skia_os != "ios"', {
bsalomon@google.com2b64f842012-10-02 15:25:12 +000017 'sources/': [ ['exclude', '_iOS.(h|cpp|m|mm)$'],
bsalomon@google.come2953132011-10-13 13:33:08 +000018 ],
19 }],
20 ['skia_os != "android"', {
21 'sources/': [ ['exclude', '_android.(h|cpp)$'],
22 ],
23 }],
borenet@google.com7158e6a2012-11-01 17:43:44 +000024 ['skia_os != "nacl"', {
25 'sources/': [ ['exclude', '_nacl.(h|cpp)$'],
26 ],
27 }],
bsalomon@google.comcf8fb1f2012-08-02 14:03:32 +000028 # 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 }],
robertphillips@google.com4e5559a2013-10-30 17:04:16 +000053 [ 'skia_resource_cache_mb_limit != 0', {
djsollen@google.com42041e62012-10-29 19:24:45 +000054 'defines': [
robertphillips@google.com4e5559a2013-10-30 17:04:16 +000055 '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)',
djsollen@google.com42041e62012-10-29 19:24:45 +000061 ],
62 }],
bsalomon@google.come2953132011-10-13 13:33:08 +000063 ],
64 'direct_dependent_settings': {
65 'conditions': [
bsalomon@google.come2953132011-10-13 13:33:08 +000066 [ 'skia_os == "win"', {
67 'defines': [
bsalomon@google.come2953132011-10-13 13:33:08 +000068 'GR_GL_FUNCTION_TYPE=__stdcall',
69 ],
70 }],
71 ],
72 'include_dirs': [
73 '../include/gpu',
74 ],
75 },
76 },
epoger@google.comae85aea2011-05-31 13:50:51 +000077 'targets': [
78 {
robertphillips@google.come63296e2013-06-18 14:43:53 +000079 'target_name': 'skgpu',
80 'product_name': 'skia_skgpu',
epoger@google.comae85aea2011-05-31 13:50:51 +000081 'type': 'static_library',
borenet@google.comefb1d772012-10-10 19:45:51 +000082 'standalone_static_library': 1,
bungeman@google.comb8f36552013-07-22 14:39:45 +000083 'dependencies': [
84 'angle.gyp:*',
85 'core.gyp:*',
jvanverth@google.comd830d132013-11-11 20:54:09 +000086 'edtaa.gyp:*',
bungeman@google.comb8f36552013-07-22 14:39:45 +000087 'utils.gyp:*',
88 ],
bsalomon@google.com20806352012-08-23 12:55:01 +000089 'includes': [
90 'gpu.gypi',
91 ],
epoger@google.comae85aea2011-05-31 13:50:51 +000092 'include_dirs': [
bungeman@google.com899f1d82013-07-20 00:24:35 +000093 '../include/gpu',
bungeman@google.comb8f36552013-07-22 14:39:45 +000094 '../src/core',
bsalomon@google.com9c1f1ac2012-05-07 17:09:37 +000095 '../src/gpu',
epoger@google.comae85aea2011-05-31 13:50:51 +000096 ],
robertphillips@google.com021bce92012-04-02 20:42:26 +000097 'export_dependent_settings': [
98 'angle.gyp:*',
99 ],
epoger@google.comae85aea2011-05-31 13:50:51 +0000100 'sources': [
robertphillips@google.come63296e2013-06-18 14:43:53 +0000101 '<@(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)',
bsalomon@google.com202a51b2012-09-04 14:37:12 +0000107 'gpu.gypi', # Makes the gypi appear in IDEs (but does not modify the build).
epoger@google.comae85aea2011-05-31 13:50:51 +0000108 ],
epoger@google.comae85aea2011-05-31 13:50:51 +0000109 'conditions': [
bsalomon@google.comded4f4b2012-06-28 18:48:06 +0000110 [ 'skia_nv_path_rendering', {
111 'defines': [
112 'GR_GL_USE_NV_PATH_RENDERING=1',
113 ],
114 }],
sugoi@google.come3453cb2013-01-07 14:26:40 +0000115 [ 'skia_stroke_path_rendering', {
116 'sources': [
117 '../experimental/StrokePathRenderer/GrStrokePathRenderer.h',
118 '../experimental/StrokePathRenderer/GrStrokePathRenderer.cpp',
119 ],
120 'defines': [
121 'GR_STROKE_PATH_RENDERING=1',
122 ],
123 }],
jvanverth@google.com74dda902013-01-09 21:04:52 +0000124 [ 'skia_android_path_rendering', {
125 'sources': [
126 '../experimental/AndroidPathRenderer/GrAndroidPathRenderer.cpp',
127 '../experimental/AndroidPathRenderer/GrAndroidPathRenderer.h',
128 '../experimental/AndroidPathRenderer/AndroidPathRenderer.cpp',
129 '../experimental/AndroidPathRenderer/AndroidPathRenderer.h',
130 '../experimental/AndroidPathRenderer/Vertex.h',
131 ],
132 'defines': [
133 'GR_ANDROID_PATH_RENDERING=1',
134 ],
135 }],
robertphillips@google.com42cc2372013-12-10 15:19:32 +0000136 [ 'skia_chrome_utils', {
137 'sources': [
138 '../experimental/ChromeUtils/SkBorder.cpp',
139 '../experimental/ChromeUtils/SkBorder.h',
140 ],
141 'defines': [
142 'GR_CHROME_UTILS=1',
143 ],
144 }],
jvanverth@google.comd830d132013-11-11 20:54:09 +0000145 [ 'skia_distancefield_fonts', {
146 'sources': [
147 '<(skia_include_path)/gpu/GrDistanceFieldTextContext.h',
148 '<(skia_src_path)/gpu/GrDistanceFieldTextContext.cpp',
149 '<(skia_src_path)/gpu/effects/GrDistanceFieldTextureEffect.cpp',
150 '<(skia_src_path)/gpu/effects/GrDistanceFieldTextureEffect.h',
151 ],
152 'defines': [
153 'GR_DISTANCEFIELD_FONTS=1',
154 ],
155 }],
borenet@google.com05d550e2013-06-11 15:52:19 +0000156 [ 'skia_os == "linux" or skia_os == "chromeos"', {
epoger@google.comae85aea2011-05-31 13:50:51 +0000157 'sources!': [
tomhudson@google.com40725562012-02-10 21:35:06 +0000158 '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
159 '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +0000160 ],
161 'link_settings': {
162 'libraries': [
163 '-lGL',
borenet@google.com7158e6a2012-11-01 17:43:44 +0000164 '-lGLU',
senorblanco@chromium.org0d923532012-11-12 20:55:02 +0000165 '-lX11',
epoger@google.comae85aea2011-05-31 13:50:51 +0000166 ],
167 },
168 }],
borenet@google.com7158e6a2012-11-01 17:43:44 +0000169 [ 'skia_os == "nacl"', {
170 'link_settings': {
171 'libraries': [
172 '-lppapi_gles2',
173 ],
174 },
175 }],
bsalomon@google.com373a6632011-10-19 20:43:20 +0000176 [ 'skia_mesa and skia_os == "linux"', {
177 'link_settings': {
178 'libraries': [
179 '-lOSMesa',
180 ],
181 },
182 }],
epoger@google.com8846cb22011-07-01 20:20:07 +0000183 [ 'skia_os == "mac"', {
epoger@google.comae85aea2011-05-31 13:50:51 +0000184 'link_settings': {
185 'libraries': [
186 '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
187 ],
188 },
189 'sources!': [
tomhudson@google.com40725562012-02-10 21:35:06 +0000190 '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
191 '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +0000192 ],
bsalomon@google.com373a6632011-10-19 20:43:20 +0000193 }],
robertphillips@google.come63296e2013-06-18 14:43:53 +0000194 [ 'not skia_mesa', {
195 'sources!': [
196 '../src/gpu/gl/mesa/SkMesaGLContext.cpp',
197 '../src/gpu/gl/mesa/GrGLCreateMesaInterface.cpp',
198 ],
199 }],
bsalomon@google.com373a6632011-10-19 20:43:20 +0000200 [ 'skia_mesa and skia_os == "mac"', {
201 'link_settings': {
202 'libraries': [
bsalomon@google.com71cf3ae2013-02-04 22:17:13 +0000203 '/opt/X11/lib/libOSMesa.dylib',
bsalomon@google.com373a6632011-10-19 20:43:20 +0000204 ],
205 },
206 'include_dirs': [
bsalomon@google.com71cf3ae2013-02-04 22:17:13 +0000207 '/opt/X11/include/',
bsalomon@google.com373a6632011-10-19 20:43:20 +0000208 ],
209 }],
bsalomon@google.comcca3c8f2012-09-28 16:56:28 +0000210 [ 'skia_os in ["win", "ios"]', {
epoger@google.comae85aea2011-05-31 13:50:51 +0000211 'sources!': [
tomhudson@google.com40725562012-02-10 21:35:06 +0000212 '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
213 '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +0000214 ],
215 }],
robertphillips@google.com021bce92012-04-02 20:42:26 +0000216 [ 'not skia_angle', {
217 'sources!': [
robertphillips@google.come63296e2013-06-18 14:43:53 +0000218 '<@(skgpu_angle_gl_sources)',
djsollen@google.com403b90e2013-05-03 14:00:34 +0000219 ],
220 'dependencies!': [
221 'angle.gyp:*',
222 ],
223 'export_dependent_settings!': [
224 'angle.gyp:*',
robertphillips@google.com021bce92012-04-02 20:42:26 +0000225 ],
226 }],
djsollen@google.com58629292011-11-03 13:08:29 +0000227 [ 'skia_os == "android"', {
228 'sources!': [
tomhudson@google.com40725562012-02-10 21:35:06 +0000229 '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
230 '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
djsollen@google.com58629292011-11-03 13:08:29 +0000231 ],
232 'link_settings': {
233 'libraries': [
234 '-lGLESv2',
235 '-lEGL',
djsollen@google.com58629292011-11-03 13:08:29 +0000236 ],
237 },
238 }],
epoger@google.comae85aea2011-05-31 13:50:51 +0000239 ],
epoger@google.comae85aea2011-05-31 13:50:51 +0000240 },
241 ],
242}