shared_library("libvulkan_goldfish") {
  sources = [
    "android-emu/android/base/AlignedBuf.cpp",
    "android-emu/android/base/AlignedBuf.h",
    "android-emu/android/base/Allocator.h",
    "android-emu/android/base/AndroidSubAllocator.cpp",
    "android-emu/android/base/AndroidSubAllocator.h",
    "android-emu/android/base/BumpPool.h",
    "android-emu/android/base/Pool.cpp",
    "android-emu/android/base/Pool.h",
    "android-emu/android/base/Tracing.cpp",
    "android-emu/android/base/Tracing.h",
    "android-emu/android/base/files/MemStream.cpp",
    "android-emu/android/base/files/MemStream.h",
    "android-emu/android/base/files/Stream.cpp",
    "android-emu/android/base/files/Stream.h",
    "android-emu/android/base/files/StreamSerializing.cpp",
    "android-emu/android/base/files/StreamSerializing.h",
    "android-emu/android/base/fit/Defer.h",
    "android-emu/android/base/fit/Function.h",
    "android-emu/android/base/fit/FunctionInternal.h",
    "android-emu/android/base/fit/Nullable.h",
    "android-emu/android/base/fit/ThreadChecker.h",
    "android-emu/android/base/fit/ThreadSafety.h",
    "android-emu/android/base/fit/UtilityInternal.h",
    "android-emu/android/base/ring_buffer.c",
    "android-emu/android/base/synchronization/AndroidConditionVariable.h",
    "android-emu/android/base/synchronization/AndroidLock.h",
    "android-emu/android/base/synchronization/AndroidMessageChannel.cpp",
    "android-emu/android/base/synchronization/AndroidMessageChannel.h",
    "android-emu/android/base/threads/AndroidFunctorThread.cpp",
    "android-emu/android/base/threads/AndroidFunctorThread.h",
    "android-emu/android/base/threads/AndroidThread.h",
    "android-emu/android/base/threads/AndroidThreadStore.h",
    "android-emu/android/base/threads/AndroidThreadTypes.h",
    "android-emu/android/base/threads/AndroidThread_pthread.cpp",
    "android-emu/android/base/threads/AndroidWorkPool.cpp",
    "android-emu/android/base/threads/AndroidWorkPool.h",
    "shared/GoldfishAddressSpace/goldfish_address_space.cpp",
    "shared/GoldfishAddressSpace/include/goldfish_address_space.h",
    "shared/OpenglCodecCommon/ChecksumCalculator.cpp",
    "shared/OpenglCodecCommon/ChecksumCalculator.h",
    "shared/OpenglCodecCommon/glUtils.cpp",
    "shared/OpenglCodecCommon/glUtils.h",
    "shared/OpenglCodecCommon/goldfish_dma.cpp",
    "shared/OpenglCodecCommon/goldfish_dma.h",
    "shared/gralloc_cb/include/gralloc_cb_bp.h",
    "shared/qemupipe/include-types/qemu_pipe_types_bp.h",
    "shared/qemupipe/include/qemu_pipe_bp.h",
    "shared/qemupipe/qemu_pipe_common.cpp",
    "shared/qemupipe/qemu_pipe_guest.cpp",
    "system/OpenglSystemCommon/AddressSpaceStream.cpp",
    "system/OpenglSystemCommon/HostConnection.cpp",
    "system/OpenglSystemCommon/HostConnection.h",
    "system/OpenglSystemCommon/ProcessPipe.cpp",
    "system/OpenglSystemCommon/ProcessPipe.h",
    "system/OpenglSystemCommon/QemuPipeStream.cpp",
    "system/OpenglSystemCommon/QemuPipeStream.h",
    "system/OpenglSystemCommon/ThreadInfo.cpp",
    "system/OpenglSystemCommon/ThreadInfo.h",
    "system/renderControl_enc/renderControl_enc.cpp",
    "system/renderControl_enc/renderControl_enc.h",
    "system/vulkan/goldfish_vulkan.cpp",
    "system/vulkan_enc/CommandBufferStagingStream.cpp",
    "system/vulkan_enc/CommandBufferStagingStream.h",
    "system/vulkan_enc/DescriptorSetVirtualization.cpp",
    "system/vulkan_enc/DescriptorSetVirtualization.h",
    "system/vulkan_enc/HostVisibleMemoryVirtualization.cpp",
    "system/vulkan_enc/HostVisibleMemoryVirtualization.h",
    "system/vulkan_enc/ResourceTracker.cpp",
    "system/vulkan_enc/ResourceTracker.h",
    "system/vulkan_enc/Resources.cpp",
    "system/vulkan_enc/Resources.h",
    "system/vulkan_enc/Validation.cpp",
    "system/vulkan_enc/Validation.h",
    "system/vulkan_enc/VkEncoder.cpp",
    "system/vulkan_enc/VkEncoder.h",
    "system/vulkan_enc/VulkanHandleMapping.cpp",
    "system/vulkan_enc/VulkanHandleMapping.h",
    "system/vulkan_enc/VulkanStreamGuest.cpp",
    "system/vulkan_enc/VulkanStreamGuest.h",
    "system/vulkan_enc/func_table.cpp",
    "system/vulkan_enc/func_table.h",
    "system/vulkan_enc/goldfish_vk_counting_guest.cpp",
    "system/vulkan_enc/goldfish_vk_counting_guest.h",
    "system/vulkan_enc/goldfish_vk_deepcopy_guest.cpp",
    "system/vulkan_enc/goldfish_vk_deepcopy_guest.h",
    "system/vulkan_enc/goldfish_vk_extension_structs_guest.cpp",
    "system/vulkan_enc/goldfish_vk_extension_structs_guest.h",
    "system/vulkan_enc/goldfish_vk_marshaling_guest.cpp",
    "system/vulkan_enc/goldfish_vk_marshaling_guest.h",
    "system/vulkan_enc/goldfish_vk_reserved_marshaling_guest.cpp",
    "system/vulkan_enc/goldfish_vk_reserved_marshaling_guest.h",
    "system/vulkan_enc/goldfish_vk_transform_guest.cpp",
    "system/vulkan_enc/goldfish_vk_transform_guest.h",
  ]

  include_dirs = [
    "android-emu",
    "host/include/libOpenglRender",
    "shared/GoldfishAddressSpace/include",
    "shared/OpenglCodecCommon",
    "shared/gralloc_cb/include",
    "shared/qemupipe/include",
    "shared/qemupipe/include-types",
    "system/OpenglSystemCommon",
    "system/renderControl_enc",
    "system/vulkan_enc",
    "system/include",
  ]

  defines = [
    "LOG_TAG=\"goldfish_vulkan\"",
    "GFXSTREAM",
    "GOLDFISH_NO_GL",
    "VK_USE_PLATFORM_FUCHSIA",
    "PLATFORM_SDK_VERSION=1",
    "PAGE_SIZE=4096",
  ]

  cflags = [ "-Wextra-semi" ]

  cflags_c = [
    "-Wstrict-prototypes",
    "-Wno-missing-field-initializers",
    "-Wno-newline-eof",
    "-Wno-unused-function",
    "-Wno-unused-value",
    "-Wno-unused-variable",
  ]

  cflags_cc = [
    "-Wno-missing-field-initializers",
    "-Wno-newline-eof",
    "-Wno-unused-function",
    "-Wno-unused-value",
    "-Wno-unused-variable",
    "-Wno-conversion",
    "-Wno-unused-but-set-parameter",
    "-Wno-unused-but-set-variable",
  ]

  ldflags = [ "-static-libstdc++" ]

  if (target_os == "fuchsia") {
    sources -= [
      "shared/OpenglCodecCommon/goldfish_dma.cpp",
      "shared/OpenglCodecCommon/goldfish_dma.h",
      "shared/qemupipe/qemu_pipe_common.cpp",
      "shared/qemupipe/qemu_pipe_guest.cpp",
      "system/OpenglSystemCommon/QemuPipeStream.cpp",
    ]
    sources += [
      "fuchsia/fuchsia_stdio.cc",
      "fuchsia/port.cc",
      "fuchsia/service_connector.cc",
      "system/OpenglSystemCommon/QemuPipeStreamFuchsia.cpp",
      "system/OpenglSystemCommon/TraceProviderFuchsia.cpp",
      "system/OpenglSystemCommon/TraceProviderFuchsia.h",
    ]

    include_dirs += [
      "fuchsia/include",
      "//third_party/Vulkan-Headers/include",
    ]

    deps = [
      "//sdk/fidl/fuchsia.hardware.goldfish:fuchsia.hardware.goldfish_llcpp",
      "//sdk/fidl/fuchsia.logger:fuchsia.logger_llcpp",
      "//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_llcpp",
      "//sdk/lib/fdio",
      "//src/zircon/lib/zircon",
      "//zircon/public/lib/async-cpp",
      "//zircon/public/lib/zx",
      "//zircon/system/ulib/async-default",
      "//zircon/system/ulib/async-loop:async-loop-cpp",
      "//zircon/system/ulib/syslog:syslog-static",
      "//zircon/system/ulib/trace:trace-with-static-engine",
      "//zircon/system/ulib/trace-provider:trace-provider-with-static-engine",
      "//zircon/system/ulib/zxio",
    ]

    defines += [
      "QEMU_PIPE_PATH=\"/loader-gpu-devices/class/goldfish-pipe/000\"",
      "GOLDFISH_ADDRESS_SPACE_DEVICE_NAME=\"/loader-gpu-devices/class/goldfish-address-space/000\"",
    ]
  }
}
