Create tint.h for external users

tint.h selectively includes headers depending on what features are enabled. It
is based off of the original sample code, so should give users access to all of
the functionality demonstrated in there.

This is located in include/tint/, so that users can have a pretty include of
tint/tint.h.

BUG=tint:87

Change-Id: I8659c789c154349e4e8e7730dc334da4fb6eba70
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23124
Reviewed-by: dan sinclair <dsinclair@google.com>
This commit is contained in:
Ryan Harrison 2020-06-11 19:35:20 +00:00
parent 8ca0aa710d
commit be45ff5081
5 changed files with 53 additions and 25 deletions

View File

@ -461,7 +461,10 @@ source_set("libtint_wgsl_writer_src") {
}
config("libtint_public_config") {
include_dirs = [ "${tint_root_dir}/" ]
include_dirs = [
"${tint_root_dir}/",
"${tint_root_dir}/include/",
]
}
source_set("libtint") {

View File

@ -70,6 +70,7 @@ if (${TINT_BUILD_SPV_READER})
endif()
include_directories("${PROJECT_SOURCE_DIR}/third_party/spirv-headers/include")
include_directories("${PROJECT_SOURCE_DIR}/include")
if(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") OR
("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang") OR

45
include/tint/tint.h Normal file
View File

@ -0,0 +1,45 @@
// Copyright 2020 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef INCLUDE_TINT_TINT_H_
#define INCLUDE_TINT_TINT_H_
// TODO(tint:88): When implementing support for an install target, all of these
// headers will need to be moved to include/tint/.
#include "src/context.h"
#include "src/reader/reader.h"
#include "src/type_determiner.h"
#include "src/type_manager.h"
#include "src/validator.h"
#include "src/writer/writer.h"
#if TINT_BUILD_SPV_READER
#include "src/reader/spirv/parser.h"
#endif // TINT_BUILD_SPV_READER
#if TINT_BUILD_WGSL_READER
#include "src/reader/wgsl/parser.h"
#endif // TINT_BUILD_WGSL_READER
#if TINT_BUILD_SPV_WRITER
#include "spirv-tools/libspirv.hpp"
#include "src/writer/spirv/generator.h"
#endif // TINT_BUILD_SPV_WRITER
#if TINT_BUILD_WGSL_WRITER
#include "src/writer/wgsl/generator.h"
#endif // TINT_BUILD_WGSL_WRITER
#endif // INCLUDE_TINT_TINT_H_

View File

@ -19,29 +19,7 @@
#include <string>
#include <vector>
#include "src/context.h"
#include "src/reader/reader.h"
#include "src/type_determiner.h"
#include "src/type_manager.h"
#include "src/validator.h"
#include "src/writer/writer.h"
#if TINT_BUILD_SPV_READER
#include "src/reader/spirv/parser.h"
#endif // TINT_BUILD_SPV_READER
#if TINT_BUILD_WGSL_READER
#include "src/reader/wgsl/parser.h"
#endif // TINT_BUILD_WGSL_READER
#if TINT_BUILD_SPV_WRITER
#include "spirv-tools/libspirv.hpp"
#include "src/writer/spirv/generator.h"
#endif // TINT_BUILD_SPV_WRITER
#if TINT_BUILD_WGSL_WRITER
#include "src/writer/wgsl/generator.h"
#endif // TINT_BUILD_WGSL_WRITER
#include "tint/tint.h"
namespace {
@ -67,7 +45,7 @@ struct Options {
const char kUsage[] = R"(Usage: tint [options] SCRIPT [SCRIPTS...]
options:
--format <spirv|spvasm|wgsl> -- Output format.
--format <spirv|spvasm|wgsl> -- Output format.
If not provided, will be inferred from output
filename extension:
.spvasm -> spvasm

View File

@ -37,6 +37,7 @@ function(tint_spvtools_compile_options TARGET)
endfunction()
set(TINT_LIB_SRCS
../include/tint/tint.h
ast/array_accessor_expression.cc
ast/array_accessor_expression.h
ast/as_expression.cc