1 # Copyright (c) 2013 The ANGLE Project 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 { 8 'angle_enable_d3d9%': 1, 9 'angle_enable_d3d11%': 1, 10 # These file lists are shared with the GN build. 11 'angle_libangle_sources': 12 [ 13 '../include/EGL/egl.h', 14 '../include/EGL/eglext.h', 15 '../include/EGL/eglplatform.h', 16 '../include/GLES2/gl2.h', 17 '../include/GLES2/gl2ext.h', 18 '../include/GLES2/gl2platform.h', 19 '../include/GLES3/gl3.h', 20 '../include/GLES3/gl3ext.h', 21 '../include/GLES3/gl3platform.h', 22 '../include/GLSLANG/ShaderLang.h', 23 '../include/GLSLANG/ShaderVars.h', 24 '../include/KHR/khrplatform.h', 25 '../include/angle_gl.h', 26 'common/RefCountObject.cpp', 27 'common/RefCountObject.h', 28 'common/angleutils.cpp', 29 'common/angleutils.h', 30 'common/blocklayout.cpp', 31 'common/blocklayout.h', 32 'common/debug.cpp', 33 'common/debug.h', 34 'common/event_tracer.cpp', 35 'common/event_tracer.h', 36 'common/mathutil.cpp', 37 'common/mathutil.h', 38 'common/platform.h', 39 'common/tls.cpp', 40 'common/tls.h', 41 'common/utilities.cpp', 42 'common/utilities.h', 43 'common/version.h', 44 'libGLESv2/BinaryStream.h', 45 'libGLESv2/Buffer.cpp', 46 'libGLESv2/Buffer.h', 47 'libGLESv2/Caps.cpp', 48 'libGLESv2/Caps.h', 49 'libGLESv2/Context.cpp', 50 'libGLESv2/Context.h', 51 'libGLESv2/Error.cpp', 52 'libGLESv2/Error.h', 53 'libGLESv2/Fence.cpp', 54 'libGLESv2/Fence.h', 55 'libGLESv2/Float16ToFloat32.cpp', 56 'libGLESv2/Framebuffer.cpp', 57 'libGLESv2/Framebuffer.h', 58 'libGLESv2/FramebufferAttachment.cpp', 59 'libGLESv2/FramebufferAttachment.h', 60 'libGLESv2/HandleAllocator.cpp', 61 'libGLESv2/HandleAllocator.h', 62 'libGLESv2/ImageIndex.h', 63 'libGLESv2/ImageIndex.cpp', 64 'libGLESv2/Program.cpp', 65 'libGLESv2/Program.h', 66 'libGLESv2/ProgramBinary.cpp', 67 'libGLESv2/ProgramBinary.h', 68 'libGLESv2/Query.cpp', 69 'libGLESv2/Query.h', 70 'libGLESv2/Renderbuffer.cpp', 71 'libGLESv2/Renderbuffer.h', 72 'libGLESv2/ResourceManager.cpp', 73 'libGLESv2/ResourceManager.h', 74 'libGLESv2/Sampler.cpp', 75 'libGLESv2/Sampler.h', 76 'libGLESv2/Shader.cpp', 77 'libGLESv2/Shader.h', 78 'libGLESv2/State.cpp', 79 'libGLESv2/State.h', 80 'libGLESv2/Texture.cpp', 81 'libGLESv2/Texture.h', 82 'libGLESv2/TransformFeedback.cpp', 83 'libGLESv2/TransformFeedback.h', 84 'libGLESv2/Uniform.cpp', 85 'libGLESv2/Uniform.h', 86 'libGLESv2/VertexArray.cpp', 87 'libGLESv2/VertexArray.h', 88 'libGLESv2/VertexAttribute.cpp', 89 'libGLESv2/VertexAttribute.h', 90 'libGLESv2/angletypes.cpp', 91 'libGLESv2/angletypes.h', 92 'libGLESv2/constants.h', 93 'libGLESv2/formatutils.cpp', 94 'libGLESv2/formatutils.h', 95 'libGLESv2/main.cpp', 96 'libGLESv2/main.h', 97 'libGLESv2/queryconversions.cpp', 98 'libGLESv2/queryconversions.h', 99 'libGLESv2/renderer/BufferImpl.h', 100 'libGLESv2/renderer/FenceImpl.h', 101 'libGLESv2/renderer/Image.cpp', 102 'libGLESv2/renderer/Image.h', 103 'libGLESv2/renderer/IndexRangeCache.cpp', 104 'libGLESv2/renderer/IndexRangeCache.h', 105 'libGLESv2/renderer/ProgramImpl.h', 106 'libGLESv2/renderer/QueryImpl.h', 107 'libGLESv2/renderer/RenderTarget.h', 108 'libGLESv2/renderer/Renderer.cpp', 109 'libGLESv2/renderer/Renderer.h', 110 'libGLESv2/renderer/ShaderExecutable.h', 111 'libGLESv2/renderer/ShaderImpl.h', 112 'libGLESv2/renderer/SwapChain.h', 113 'libGLESv2/renderer/TextureImpl.h', 114 'libGLESv2/renderer/TransformFeedbackImpl.h', 115 'libGLESv2/renderer/VertexArrayImpl.h', 116 'libGLESv2/renderer/copyimage.cpp', 117 'libGLESv2/renderer/copyimage.h', 118 'libGLESv2/renderer/copyimage.inl', 119 'libGLESv2/renderer/copyvertex.h', 120 'libGLESv2/renderer/copyvertex.inl', 121 'libGLESv2/renderer/generatemip.h', 122 'libGLESv2/renderer/generatemip.inl', 123 'libGLESv2/renderer/imageformats.h', 124 'libGLESv2/renderer/loadimage.cpp', 125 'libGLESv2/renderer/loadimage.h', 126 'libGLESv2/renderer/loadimage.inl', 127 'libGLESv2/renderer/loadimageSSE2.cpp', 128 'libGLESv2/renderer/vertexconversion.h', 129 'libGLESv2/resource.h', 130 'libGLESv2/validationES.cpp', 131 'libGLESv2/validationES.h', 132 'libGLESv2/validationES2.cpp', 133 'libGLESv2/validationES2.h', 134 'libGLESv2/validationES3.cpp', 135 'libGLESv2/validationES3.h', 136 'third_party/murmurhash/MurmurHash3.cpp', 137 'third_party/murmurhash/MurmurHash3.h', 138 'third_party/systeminfo/SystemInfo.cpp', 139 'third_party/systeminfo/SystemInfo.h', 140 ], 141 'angle_d3d_shared_sources': 142 [ 143 'libGLESv2/renderer/d3d/BufferD3D.cpp', 144 'libGLESv2/renderer/d3d/BufferD3D.h', 145 'libGLESv2/renderer/d3d/DynamicHLSL.cpp', 146 'libGLESv2/renderer/d3d/DynamicHLSL.h', 147 'libGLESv2/renderer/d3d/HLSLCompiler.cpp', 148 'libGLESv2/renderer/d3d/HLSLCompiler.h', 149 'libGLESv2/renderer/d3d/ImageD3D.cpp', 150 'libGLESv2/renderer/d3d/ImageD3D.h', 151 'libGLESv2/renderer/d3d/IndexBuffer.cpp', 152 'libGLESv2/renderer/d3d/IndexBuffer.h', 153 'libGLESv2/renderer/d3d/IndexDataManager.cpp', 154 'libGLESv2/renderer/d3d/IndexDataManager.h', 155 'libGLESv2/renderer/d3d/MemoryBuffer.cpp', 156 'libGLESv2/renderer/d3d/MemoryBuffer.h', 157 'libGLESv2/renderer/d3d/ProgramD3D.cpp', 158 'libGLESv2/renderer/d3d/ProgramD3D.h', 159 'libGLESv2/renderer/d3d/ShaderD3D.cpp', 160 'libGLESv2/renderer/d3d/ShaderD3D.h', 161 'libGLESv2/renderer/d3d/TextureD3D.cpp', 162 'libGLESv2/renderer/d3d/TextureD3D.h', 163 'libGLESv2/renderer/d3d/TextureStorage.cpp', 164 'libGLESv2/renderer/d3d/TextureStorage.h', 165 'libGLESv2/renderer/d3d/TransformFeedbackD3D.cpp', 166 'libGLESv2/renderer/d3d/TransformFeedbackD3D.h', 167 'libGLESv2/renderer/d3d/VertexBuffer.cpp', 168 'libGLESv2/renderer/d3d/VertexBuffer.h', 169 'libGLESv2/renderer/d3d/VertexDataManager.cpp', 170 'libGLESv2/renderer/d3d/VertexDataManager.h', 171 ], 172 'angle_d3d9_sources': 173 [ 174 'libGLESv2/renderer/d3d/d3d9/Blit9.cpp', 175 'libGLESv2/renderer/d3d/d3d9/Blit9.h', 176 'libGLESv2/renderer/d3d/d3d9/Buffer9.cpp', 177 'libGLESv2/renderer/d3d/d3d9/Buffer9.h', 178 'libGLESv2/renderer/d3d/d3d9/Fence9.cpp', 179 'libGLESv2/renderer/d3d/d3d9/Fence9.h', 180 'libGLESv2/renderer/d3d/d3d9/formatutils9.cpp', 181 'libGLESv2/renderer/d3d/d3d9/formatutils9.h', 182 'libGLESv2/renderer/d3d/d3d9/Image9.cpp', 183 'libGLESv2/renderer/d3d/d3d9/Image9.h', 184 'libGLESv2/renderer/d3d/d3d9/IndexBuffer9.cpp', 185 'libGLESv2/renderer/d3d/d3d9/IndexBuffer9.h', 186 'libGLESv2/renderer/d3d/d3d9/Query9.cpp', 187 'libGLESv2/renderer/d3d/d3d9/Query9.h', 188 'libGLESv2/renderer/d3d/d3d9/Renderer9.cpp', 189 'libGLESv2/renderer/d3d/d3d9/Renderer9.h', 190 'libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp', 191 'libGLESv2/renderer/d3d/d3d9/renderer9_utils.h', 192 'libGLESv2/renderer/d3d/d3d9/RenderTarget9.cpp', 193 'libGLESv2/renderer/d3d/d3d9/RenderTarget9.h', 194 'libGLESv2/renderer/d3d/d3d9/ShaderCache.h', 195 'libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.cpp', 196 'libGLESv2/renderer/d3d/d3d9/shaders/compiled/componentmaskps.h', 197 'libGLESv2/renderer/d3d/d3d9/shaders/compiled/flipyvs.h', 198 'libGLESv2/renderer/d3d/d3d9/shaders/compiled/luminanceps.h', 199 'libGLESv2/renderer/d3d/d3d9/shaders/compiled/passthroughps.h', 200 'libGLESv2/renderer/d3d/d3d9/shaders/compiled/standardvs.h', 201 'libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp', 202 'libGLESv2/renderer/d3d/d3d9/SwapChain9.h', 203 'libGLESv2/renderer/d3d/d3d9/TextureStorage9.cpp', 204 'libGLESv2/renderer/d3d/d3d9/TextureStorage9.h', 205 'libGLESv2/renderer/d3d/d3d9/VertexArray9.h', 206 'libGLESv2/renderer/d3d/d3d9/VertexBuffer9.cpp', 207 'libGLESv2/renderer/d3d/d3d9/VertexBuffer9.h', 208 'libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.cpp', 209 'libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.h', 210 ], 211 'angle_d3d11_sources': 212 [ 213 'libGLESv2/renderer/d3d/d3d11/Blit11.cpp', 214 'libGLESv2/renderer/d3d/d3d11/Blit11.h', 215 'libGLESv2/renderer/d3d/d3d11/Buffer11.cpp', 216 'libGLESv2/renderer/d3d/d3d11/Buffer11.h', 217 'libGLESv2/renderer/d3d/d3d11/Clear11.cpp', 218 'libGLESv2/renderer/d3d/d3d11/Clear11.h', 219 'libGLESv2/renderer/d3d/d3d11/Fence11.cpp', 220 'libGLESv2/renderer/d3d/d3d11/Fence11.h', 221 'libGLESv2/renderer/d3d/d3d11/formatutils11.cpp', 222 'libGLESv2/renderer/d3d/d3d11/formatutils11.h', 223 'libGLESv2/renderer/d3d/d3d11/Image11.cpp', 224 'libGLESv2/renderer/d3d/d3d11/Image11.h', 225 'libGLESv2/renderer/d3d/d3d11/IndexBuffer11.cpp', 226 'libGLESv2/renderer/d3d/d3d11/IndexBuffer11.h', 227 'libGLESv2/renderer/d3d/d3d11/InputLayoutCache.cpp', 228 'libGLESv2/renderer/d3d/d3d11/InputLayoutCache.h', 229 'libGLESv2/renderer/d3d/d3d11/PixelTransfer11.cpp', 230 'libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h', 231 'libGLESv2/renderer/d3d/d3d11/Query11.cpp', 232 'libGLESv2/renderer/d3d/d3d11/Query11.h', 233 'libGLESv2/renderer/d3d/d3d11/Renderer11.cpp', 234 'libGLESv2/renderer/d3d/d3d11/Renderer11.h', 235 'libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp', 236 'libGLESv2/renderer/d3d/d3d11/renderer11_utils.h', 237 'libGLESv2/renderer/d3d/d3d11/RenderStateCache.cpp', 238 'libGLESv2/renderer/d3d/d3d11/RenderStateCache.h', 239 'libGLESv2/renderer/d3d/d3d11/RenderTarget11.cpp', 240 'libGLESv2/renderer/d3d/d3d11/RenderTarget11.h', 241 'libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.cpp', 242 'libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.h', 243 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_gs.h', 244 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4f.h', 245 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4i.h', 246 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h', 247 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_vs.h', 248 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h', 249 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h', 250 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h', 251 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h', 252 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h', 253 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h', 254 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h', 255 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough3d11gs.h', 256 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough3d11vs.h', 257 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h', 258 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlum2d11ps.h', 259 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlum3d11ps.h', 260 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h', 261 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h', 262 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2d11ps.h', 263 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2di11ps.h', 264 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2dui11ps.h', 265 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3d11ps.h', 266 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3di11ps.h', 267 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3dui11ps.h', 268 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2d11ps.h', 269 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2di11ps.h', 270 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2dui11ps.h', 271 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3d11ps.h', 272 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3di11ps.h', 273 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3dui11ps.h', 274 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d11ps.h', 275 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2di11ps.h', 276 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2dui11ps.h', 277 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d11ps.h', 278 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3di11ps.h', 279 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3dui11ps.h', 280 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h', 281 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2di11ps.h', 282 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dui11ps.h', 283 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d11ps.h', 284 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3di11ps.h', 285 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3dui11ps.h', 286 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef2darrayps.h', 287 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef2dps.h', 288 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef3dps.h', 289 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei2darrayps.h', 290 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei2dps.h', 291 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei3dps.h', 292 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui2darrayps.h', 293 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui2dps.h', 294 'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui3dps.h', 295 'libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp', 296 'libGLESv2/renderer/d3d/d3d11/SwapChain11.h', 297 'libGLESv2/renderer/d3d/d3d11/TextureStorage11.cpp', 298 'libGLESv2/renderer/d3d/d3d11/TextureStorage11.h', 299 'libGLESv2/renderer/d3d/d3d11/VertexArray11.h', 300 'libGLESv2/renderer/d3d/d3d11/VertexBuffer11.cpp', 301 'libGLESv2/renderer/d3d/d3d11/VertexBuffer11.h', 302 ] 303 }, 304 # Everything below this is duplicated in the GN build. If you change 305 # anything also change angle/BUILD.gn 306 'conditions': 307 [ 308 ['OS=="win"', 309 { 310 'targets': 311 [ 312 { 313 'target_name': 'libANGLE', 314 #TODO(jamdill/geofflang): support shared 315 'type': 'static_library', 316 'dependencies': [ 'translator', 'commit_id', 'copy_compiler_dll' ], 317 'includes': [ '../build/common_defines.gypi', ], 318 'include_dirs': 319 [ 320 '.', 321 '../include', 322 'libGLESv2', 323 ], 324 'sources': 325 [ 326 '<@(angle_libangle_sources)', 327 ], 328 'defines': 329 [ 330 'GL_APICALL=', 331 'GL_GLEXT_PROTOTYPES=', 332 'EGLAPI=', 333 'ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" }', 334 ], 335 'direct_dependent_settings': 336 { 337 'include_dirs': 338 [ 339 '.', 340 '../include', 341 'libGLESv2', 342 ], 343 'defines': 344 [ 345 'GL_APICALL=', 346 'GL_GLEXT_PROTOTYPES=', 347 'EGLAPI=', 348 'ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" }', 349 ], 350 }, 351 'conditions': 352 [ 353 ['angle_enable_d3d9==1 or angle_enable_d3d11==1', 354 { 355 'sources': 356 [ 357 '<@(angle_d3d_shared_sources)', 358 ], 359 }], 360 ['angle_enable_d3d9==1', 361 { 362 'sources': 363 [ 364 '<@(angle_d3d9_sources)', 365 ], 366 'defines': 367 [ 368 'ANGLE_ENABLE_D3D9', 369 ], 370 'link_settings': 371 { 372 'msvs_settings': 373 { 374 'VCLinkerTool': 375 { 376 'AdditionalDependencies': 377 [ 378 'd3d9.lib', 379 ] 380 } 381 }, 382 }, 383 }], 384 ['angle_enable_d3d11==1', 385 { 386 'sources': 387 [ 388 '<@(angle_d3d11_sources)', 389 ], 390 'defines': 391 [ 392 'ANGLE_ENABLE_D3D11', 393 ], 394 'link_settings': 395 { 396 'msvs_settings': 397 { 398 'VCLinkerTool': 399 { 400 'AdditionalDependencies': 401 [ 402 'dxguid.lib', 403 ] 404 } 405 }, 406 }, 407 }], 408 ], 409 410 'configurations': 411 { 412 'Debug': 413 { 414 'defines': 415 [ 416 'ANGLE_ENABLE_PERF', 417 ], 418 'msvs_settings': 419 { 420 'VCLinkerTool': 421 { 422 'AdditionalDependencies': 423 [ 424 'd3d9.lib', 425 ] 426 } 427 }, 428 }, 429 }, 430 }, 431 { 432 'target_name': 'libGLESv2', 433 'type': 'shared_library', 434 'dependencies': [ 'libANGLE' ], 435 'includes': [ '../build/common_defines.gypi', ], 436 'sources': 437 [ 438 'libGLESv2/libGLESv2.cpp', 439 'libGLESv2/libGLESv2.def', 440 'libGLESv2/libGLESv2.rc', 441 ], 442 }, 443 { 444 'target_name': 'libGLESv2_static', 445 'type': 'static_library', 446 # make sure we depend on commit_id as a hard dependency, otherwise 447 # we will try to build the static_lib in parallel 448 'dependencies': [ 'libANGLE', 'commit_id' ], 449 'includes': [ '../build/common_defines.gypi', ], 450 'sources': 451 [ 452 'libGLESv2/libGLESv2.cpp', 453 'libGLESv2/libGLESv2.rc', 454 ], 455 }, 456 ], 457 }, 458 ], 459 ], 460 } 461