blob: 8454a60cb9e1918d60351a68075f0f6d09d96fe5 [file] [log] [blame]
# Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'variables': {
'angle_code': 1,
'angle_api%': 'undefined',
'conditions': [
['OS=="win"', {'angle_api': 'win32',}],
],
},
'target_defaults': {
'defines': [
'ANGLE_DISABLE_TRACE',
'ANGLE_DISABLE_PERF',
'ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ TEXT("d3dcompiler_46.dll"), TEXT("d3dcompiler_43.dll") }',
],
'target_conditions': [
['OS=="lb_shell"', {
'msvs_settings': {
'VCResourceCompilerTool': {
'PreprocessorDefinitions': [
'NOWINRES',
],
},
'VCCLCompilerTool': {
'AdditionalOptions': [
'/EHsc',
],
},
},
}],
],
},
'targets': [
{
'target_name': 'preprocessor',
'type': 'static_library',
'include_dirs': [
],
'sources': [
'compiler/preprocessor/DiagnosticsBase.cpp',
'compiler/preprocessor/DiagnosticsBase.h',
'compiler/preprocessor/DirectiveHandlerBase.cpp',
'compiler/preprocessor/DirectiveHandlerBase.h',
'compiler/preprocessor/DirectiveParser.cpp',
'compiler/preprocessor/DirectiveParser.h',
'compiler/preprocessor/ExpressionParser.cpp',
'compiler/preprocessor/ExpressionParser.h',
'compiler/preprocessor/Input.cpp',
'compiler/preprocessor/Input.h',
'compiler/preprocessor/length_limits.h',
'compiler/preprocessor/Lexer.cpp',
'compiler/preprocessor/Lexer.h',
'compiler/preprocessor/Macro.cpp',
'compiler/preprocessor/Macro.h',
'compiler/preprocessor/MacroExpander.cpp',
'compiler/preprocessor/MacroExpander.h',
'compiler/preprocessor/numeric_lex.h',
'compiler/preprocessor/pp_utils.h',
'compiler/preprocessor/Preprocessor.cpp',
'compiler/preprocessor/Preprocessor.h',
'compiler/preprocessor/SourceLocation.h',
'compiler/preprocessor/Token.cpp',
'compiler/preprocessor/Token.h',
'compiler/preprocessor/Tokenizer.cpp',
'compiler/preprocessor/Tokenizer.h',
],
# TODO(jschuh): http://crbug.com/167187
'msvs_disabled_warnings': [
4267,
],
},
{
'target_name': 'translator_common',
'type': 'static_library',
'dependencies': ['preprocessor'],
'include_dirs': [
'.',
'../include',
],
'defines': [
'COMPILER_IMPLEMENTATION',
],
'sources': [
'compiler/BaseTypes.h',
'compiler/BuiltInFunctionEmulator.cpp',
'compiler/BuiltInFunctionEmulator.h',
'compiler/Common.h',
'compiler/Compiler.cpp',
'compiler/ConstantUnion.h',
'compiler/debug.cpp',
'compiler/debug.h',
'compiler/DetectCallDepth.cpp',
'compiler/DetectCallDepth.h',
'compiler/Diagnostics.h',
'compiler/Diagnostics.cpp',
'compiler/DirectiveHandler.h',
'compiler/DirectiveHandler.cpp',
'compiler/ExtensionBehavior.h',
'compiler/ForLoopUnroll.cpp',
'compiler/ForLoopUnroll.h',
'compiler/glslang.h',
'compiler/glslang_lex.cpp',
'compiler/glslang_tab.cpp',
'compiler/glslang_tab.h',
'compiler/HashNames.h',
'compiler/InfoSink.cpp',
'compiler/InfoSink.h',
'compiler/Initialize.cpp',
'compiler/Initialize.h',
'compiler/InitializeDll.cpp',
'compiler/InitializeDll.h',
'compiler/InitializeGlobals.h',
'compiler/InitializeParseContext.cpp',
'compiler/InitializeParseContext.h',
'compiler/Intermediate.cpp',
'compiler/intermediate.h',
'compiler/intermOut.cpp',
'compiler/IntermTraverse.cpp',
'compiler/localintermediate.h',
'compiler/MapLongVariableNames.cpp',
'compiler/MapLongVariableNames.h',
'compiler/MMap.h',
'compiler/osinclude.h',
'compiler/parseConst.cpp',
'compiler/ParseHelper.cpp',
'compiler/ParseHelper.h',
'compiler/PoolAlloc.cpp',
'compiler/PoolAlloc.h',
'compiler/QualifierAlive.cpp',
'compiler/QualifierAlive.h',
'compiler/RemoveTree.cpp',
'compiler/RemoveTree.h',
'compiler/RenameFunction.h',
'compiler/ShHandle.h',
'compiler/SymbolTable.cpp',
'compiler/SymbolTable.h',
'compiler/Types.h',
'compiler/Uniform.cpp',
'compiler/Uniform.h',
'compiler/util.cpp',
'compiler/util.h',
'compiler/ValidateLimitations.cpp',
'compiler/ValidateLimitations.h',
'compiler/VariableInfo.cpp',
'compiler/VariableInfo.h',
'compiler/VariablePacker.cpp',
'compiler/VariablePacker.h',
# Dependency graph
'compiler/depgraph/DependencyGraph.cpp',
'compiler/depgraph/DependencyGraph.h',
'compiler/depgraph/DependencyGraphBuilder.cpp',
'compiler/depgraph/DependencyGraphBuilder.h',
'compiler/depgraph/DependencyGraphOutput.cpp',
'compiler/depgraph/DependencyGraphOutput.h',
'compiler/depgraph/DependencyGraphTraverse.cpp',
# Timing restrictions
'compiler/timing/RestrictFragmentShaderTiming.cpp',
'compiler/timing/RestrictFragmentShaderTiming.h',
'compiler/timing/RestrictVertexShaderTiming.cpp',
'compiler/timing/RestrictVertexShaderTiming.h',
'third_party/compiler/ArrayBoundsClamper.cpp',
'third_party/compiler/ArrayBoundsClamper.h',
],
'conditions': [
['OS=="win" or (OS=="lb_shell" and actual_target_arch=="win") or angle_api=="winrt"', {
# TODO(jschuh): http://crbug.com/167187 size_t -> int
'msvs_disabled_warnings': [ 4267 ],
'sources': ['compiler/ossource_win.cpp'],
}, { # else: posix
'sources': ['compiler/ossource_posix.cpp'],
}],
],
},
{
'target_name': 'translator_glsl',
'type': '<(component)',
'dependencies': ['translator_common'],
'include_dirs': [
'.',
'../include',
],
'defines': [
'COMPILER_IMPLEMENTATION',
],
'sources': [
'compiler/CodeGenGLSL.cpp',
'compiler/OutputESSL.cpp',
'compiler/OutputESSL.h',
'compiler/OutputGLSLBase.cpp',
'compiler/OutputGLSLBase.h',
'compiler/OutputGLSL.cpp',
'compiler/OutputGLSL.h',
'compiler/ShaderLang.cpp',
'compiler/TranslatorESSL.cpp',
'compiler/TranslatorESSL.h',
'compiler/TranslatorGLSL.cpp',
'compiler/TranslatorGLSL.h',
'compiler/VersionGLSL.cpp',
'compiler/VersionGLSL.h',
],
'conditions': [
['OS=="lb_shell"', {
'dependencies': [
'<(lbshell_root)/build/projects/posix_emulation.gyp:posix_emulation',
],
}],
],
# TODO(jschuh): http://crbug.com/167187 size_t -> int
'msvs_disabled_warnings': [ 4267 ],
},
],
'conditions': [
['OS=="win" or (OS=="lb_shell" and actual_target_arch=="win") or angle_api in ("winrt", "xb360")', {
'targets': [
{
'target_name': 'translator_hlsl',
'type': '<(component)',
'dependencies': ['translator_common'],
'include_dirs': [
'.',
'../include',
],
'defines': [
'COMPILER_IMPLEMENTATION',
],
'sources': [
'compiler/ShaderLang.cpp',
'compiler/DetectDiscontinuity.cpp',
'compiler/DetectDiscontinuity.h',
'compiler/CodeGenHLSL.cpp',
'compiler/OutputHLSL.cpp',
'compiler/OutputHLSL.h',
'compiler/TranslatorHLSL.cpp',
'compiler/TranslatorHLSL.h',
'compiler/UnfoldShortCircuit.cpp',
'compiler/UnfoldShortCircuit.h',
'compiler/SearchSymbol.cpp',
'compiler/SearchSymbol.h',
],
'conditions': [
['OS=="lb_shell"', {
'dependencies': [
'<(lbshell_root)/build/projects/posix_emulation.gyp:posix_emulation',
],
}],
],
# TODO(jschuh): http://crbug.com/167187 size_t -> int
'msvs_disabled_warnings': [ 4267 ],
},
{
'target_name': 'libGLESv2',
'type': 'shared_library',
'dependencies': ['translator_hlsl'],
'include_dirs': [
'.',
'../include',
'libGLESv2',
],
'sources': [
'third_party/murmurhash/MurmurHash3.h',
'third_party/murmurhash/MurmurHash3.cpp',
'common/angleutils.h',
'common/debug.cpp',
'common/debug.h',
'common/debugperf.h',
'common/RefCountObject.cpp',
'common/RefCountObject.h',
'common/system.h',
'common/version.h',
'common/windowutils.h',
'libGLESv2/angletypes.h',
'libGLESv2/BinaryStream.h',
'libGLESv2/Buffer.cpp',
'libGLESv2/Buffer.h',
'libGLESv2/constants.h',
'libGLESv2/Context.cpp',
'libGLESv2/Context.h',
'libGLESv2/Fence.cpp',
'libGLESv2/Fence.h',
'libGLESv2/Float16ToFloat32.cpp',
'libGLESv2/Framebuffer.cpp',
'libGLESv2/Framebuffer.h',
'libGLESv2/HandleAllocator.cpp',
'libGLESv2/HandleAllocator.h',
'libGLESv2/libGLESv2.cpp',
'libGLESv2/libGLESv2.def',
'libGLESv2/libGLESv2.rc',
'libGLESv2/main.cpp',
'libGLESv2/main.h',
'libGLESv2/mathutil.h',
'libGLESv2/precompiled.cpp',
'libGLESv2/precompiled.h',
'libGLESv2/Program.cpp',
'libGLESv2/Program.h',
'libGLESv2/ProgramBinary.cpp',
'libGLESv2/ProgramBinary.h',
'libGLESv2/Query.cpp',
'libGLESv2/Query.h',
'libGLESv2/Renderbuffer.cpp',
'libGLESv2/Renderbuffer.h',
'libGLESv2/renderer/Blit.cpp',
'libGLESv2/renderer/Blit.h',
'libGLESv2/renderer/BufferStorage.cpp',
'libGLESv2/renderer/BufferStorage.h',
'libGLESv2/renderer/BufferStorage11.cpp',
'libGLESv2/renderer/BufferStorage11.h',
'libGLESv2/renderer/BufferStorage9.cpp',
'libGLESv2/renderer/BufferStorage9.h',
'libGLESv2/renderer/Fence11.cpp',
'libGLESv2/renderer/Fence11.h',
'libGLESv2/renderer/Fence9.cpp',
'libGLESv2/renderer/Fence9.h',
'libGLESv2/renderer/FenceImpl.h',
'libGLESv2/renderer/generatemip.h',
'libGLESv2/renderer/Image.cpp',
'libGLESv2/renderer/Image.h',
'libGLESv2/renderer/Image11.cpp',
'libGLESv2/renderer/Image11.h',
'libGLESv2/renderer/Image9.cpp',
'libGLESv2/renderer/Image9.h',
'libGLESv2/renderer/ImageSSE2.cpp',
'libGLESv2/renderer/IndexBuffer.cpp',
'libGLESv2/renderer/IndexBuffer.h',
'libGLESv2/renderer/IndexBuffer11.cpp',
'libGLESv2/renderer/IndexBuffer11.h',
'libGLESv2/renderer/IndexBuffer9.cpp',
'libGLESv2/renderer/IndexBuffer9.h',
'libGLESv2/renderer/IndexDataManager.cpp',
'libGLESv2/renderer/IndexDataManager.h',
'libGLESv2/renderer/InputLayoutCache.cpp',
'libGLESv2/renderer/InputLayoutCache.h',
'libGLESv2/renderer/Query11.cpp',
'libGLESv2/renderer/Query11.h',
'libGLESv2/renderer/Query9.cpp',
'libGLESv2/renderer/Query9.h',
'libGLESv2/renderer/QueryImpl.h',
'libGLESv2/renderer/Renderer.cpp',
'libGLESv2/renderer/Renderer.h',
'libGLESv2/renderer/Renderer11.cpp',
'libGLESv2/renderer/Renderer11.h',
'libGLESv2/renderer/renderer11_utils.cpp',
'libGLESv2/renderer/renderer11_utils.h',
'libGLESv2/renderer/Renderer9.cpp',
'libGLESv2/renderer/Renderer9.h',
'libGLESv2/renderer/renderer9_utils.cpp',
'libGLESv2/renderer/renderer9_utils.h',
'libGLESv2/renderer/RenderStateCache.cpp',
'libGLESv2/renderer/RenderStateCache.h',
'libGLESv2/renderer/RenderTarget.h',
'libGLESv2/renderer/RenderTarget11.cpp',
'libGLESv2/renderer/RenderTarget11.h',
'libGLESv2/renderer/RenderTarget9.cpp',
'libGLESv2/renderer/RenderTarget9.h',
'libGLESv2/renderer/ShaderCache.h',
'libGLESv2/renderer/ShaderExecutable.h',
'libGLESv2/renderer/ShaderExecutable11.cpp',
'libGLESv2/renderer/ShaderExecutable11.h',
'libGLESv2/renderer/ShaderExecutable9.cpp',
'libGLESv2/renderer/ShaderExecutable9.h',
'libGLESv2/renderer/SwapChain.h',
'libGLESv2/renderer/SwapChain11.cpp',
'libGLESv2/renderer/SwapChain11.h',
'libGLESv2/renderer/SwapChain9.cpp',
'libGLESv2/renderer/SwapChain9.h',
'libGLESv2/renderer/TextureStorage.cpp',
'libGLESv2/renderer/TextureStorage.h',
'libGLESv2/renderer/TextureStorage11.cpp',
'libGLESv2/renderer/TextureStorage11.h',
'libGLESv2/renderer/TextureStorage9.cpp',
'libGLESv2/renderer/TextureStorage9.h',
'libGLESv2/renderer/VertexBuffer.cpp',
'libGLESv2/renderer/VertexBuffer.h',
'libGLESv2/renderer/VertexBuffer11.cpp',
'libGLESv2/renderer/VertexBuffer11.h',
'libGLESv2/renderer/VertexBuffer9.cpp',
'libGLESv2/renderer/VertexBuffer9.h',
'libGLESv2/renderer/vertexconversion.h',
'libGLESv2/renderer/VertexDataManager.cpp',
'libGLESv2/renderer/VertexDataManager.h',
'libGLESv2/renderer/VertexDeclarationCache.cpp',
'libGLESv2/renderer/VertexDeclarationCache.h',
'libGLESv2/ResourceManager.cpp',
'libGLESv2/ResourceManager.h',
'libGLESv2/Shader.cpp',
'libGLESv2/Shader.h',
'libGLESv2/Texture.cpp',
'libGLESv2/Texture.h',
'libGLESv2/Uniform.cpp',
'libGLESv2/Uniform.h',
'libGLESv2/utilities.cpp',
'libGLESv2/utilities.h',
],
'conditions': [
['angle_api=="win32"', {
'sources': [
'common/win32/debugperf.cpp',
'common/win32/windowutils.cpp',
'libGLESv2/renderer/win32/SwapChain11Win32.cpp',
],
'sources/': [
# Don't compile D3D11-related source codes in win32.
['exclude', 'renderer/.*11'],
['exclude', 'renderer/RenderStateCache'],
['exclude', 'renderer/InputLayoutCache'],
],
'msvs_settings': {
'VCLinkerTool': {
'AdditionalDependencies': [
'd3d9.lib',
'dxguid.lib',
],
},
},
'actions':
[
# Cherry-picked from upstream Angle.
{
'action_name': 'copy_dll',
'message': 'Copying D3D Compiler DLL...',
'msvs_cygwin_shell': 0,
'inputs': [ 'copy_compiler_dll.bat' ],
'outputs': [ '<(PRODUCT_DIR)/d3dcompiler_46.dll' ],
'action':
[
"copy_compiler_dll.bat",
"$(PlatformName)",
"<(windows_sdk_path)",
"<(PRODUCT_DIR)"
],
},
],
}],
['angle_api=="winrt"', {
'sources': [
'common/winrt/debugperf.cpp',
'common/winrt/windowadapter.cpp',
'common/winrt/windowadapter.h',
'common/winrt/windowutils.cpp',
'libGLESv2/renderer/winrt/SwapChain11WinRT.cpp',
],
'sources/': [
# WinRT doesn't support D3D9 so we strip all D3D9 source files
['exclude', 'renderer/.*9'],
['exclude', 'renderer/Blit'],
['exclude', 'renderer/VertexDeclarationCache'],
],
'msvs_settings': {
'VCCLCompilerTool': {
'ComponentExtensions': 'true',
},
'VCLinkerTool': {
'AdditionalDependencies': [
'd3d11.lib',
'd3dcompiler.lib',
'dxguid.lib',
],
},
'VCLibrarianTool': {
'AdditionalOptions': ['/ignore:4264'],
},
},
}],
['angle_api=="xb360"', {
'type': 'static_library',
'sources': [
'common/xb360/debugperf.cpp',
'common/xb360/windowutils.cpp',
'libGLESv2/renderer/VertexDataManager.cpp',
'libGLESv2/renderer/VertexDataManager.h',
'libGLESv2/renderer/xb360/BufferStorageXB360.cpp',
'libGLESv2/renderer/xb360/BufferStorageXB360.h',
'libGLESv2/renderer/xb360/GpuCapture.cpp',
'libGLESv2/renderer/xb360/GpuCapture.h',
'libGLESv2/renderer/xb360/GpuCaptureControl.cpp',
'libGLESv2/renderer/xb360/ImageXB360.cpp',
'libGLESv2/renderer/xb360/ImageXB360.h',
'libGLESv2/renderer/xb360/IndexBufferXB360.cpp',
'libGLESv2/renderer/xb360/IndexBufferXB360.h',
'libGLESv2/renderer/xb360/RendererXB360.cpp',
'libGLESv2/renderer/xb360/RendererXB360.h',
'libGLESv2/renderer/xb360/rendererXB360_utils.cpp',
'libGLESv2/renderer/xb360/rendererXB360_utils.h',
'libGLESv2/renderer/xb360/RenderTargetXB360.cpp',
'libGLESv2/renderer/xb360/RenderTargetXB360.h',
'libGLESv2/renderer/xb360/ShaderExecutableXB360.cpp',
'libGLESv2/renderer/xb360/ShaderExecutableXB360.h',
'libGLESv2/renderer/xb360/SwapChainXB360.cpp',
'libGLESv2/renderer/xb360/SwapChainXB360.h',
'libGLESv2/renderer/xb360/TextureStorageXB360.cpp',
'libGLESv2/renderer/xb360/TextureStorageXB360.h',
'libGLESv2/renderer/xb360/TextureXB360.cpp',
'libGLESv2/renderer/xb360/TextureXB360.h',
'libGLESv2/renderer/xb360/VertexBufferXB360.cpp',
'libGLESv2/renderer/xb360/VertexBufferXB360.h',
'libGLESv2/renderer/xb360/VertexDeclarationCacheXB360.cpp',
'libGLESv2/renderer/xb360/VertexDeclarationCacheXB360.h',
],
'sources/': [
# Exclude all D3D9 source files
['exclude', 'renderer/.*9'],
['exclude', 'renderer/Blit'],
['exclude', 'renderer/VertexDeclarationCache'],
# Exclude all DX11 source files
['exclude', 'renderer/.*11'],
# Xbox is PPC.
['exclude', 'renderer/ImageSSE2'],
# Xbox does not support these files
['exclude', 'renderer/InputLayoutCache'],
['exclude', 'renderer/RenderStateCache'],
],
}],
['OS=="lb_shell"', {
'dependencies': [
'<(lbshell_root)/build/projects/posix_emulation.gyp:posix_emulation',
],
}],
],
# TODO(jschuh): http://crbug.com/167187 size_t -> int
'msvs_disabled_warnings': [ 4267 ],
},
{
'target_name': 'libEGL',
'type': 'shared_library',
'dependencies': ['libGLESv2'],
'include_dirs': [
'.',
'../include',
'libGLESv2',
],
'sources': [
'common/angleutils.h',
'common/debug.cpp',
'common/debug.h',
'common/debugperf.h',
'common/RefCountObject.cpp',
'common/RefCountObject.h',
'common/system.h',
'common/version.h',
'common/windowutils.h',
'libEGL/Config.cpp',
'libEGL/Config.h',
'libEGL/Display.cpp',
'libEGL/Display.h',
'libEGL/libEGL.cpp',
'libEGL/libEGL.def',
'libEGL/libEGL.rc',
'libEGL/main.cpp',
'libEGL/main.h',
'libEGL/Surface.cpp',
'libEGL/Surface.h',
],
'conditions': [
['angle_api=="win32"', {
'sources': [
'common/win32/debugperf.cpp',
'common/win32/windowutils.cpp',
'libEGL/win32/WindowSubclassWin32.cpp',
],
'msvs_settings': {
'VCLinkerTool': {
'AdditionalDependencies': [
'd3d9.lib',
'dxguid.lib',
],
},
},
}],
['angle_api=="winrt"', {
'sources': [
'common/winrt/debugperf.cpp',
'common/winrt/windowadapter.cpp',
'common/winrt/windowadapter.h',
'common/winrt/windowutils.cpp',
'libEGL/winrt/WindowSubclassWinRT.cpp',
],
'msvs_settings': {
'VCCLCompilerTool': {
'ComponentExtensions': 'true',
},
'VCLinkerTool': {
'AdditionalDependencies': [
'd3d11.lib',
'd3dcompiler.lib',
'dxguid.lib',
],
},
'VCLibrarianTool': {
'AdditionalOptions': ['/ignore:4264'],
},
},
}],
['angle_api=="xb360"', {
# Don't build DLLs on 360.
'type': 'static_library',
'sources': [
'common/xb360/debugperf.cpp',
'common/xb360/windowutils.cpp',
],
}],
['OS=="lb_shell"', {
'dependencies': [
'<(lbshell_root)/build/projects/posix_emulation.gyp:posix_emulation',
],
}],
],
# TODO(jschuh): http://crbug.com/167187 size_t -> int
'msvs_disabled_warnings': [ 4267 ],
},
],
}],
],
}
# Local Variables:
# tab-width:2
# indent-tabs-mode:nil
# End:
# vim: set expandtab tabstop=2 shiftwidth=2:
# Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.