# 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/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/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",
]
