# 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/DSLErrorHandling.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",
  "$_src/sksl/SkSLASTFile.h",
  "$_src/sksl/SkSLASTNode.cpp",
  "$_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.h",
  "$_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/SkSLMemoryLayout.h",
  "$_src/sksl/SkSLMemoryPool.h",
  "$_src/sksl/SkSLOperators.cpp",
  "$_src/sksl/SkSLOperators.h",
  "$_src/sksl/SkSLOutputStream.cpp",
  "$_src/sksl/SkSLOutputStream.h",
  "$_src/sksl/SkSLParser.cpp",
  "$_src/sksl/SkSLParser.h",
  "$_src/sksl/SkSLPool.cpp",
  "$_src/sksl/SkSLPool.h",
  "$_src/sksl/SkSLPosition.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/SkSLBoolLiteral.h",
  "$_src/sksl/ir/SkSLBreakStatement.h",
  "$_src/sksl/ir/SkSLConstructor.cpp",
  "$_src/sksl/ir/SkSLConstructor.h",
  "$_src/sksl/ir/SkSLConstructorArray.cpp",
  "$_src/sksl/ir/SkSLConstructorArray.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/SkSLFloatLiteral.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.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/SkSLIntLiteral.h",
  "$_src/sksl/ir/SkSLInterfaceBlock.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",
]
