# Copyright 2016 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Things are easiest for everyone if these source paths are absolute.
_src = get_path_info("../src", "abspath")
_include = get_path_info("../include", "abspath")

skia_sksl_sources = [
  "$_include/private/SkSLDefines.h",
  "$_include/private/SkSLIRNode.h",
  "$_include/private/SkSLLayout.h",
  "$_include/private/SkSLModifiers.h",
  "$_include/private/SkSLProgramElement.h",
  "$_include/private/SkSLProgramKind.h",
  "$_include/private/SkSLSampleUsage.h",
  "$_include/private/SkSLStatement.h",
  "$_include/private/SkSLString.h",
  "$_include/private/SkSLSymbol.h",
  "$_include/sksl/DSL.h",
  "$_include/sksl/DSLBlock.h",
  "$_include/sksl/DSLCase.h",
  "$_include/sksl/DSLCore.h",
  "$_include/sksl/DSLExpression.h",
  "$_include/sksl/DSLFunction.h",
  "$_include/sksl/DSLLayout.h",
  "$_include/sksl/DSLModifiers.h",
  "$_include/sksl/DSLRuntimeEffects.h",
  "$_include/sksl/DSLStatement.h",
  "$_include/sksl/DSLSymbols.h",
  "$_include/sksl/DSLType.h",
  "$_include/sksl/DSLVar.h",
  "$_include/sksl/SkSLErrorReporter.h",
  "$_src/sksl/SkSLASTFile.h",
  "$_src/sksl/SkSLASTNode.h",
  "$_src/sksl/SkSLAnalysis.cpp",
  "$_src/sksl/SkSLAnalysis.h",
  "$_src/sksl/SkSLBuiltinTypes.cpp",
  "$_src/sksl/SkSLBuiltinTypes.h",
  "$_src/sksl/SkSLCompiler.cpp",
  "$_src/sksl/SkSLCompiler.h",
  "$_src/sksl/SkSLConstantFolder.cpp",
  "$_src/sksl/SkSLConstantFolder.h",
  "$_src/sksl/SkSLContext.cpp",
  "$_src/sksl/SkSLContext.h",
  "$_src/sksl/SkSLDSLParser.cpp",
  "$_src/sksl/SkSLDSLParser.h",
  "$_src/sksl/SkSLDehydrator.cpp",
  "$_src/sksl/SkSLDehydrator.h",
  "$_src/sksl/SkSLErrorReporter.cpp",
  "$_src/sksl/SkSLFileOutputStream.h",
  "$_src/sksl/SkSLIRGenerator.cpp",
  "$_src/sksl/SkSLIRGenerator.h",
  "$_src/sksl/SkSLInliner.cpp",
  "$_src/sksl/SkSLInliner.h",
  "$_src/sksl/SkSLIntrinsicList.h",
  "$_src/sksl/SkSLLexer.cpp",
  "$_src/sksl/SkSLLexer.h",
  "$_src/sksl/SkSLMangler.cpp",
  "$_src/sksl/SkSLMangler.h",
  "$_src/sksl/SkSLMemoryLayout.h",
  "$_src/sksl/SkSLMemoryPool.h",
  "$_src/sksl/SkSLModifiersPool.h",
  "$_src/sksl/SkSLOperators.cpp",
  "$_src/sksl/SkSLOperators.h",
  "$_src/sksl/SkSLOutputStream.cpp",
  "$_src/sksl/SkSLOutputStream.h",
  "$_src/sksl/SkSLParsedModule.h",
  "$_src/sksl/SkSLParser.cpp",
  "$_src/sksl/SkSLParser.h",
  "$_src/sksl/SkSLPool.cpp",
  "$_src/sksl/SkSLPool.h",
  "$_src/sksl/SkSLPosition.h",
  "$_src/sksl/SkSLProgramSettings.h",
  "$_src/sksl/SkSLRehydrator.cpp",
  "$_src/sksl/SkSLRehydrator.h",
  "$_src/sksl/SkSLSampleUsage.cpp",
  "$_src/sksl/SkSLString.cpp",
  "$_src/sksl/SkSLStringStream.h",
  "$_src/sksl/SkSLUtil.cpp",
  "$_src/sksl/SkSLUtil.h",
  "$_src/sksl/codegen/SkSLVMCodeGenerator.cpp",
  "$_src/sksl/codegen/SkSLVMCodeGenerator.h",
  "$_src/sksl/dsl/DSLBlock.cpp",
  "$_src/sksl/dsl/DSLCase.cpp",
  "$_src/sksl/dsl/DSLCore.cpp",
  "$_src/sksl/dsl/DSLExpression.cpp",
  "$_src/sksl/dsl/DSLFunction.cpp",
  "$_src/sksl/dsl/DSLLayout.cpp",
  "$_src/sksl/dsl/DSLRuntimeEffects.cpp",
  "$_src/sksl/dsl/DSLStatement.cpp",
  "$_src/sksl/dsl/DSLSymbols.cpp",
  "$_src/sksl/dsl/DSLType.cpp",
  "$_src/sksl/dsl/DSLVar.cpp",
  "$_src/sksl/dsl/priv/DSLFPs.cpp",
  "$_src/sksl/dsl/priv/DSLWriter.cpp",
  "$_src/sksl/dsl/priv/DSLWriter.h",
  "$_src/sksl/ir/SkSLBinaryExpression.cpp",
  "$_src/sksl/ir/SkSLBinaryExpression.h",
  "$_src/sksl/ir/SkSLBlock.cpp",
  "$_src/sksl/ir/SkSLBlock.h",
  "$_src/sksl/ir/SkSLBreakStatement.h",
  "$_src/sksl/ir/SkSLChildCall.cpp",
  "$_src/sksl/ir/SkSLChildCall.h",
  "$_src/sksl/ir/SkSLConstructor.cpp",
  "$_src/sksl/ir/SkSLConstructor.h",
  "$_src/sksl/ir/SkSLConstructorArray.cpp",
  "$_src/sksl/ir/SkSLConstructorArray.h",
  "$_src/sksl/ir/SkSLConstructorArrayCast.cpp",
  "$_src/sksl/ir/SkSLConstructorArrayCast.h",
  "$_src/sksl/ir/SkSLConstructorCompound.cpp",
  "$_src/sksl/ir/SkSLConstructorCompound.h",
  "$_src/sksl/ir/SkSLConstructorCompoundCast.cpp",
  "$_src/sksl/ir/SkSLConstructorCompoundCast.h",
  "$_src/sksl/ir/SkSLConstructorDiagonalMatrix.cpp",
  "$_src/sksl/ir/SkSLConstructorDiagonalMatrix.h",
  "$_src/sksl/ir/SkSLConstructorMatrixResize.cpp",
  "$_src/sksl/ir/SkSLConstructorMatrixResize.h",
  "$_src/sksl/ir/SkSLConstructorScalarCast.cpp",
  "$_src/sksl/ir/SkSLConstructorScalarCast.h",
  "$_src/sksl/ir/SkSLConstructorSplat.cpp",
  "$_src/sksl/ir/SkSLConstructorSplat.h",
  "$_src/sksl/ir/SkSLConstructorStruct.cpp",
  "$_src/sksl/ir/SkSLConstructorStruct.h",
  "$_src/sksl/ir/SkSLContinueStatement.h",
  "$_src/sksl/ir/SkSLDiscardStatement.h",
  "$_src/sksl/ir/SkSLDoStatement.cpp",
  "$_src/sksl/ir/SkSLDoStatement.h",
  "$_src/sksl/ir/SkSLExpression.h",
  "$_src/sksl/ir/SkSLExpressionStatement.cpp",
  "$_src/sksl/ir/SkSLExpressionStatement.h",
  "$_src/sksl/ir/SkSLExtension.h",
  "$_src/sksl/ir/SkSLExternalFunction.h",
  "$_src/sksl/ir/SkSLExternalFunctionCall.h",
  "$_src/sksl/ir/SkSLExternalFunctionReference.h",
  "$_src/sksl/ir/SkSLField.h",
  "$_src/sksl/ir/SkSLFieldAccess.cpp",
  "$_src/sksl/ir/SkSLFieldAccess.h",
  "$_src/sksl/ir/SkSLForStatement.cpp",
  "$_src/sksl/ir/SkSLForStatement.h",
  "$_src/sksl/ir/SkSLFunctionCall.cpp",
  "$_src/sksl/ir/SkSLFunctionCall.h",
  "$_src/sksl/ir/SkSLFunctionDeclaration.cpp",
  "$_src/sksl/ir/SkSLFunctionDeclaration.h",
  "$_src/sksl/ir/SkSLFunctionDefinition.cpp",
  "$_src/sksl/ir/SkSLFunctionDefinition.h",
  "$_src/sksl/ir/SkSLFunctionPrototype.h",
  "$_src/sksl/ir/SkSLFunctionReference.h",
  "$_src/sksl/ir/SkSLIfStatement.cpp",
  "$_src/sksl/ir/SkSLIfStatement.h",
  "$_src/sksl/ir/SkSLIndexExpression.cpp",
  "$_src/sksl/ir/SkSLIndexExpression.h",
  "$_src/sksl/ir/SkSLInlineMarker.h",
  "$_src/sksl/ir/SkSLInterfaceBlock.h",
  "$_src/sksl/ir/SkSLLiteral.h",
  "$_src/sksl/ir/SkSLMethodReference.h",
  "$_src/sksl/ir/SkSLModifiersDeclaration.h",
  "$_src/sksl/ir/SkSLNop.h",
  "$_src/sksl/ir/SkSLPoison.h",
  "$_src/sksl/ir/SkSLPostfixExpression.cpp",
  "$_src/sksl/ir/SkSLPostfixExpression.h",
  "$_src/sksl/ir/SkSLPrefixExpression.cpp",
  "$_src/sksl/ir/SkSLPrefixExpression.h",
  "$_src/sksl/ir/SkSLProgram.h",
  "$_src/sksl/ir/SkSLReturnStatement.h",
  "$_src/sksl/ir/SkSLSetting.cpp",
  "$_src/sksl/ir/SkSLSetting.h",
  "$_src/sksl/ir/SkSLStructDefinition.h",
  "$_src/sksl/ir/SkSLSwitchCase.h",
  "$_src/sksl/ir/SkSLSwitchStatement.cpp",
  "$_src/sksl/ir/SkSLSwitchStatement.h",
  "$_src/sksl/ir/SkSLSwizzle.cpp",
  "$_src/sksl/ir/SkSLSwizzle.h",
  "$_src/sksl/ir/SkSLSymbolAlias.h",
  "$_src/sksl/ir/SkSLSymbolTable.cpp",
  "$_src/sksl/ir/SkSLSymbolTable.h",
  "$_src/sksl/ir/SkSLTernaryExpression.cpp",
  "$_src/sksl/ir/SkSLTernaryExpression.h",
  "$_src/sksl/ir/SkSLType.cpp",
  "$_src/sksl/ir/SkSLType.h",
  "$_src/sksl/ir/SkSLTypeReference.h",
  "$_src/sksl/ir/SkSLUnresolvedFunction.h",
  "$_src/sksl/ir/SkSLVarDeclarations.cpp",
  "$_src/sksl/ir/SkSLVarDeclarations.h",
  "$_src/sksl/ir/SkSLVariable.cpp",
  "$_src/sksl/ir/SkSLVariable.h",
  "$_src/sksl/ir/SkSLVariableReference.cpp",
  "$_src/sksl/ir/SkSLVariableReference.h",
  "$_src/sksl/spirv.h",
]

skia_sksl_gpu_sources = [
  "$_src/sksl/codegen/SkSLCodeGenerator.h",
  "$_src/sksl/codegen/SkSLGLSLCodeGenerator.cpp",
  "$_src/sksl/codegen/SkSLGLSLCodeGenerator.h",
  "$_src/sksl/codegen/SkSLMetalCodeGenerator.cpp",
  "$_src/sksl/codegen/SkSLMetalCodeGenerator.h",
  "$_src/sksl/codegen/SkSLPipelineStageCodeGenerator.cpp",
  "$_src/sksl/codegen/SkSLPipelineStageCodeGenerator.h",
  "$_src/sksl/codegen/SkSLSPIRVCodeGenerator.cpp",
  "$_src/sksl/codegen/SkSLSPIRVCodeGenerator.h",
  "$_src/sksl/codegen/SkSLSPIRVtoHLSL.cpp",
  "$_src/sksl/codegen/SkSLSPIRVtoHLSL.h",
]
