Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Unified Diff: gyp/shaderc.gyp

Issue 2047833003: Create .gyp rules for shaderc libraries (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: indents and such Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gyp/shaderc.gyp
diff --git a/gyp/shaderc.gyp b/gyp/shaderc.gyp
index 32026850afa1803b10a9235ffe67083a1b2e0617..31fd897aeabfc5190b1ab0926ad2865a144012aa 100644
--- a/gyp/shaderc.gyp
+++ b/gyp/shaderc.gyp
@@ -5,80 +5,334 @@
# Builds shaderc for the Vulkan backend
{
- 'variables': {
- 'variables': { # This is the dreaded nested variables dict so that we can
- # have dependent variables
- 'shaderc_build_configuration': '<(CONFIGURATION_NAME)',
- 'conditions': [
- [ 'skia_os == "win"', {
- 'shaderc_lib_name' : 'shaderc_combined.lib',
- }, {
- 'shaderc_lib_name' : 'libshaderc_combined.a',
- }],
- [ 'skia_os == "win"', {
- 'conditions': [
- [ 'MSVS_VERSION == "2013"', {
- 'shaderc_project_type' : 'MSVS2013',
- }],
- [ 'MSVS_VERSION == "2015"', {
- 'shaderc_project_type' : 'MSVS2015',
- }],
- ],
- }, {
- 'shaderc_project_type' : 'ninja',
- }],
- ],
- 'shaderc_out_path': '<(PRODUCT_DIR)/shaderc_out_<(skia_arch_type)',
- },
- # Export out of nested variables.
- 'shaderc_build_configuration': '<(shaderc_build_configuration)',
- 'shaderc_project_type': '<(shaderc_project_type)',
- 'shaderc_out_path': '<(shaderc_out_path)',
- 'shaderc_lib_name': '<(shaderc_lib_name)',
- 'android_toolchain%': '',
-
- # On Windows the library winds up inside a 'Debug' or 'Release' dir, not so
- # with ninja project build.
- 'conditions': [
- [ 'skia_os == "win"', {
- 'shaderc_lib_full_path': '<(shaderc_out_path)/libshaderc/<(shaderc_build_configuration)/<(shaderc_lib_name)',
- }, {
- 'shaderc_lib_full_path': '<(shaderc_out_path)/libshaderc/<(shaderc_lib_name)',
- }],
- ]
- },
- 'targets': [
+ 'targets': [
{
- # Call out to a python script to build shaderc_combined and then copy it
- # to out/<Configuration>
'target_name': 'shaderc_combined',
+ 'type': 'static_library',
+ 'dependencies': [
+ 'libshaderc',
+ 'libshaderc_util',
+ 'liboglcompiler',
+ 'libspirv',
+ 'libglslangosdependent',
+ 'libglslang',
+ ],
+ },
+ {
+ 'target_name': 'libshaderc',
+ 'type': 'static_library',
+ 'cflags': [
+ '-w',
+ ],
+ 'xcode_settings': {
+ 'WARNING_CFLAGS': [
+ '-w'
+ ],
+ },
+ 'include_dirs': [
+ '../third_party/externals/shaderc2/libshaderc/include',
+ '../third_party/externals/shaderc2/libshaderc_util/include',
+ '../third_party/externals/shaderc2/third_party/glslang',
+ ],
+ 'sources': [
+ '../third_party/externals/shaderc2/libshaderc/include/shaderc/shaderc.hpp',
+ '../third_party/externals/shaderc2/libshaderc/src/shaderc.cc',
+ ],
+ },
+ {
+ 'target_name': 'libshaderc_util',
+ 'type': 'static_library',
+ 'dependencies': [
+ 'libspirvtools'
+ ],
+ 'cflags': [
+ '-w',
+ ],
+ 'xcode_settings': {
+ 'WARNING_CFLAGS': [
+ '-w'
+ ],
+ },
+ 'include_dirs': [
+ '../third_party/externals/shaderc2/libshaderc_util/include',
+ '../third_party/externals/shaderc2/third_party/glslang',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/include',
+ ],
+ 'sources': [
+ '../third_party/externals/shaderc2/libshaderc_util/src/compiler.cc',
+ '../third_party/externals/shaderc2/libshaderc_util/src/file_finder.cc',
+ '../third_party/externals/shaderc2/libshaderc_util/src/io.cc',
+ '../third_party/externals/shaderc2/libshaderc_util/src/message.cc',
+ '../third_party/externals/shaderc2/libshaderc_util/src/resources.cc',
+ '../third_party/externals/shaderc2/libshaderc_util/src/shader_stage.cc',
+ '../third_party/externals/shaderc2/libshaderc_util/src/version_profile.cc',
+ ],
+ },
+ {
+ 'target_name': 'libspirv',
+ 'type': 'static_library',
+ 'cflags': [
+ '-w',
+ ],
+ 'xcode_settings': {
+ 'WARNING_CFLAGS': [
+ '-w'
+ ],
+ },
+ 'include_dirs': [
+ '../third_party/externals/shaderc2/third_party/glslang',
+ ],
+ 'sources': [
+ '../third_party/externals/shaderc2/third_party/glslang/SPIRV/GlslangToSpv.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/SPIRV/InReadableOrder.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/SPIRV/SpvBuilder.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/SPIRV/SPVRemapper.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/SPIRV/doc.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/SPIRV/disassemble.cpp',
+ ],
+ },
+ {
+ 'target_name': 'liboglcompiler',
+ 'type': 'static_library',
+ 'cflags': [
+ '-w',
+ ],
+ 'xcode_settings': {
+ 'WARNING_CFLAGS': [
+ '-w'
+ ],
+ },
+ 'include_dirs': [
+ '../third_party/externals/shaderc2/third_party/glslang/OGLCompilersDLL',
+ ],
+ 'sources': [
+ '../third_party/externals/shaderc2/third_party/glslang/OGLCompilersDLL/InitializeDll.cpp',
+ ],
+ },
+ {
+ 'target_name': 'libglslangosdependent',
+ 'type': 'static_library',
+ 'cflags': [
+ '-w',
+ ],
+ 'xcode_settings': {
+ 'WARNING_CFLAGS': [
+ '-w'
+ ],
+ },
+ 'conditions': [
+ ['skia_os == "win"', {
+ 'include_dirs': [
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/OSDependent/Windows',
+ ],
+ 'sources': [
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/OSDependent/Windows/ossource.cpp',
+ ],
+ }, {
+ 'include_dirs': [
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/OSDependent/Unix',
+ ],
+ 'sources': [
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/OSDependent/Unix/ossource.cpp',
+ ],
+ }],
+ ],
+ },
+ {
+ 'target_name': 'libglslang',
+ 'type': 'static_library',
+ 'cflags': [
+ '-w',
+ ],
+ 'xcode_settings': {
+ 'WARNING_CFLAGS': [
+ '-w'
+ ],
+ },
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'AdditionalOptions': [
+ '/wd4800',
+ '/wd4005',
+ '/wd4189',
+ ],
+ },
+ },
+ 'include_dirs': [
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/Include',
+ ],
+ 'sources': [
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/glslang.y',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/glslang_tab.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/Constant.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/InfoSink.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/Initialize.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/IntermTraverse.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/Intermediate.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/ParseHelper.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/PoolAlloc.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/RemoveTree.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/Scan.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/ShaderLang.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/SymbolTable.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/Versions.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/intermOut.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/limits.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/linkValidate.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/parseConst.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/reflection.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/preprocessor/PpContext.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/preprocessor/PpMemory.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/preprocessor/PpSymbols.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/GenericCodeGen/CodeGen.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/glslang/GenericCodeGen/Link.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/hlsl/hlslParseHelper.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/hlsl/hlslScanContext.cpp',
+ '../third_party/externals/shaderc2/third_party/glslang/hlsl/hlslGrammar.cpp',
+ ],
+ },
+ {
+ 'target_name': 'libspirvtools',
+ 'type': 'static_library',
+ 'dependencies': [
+ 'genspirvtools',
+ ],
+ 'cflags': [
+ '-w',
+ ],
+ 'xcode_settings': {
+ 'WARNING_CFLAGS': [
+ '-w'
+ ],
+ },
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'AdditionalOptions': [
+ '/wd4800',
+ ],
+ },
+ },
+ 'include_dirs': [
+ '../third_party/externals/shaderc2/third_party/spirv-tools/include',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source',
+ ],
+ 'sources': [
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/assembly_grammar.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/binary.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/diagnostic.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/disassemble.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/ext_inst.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/instruction.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/opcode.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/operand.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/print.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/spirv_endian.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/spirv_target_env.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/table.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/text.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/text_handler.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/validate.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/validate_cfg.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/validate_id.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/validate_instruction.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/validate_layout.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/validate_ssa.cpp',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/validate_types.cpp',
+ ],
+ },
+ {
+ 'target_name': 'genspirvtools',
'type': 'none',
'actions': [
{
- 'action_name': 'compile_shaderc',
+ 'action_name': 'produce_glsl-1-0',
'inputs': [
- '<!@(python find.py ../third_party/externals/shaderc2 "*")',
- '../tools/build_shaderc.py',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/utils/generate_grammar_tables.py',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/spirv-1-0.core.grammar.json',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/extinst-1-0.glsl.std.450.grammar.json',
],
'outputs': [
- '<(shaderc_lib_full_path)',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/glsl.std.450.insts-1-0.inc',
+ ],
+ 'action': [
+ 'python',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/utils/generate_grammar_tables.py',
+ '--spirv-core-grammar',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/spirv-1-0.core.grammar.json',
+ '--extinst-glsl-grammar',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/extinst-1-0.glsl.std.450.grammar.json',
+ '--glsl-insts-output',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/glsl.std.450.insts-1-0.inc',
+ ],
+ },
+ {
+ 'action_name': 'produce_core_operand-1-0',
+ 'inputs': [
+ '../third_party/externals/shaderc2/third_party/spirv-tools/utils/generate_grammar_tables.py',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/spirv-1-0.core.grammar.json',
+ ],
+ 'outputs': [
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/core.insts-1-0.inc',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/operand.kinds-1-0.inc',
+ ],
+ 'action': [
+ 'python',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/utils/generate_grammar_tables.py',
+ '--spirv-core-grammar',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/spirv-1-0.core.grammar.json',
+ '--core-insts-output',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/core.insts-1-0.inc',
+ '--operand-kinds-output',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/operand.kinds-1-0.inc'
+ ],
+ },
+ {
+ 'action_name': 'produce_core_operand-1-1',
+ 'inputs': [
+ '../third_party/externals/shaderc2/third_party/spirv-tools/utils/generate_grammar_tables.py',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/spirv-1-1.core.grammar.json',
+ ],
+ 'outputs': [
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/core.insts-1-1.inc',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/operand.kinds-1-1.inc',
+ ],
+ 'action': [
+ 'python',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/utils/generate_grammar_tables.py',
+ '--spirv-core-grammar',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/spirv-1-1.core.grammar.json',
+ '--core-insts-output',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/core.insts-1-1.inc',
+ '--operand-kinds-output',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/operand.kinds-1-1.inc'
],
- 'action': ['python', '../tools/build_shaderc.py', '-s', '../third_party/externals/shaderc2', '-o', '<(shaderc_out_path)', '-a', '<(skia_arch_type)', '-t', '<(shaderc_build_configuration)', '-p', '<(shaderc_project_type)', '-c', '<(android_toolchain)'],
},
- ],
- 'copies': [
{
- 'destination': '<(PRODUCT_DIR)',
- 'files': ['<(shaderc_lib_full_path)'],
+ 'action_name': 'produce_opencl-1-0',
+ 'inputs': [
+ '../third_party/externals/shaderc2/third_party/spirv-tools/utils/generate_grammar_tables.py',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/spirv-1-0.core.grammar.json',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/extinst-1-0.opencl.std.grammar.json',
+ ],
+ 'outputs': [
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/opencl.std.insts-1-0.inc',
+ ],
+ 'action': [
+ 'python',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/utils/generate_grammar_tables.py',
+ '--spirv-core-grammar',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/spirv-1-1.core.grammar.json',
+ '--extinst-opencl-grammar',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/extinst-1-0.opencl.std.grammar.json',
+ '--opencl-insts-output',
+ '../third_party/externals/shaderc2/third_party/spirv-tools/source/opencl.std.insts-1-0.inc'
+ ],
},
],
- 'all_dependent_settings': {
- 'link_settings': {
- 'libraries': [
- '<(shaderc_lib_name)',
- ],
- },
- },
},
],
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698