# Copyright (c) 2021 Huawei Device Co., Ltd. # 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. import("//build/ohos.gni") import("//third_party/vk-gl-cts/vk_gl_cts.gni") config("deqp_spirvtool_val_config") { cflags_cc = deqp_common_cflags_cc cflags_cc += [ "-ftemplate-depth=1024" ] defines = deqp_common_defines defines += [ "SPIRV_CHECK_CONTEXT", "SPIRV_COLOR_TERMINAL", "SPIRV_LINUX", "SPIRV_TIMER_ENABLED", ] } config("spv_headers_public_config") { include_dirs = [ "include" ] } config("spvtools_include_gen_dirs") { include_dirs = [ "$target_gen_dir" ] } config("spvtools_internal_config") { include_dirs = [ ".", "//third_party/spirv-headers/include", ] configs = [ ":spv_headers_public_config", ":spvtools_include_gen_dirs", ] cflags = [] if (is_clang) { cflags += [ "-Wno-implicit-fallthrough", "-Wno-newline-eof", "-Wno-unreachable-code-break", "-Wno-unreachable-code-return", ] } else if (!is_win) { # Work around a false-positive on a Skia GCC 10 builder. cflags += [ "-Wno-format-truncation" ] } else { # Make MSVC report the correct value for __cplusplus cflags += [ "/Zc:__cplusplus" ] } if (!is_win) { cflags += [ "-std=c++17" ] } else { cflags += [ "/std:c++17" ] } } ohos_source_set("deqp_spirvtool_val_source") { sources = [ "//third_party/spirv-tools/include/spirv-tools/instrument.hpp", "//third_party/spirv-tools/include/spirv-tools/libspirv.h", "//third_party/spirv-tools/include/spirv-tools/libspirv.hpp", "//third_party/spirv-tools/include/spirv-tools/linker.hpp", "//third_party/spirv-tools/include/spirv-tools/optimizer.hpp", "//third_party/spirv-tools/source/val/basic_block.cpp", "//third_party/spirv-tools/source/val/basic_block.h", "//third_party/spirv-tools/source/val/construct.cpp", "//third_party/spirv-tools/source/val/construct.h", "//third_party/spirv-tools/source/val/decoration.h", "//third_party/spirv-tools/source/val/function.cpp", "//third_party/spirv-tools/source/val/function.h", "//third_party/spirv-tools/source/val/instruction.cpp", "//third_party/spirv-tools/source/val/validate.cpp", "//third_party/spirv-tools/source/val/validate.h", "//third_party/spirv-tools/source/val/validate_adjacency.cpp", "//third_party/spirv-tools/source/val/validate_annotation.cpp", "//third_party/spirv-tools/source/val/validate_arithmetics.cpp", "//third_party/spirv-tools/source/val/validate_atomics.cpp", "//third_party/spirv-tools/source/val/validate_barriers.cpp", "//third_party/spirv-tools/source/val/validate_bitwise.cpp", "//third_party/spirv-tools/source/val/validate_builtins.cpp", "//third_party/spirv-tools/source/val/validate_capability.cpp", "//third_party/spirv-tools/source/val/validate_cfg.cpp", "//third_party/spirv-tools/source/val/validate_composites.cpp", "//third_party/spirv-tools/source/val/validate_constants.cpp", "//third_party/spirv-tools/source/val/validate_conversion.cpp", "//third_party/spirv-tools/source/val/validate_debug.cpp", "//third_party/spirv-tools/source/val/validate_decorations.cpp", "//third_party/spirv-tools/source/val/validate_derivatives.cpp", "//third_party/spirv-tools/source/val/validate_execution_limitations.cpp", "//third_party/spirv-tools/source/val/validate_extensions.cpp", "//third_party/spirv-tools/source/val/validate_function.cpp", "//third_party/spirv-tools/source/val/validate_id.cpp", "//third_party/spirv-tools/source/val/validate_image.cpp", "//third_party/spirv-tools/source/val/validate_instruction.cpp", "//third_party/spirv-tools/source/val/validate_interfaces.cpp", "//third_party/spirv-tools/source/val/validate_layout.cpp", "//third_party/spirv-tools/source/val/validate_literals.cpp", "//third_party/spirv-tools/source/val/validate_logicals.cpp", "//third_party/spirv-tools/source/val/validate_memory.cpp", "//third_party/spirv-tools/source/val/validate_memory_semantics.cpp", "//third_party/spirv-tools/source/val/validate_memory_semantics.h", "//third_party/spirv-tools/source/val/validate_mesh_shading.cpp", "//third_party/spirv-tools/source/val/validate_misc.cpp", "//third_party/spirv-tools/source/val/validate_mode_setting.cpp", "//third_party/spirv-tools/source/val/validate_non_uniform.cpp", "//third_party/spirv-tools/source/val/validate_primitives.cpp", "//third_party/spirv-tools/source/val/validate_ray_query.cpp", "//third_party/spirv-tools/source/val/validate_ray_tracing.cpp", "//third_party/spirv-tools/source/val/validate_ray_tracing_reorder.cpp", "//third_party/spirv-tools/source/val/validate_scopes.cpp", "//third_party/spirv-tools/source/val/validate_scopes.h", "//third_party/spirv-tools/source/val/validate_small_type_uses.cpp", "//third_party/spirv-tools/source/val/validate_type.cpp", "//third_party/spirv-tools/source/val/validation_state.cpp", "//third_party/spirv-tools/source/val/validation_state.h", ] include_dirs = deqp_common_include_dirs include_dirs += [ "//third_party/spirv-tools", "//third_party/vk-gl-cts/build/external/spirv-tools/spirv-tools", "//third_party/spirv-headers/include", "//third_party/spirv-tools/include", ] if (build_with_chromium) { configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] } configs = [ ":deqp_spirvtool_val_config" ] configs += [ ":spv_headers_public_config" ] configs += [ ":spvtools_internal_config" ] } ohos_static_library("libdeqp_spirvtools-val") { deps = [ ":deqp_spirvtool_val_source", "//third_party/spirv-tools:libdeqp_spirvtools", ] part_name = "acts" subsystem_name = "xts" }