# Copyright 2019 The Dawn 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. import("../../../scripts/dawn_overrides_with_defaults.gni") import("${dawn_root}/generator/dawn_generator.gni") import("${dawn_root}/scripts/dawn_component.gni") # Public dawn wire headers so they can be publically visible for dependencies of # dawn/wire source_set("headers") { public_deps = [ "${dawn_root}/include/dawn:headers" ] all_dependent_configs = [ "${dawn_root}/include/dawn:public" ] sources = [ "${dawn_root}/include/dawn/wire/Wire.h", "${dawn_root}/include/dawn/wire/WireClient.h", "${dawn_root}/include/dawn/wire/WireServer.h", "${dawn_root}/include/dawn/wire/dawn_wire_export.h", ] } dawn_json_generator("gen") { target = "wire" outputs = [ "src/dawn/wire/ObjectType_autogen.h", "src/dawn/wire/WireCmd_autogen.h", "src/dawn/wire/WireCmd_autogen.cpp", "src/dawn/wire/client/ApiObjects_autogen.h", "src/dawn/wire/client/ApiProcs_autogen.cpp", "src/dawn/wire/client/ClientBase_autogen.h", "src/dawn/wire/client/ClientHandlers_autogen.cpp", "src/dawn/wire/client/ClientPrototypes_autogen.inc", "src/dawn/wire/server/ServerBase_autogen.h", "src/dawn/wire/server/ServerDoers_autogen.cpp", "src/dawn/wire/server/ServerHandlers_autogen.cpp", "src/dawn/wire/server/ServerPrototypes_autogen.inc", ] } dawn_component("wire") { DEFINE_PREFIX = "DAWN_WIRE" deps = [ ":gen", "${dawn_root}/src/dawn/common", ] configs = [ "${dawn_root}/src/dawn/common:internal_config" ] sources = get_target_outputs(":gen") sources += [ "BufferConsumer.h", "BufferConsumer_impl.h", "ChunkedCommandHandler.cpp", "ChunkedCommandHandler.h", "ChunkedCommandSerializer.cpp", "ChunkedCommandSerializer.h", "ObjectHandle.cpp", "ObjectHandle.h", "SupportedFeatures.cpp", "SupportedFeatures.h", "Wire.cpp", "WireClient.cpp", "WireDeserializeAllocator.cpp", "WireDeserializeAllocator.h", "WireResult.h", "WireServer.cpp", "client/Adapter.cpp", "client/Adapter.h", "client/ApiObjects.h", "client/Buffer.cpp", "client/Buffer.h", "client/Client.cpp", "client/Client.h", "client/ClientDoers.cpp", "client/ClientInlineMemoryTransferService.cpp", "client/Device.cpp", "client/Device.h", "client/Instance.cpp", "client/Instance.h", "client/LimitsAndFeatures.cpp", "client/LimitsAndFeatures.h", "client/ObjectBase.cpp", "client/ObjectBase.h", "client/ObjectStore.cpp", "client/ObjectStore.h", "client/QuerySet.cpp", "client/QuerySet.h", "client/Queue.cpp", "client/Queue.h", "client/RequestTracker.h", "client/ShaderModule.cpp", "client/ShaderModule.h", "client/SwapChain.cpp", "client/SwapChain.h", "client/Texture.cpp", "client/Texture.h", "server/ObjectStorage.h", "server/Server.cpp", "server/Server.h", "server/ServerAdapter.cpp", "server/ServerBuffer.cpp", "server/ServerDevice.cpp", "server/ServerInlineMemoryTransferService.cpp", "server/ServerInstance.cpp", "server/ServerQueue.cpp", "server/ServerShaderModule.cpp", ] # Make headers publicly visible public_deps = [ ":headers" ] }