blob: 6930037cc36a4357750636f188965c31f7fce542 [file] [log] [blame]
David Reveman630129e2019-05-03 01:18:32 -04001shared_library("libvulkan_goldfish") {
David Reveman74e99bb2019-02-15 18:47:25 -05002 sources = [
3 "android-emu/android/base/AlignedBuf.cpp",
4 "android-emu/android/base/AlignedBuf.h",
5 "android-emu/android/base/Pool.cpp",
6 "android-emu/android/base/Pool.h",
Lingfeng Yang06aa6e82019-10-15 13:32:20 -07007 "android-emu/android/base/ring_buffer.c",
Lingfeng Yangd5be14d2019-10-18 06:14:18 -07008 "android-emu/android/base/AndroidSubAllocator.cpp",
9 "android-emu/android/base/AndroidSubAllocator.h",
David Reveman74e99bb2019-02-15 18:47:25 -050010 "android-emu/android/base/files/MemStream.cpp",
11 "android-emu/android/base/files/MemStream.h",
12 "android-emu/android/base/files/Stream.cpp",
13 "android-emu/android/base/files/Stream.h",
14 "android-emu/android/base/files/StreamSerializing.cpp",
15 "android-emu/android/base/files/StreamSerializing.h",
Lingfeng Yang6c7e7272019-08-28 13:37:00 -070016 "android-emu/android/base/synchronization/AndroidConditionVariable.h",
17 "android-emu/android/base/synchronization/AndroidLock.h",
18 "android-emu/android/base/synchronization/AndroidMessageChannel.h",
19 "android-emu/android/base/synchronization/AndroidMessageChannel.cpp",
20 "android-emu/android/base/threads/AndroidFunctorThread.h",
21 "android-emu/android/base/threads/AndroidThread.h",
22 "android-emu/android/base/threads/AndroidThreadStore.h",
23 "android-emu/android/base/threads/AndroidThreadTypes.h",
Lingfeng Yangf6861062019-08-21 21:05:31 -070024 "android-emu/android/base/threads/AndroidWorkPool.h",
Lingfeng Yang6c7e7272019-08-28 13:37:00 -070025 "android-emu/android/base/threads/AndroidFunctorThread.cpp",
26 "android-emu/android/base/threads/AndroidThreadStore.h",
27 "android-emu/android/base/threads/AndroidThread_pthread.cpp",
Lingfeng Yangf6861062019-08-21 21:05:31 -070028 "android-emu/android/base/threads/AndroidWorkPool.cpp",
Lingfeng Yang42ac1792019-02-22 20:13:44 -080029 "android-emu/android/base/Tracing.cpp",
30 "android-emu/android/base/Tracing.h",
Roman Kiryanov1ef59e42020-05-11 15:50:11 -070031 "shared/GoldfishAddressSpace/goldfish_address_space.cpp",
32 "shared/GoldfishAddressSpace/goldfish_address_space.h",
David Reveman74e99bb2019-02-15 18:47:25 -050033 "shared/OpenglCodecCommon/ChecksumCalculator.cpp",
34 "shared/OpenglCodecCommon/ChecksumCalculator.h",
35 "shared/OpenglCodecCommon/glUtils.cpp",
36 "shared/OpenglCodecCommon/glUtils.h",
David Reveman74e99bb2019-02-15 18:47:25 -050037 "shared/OpenglCodecCommon/goldfish_dma.cpp",
38 "shared/OpenglCodecCommon/goldfish_dma.h",
Lingfeng Yang5b3a0b72019-09-25 18:20:35 -070039 "system/OpenglSystemCommon/AddressSpaceStream.cpp",
David Reveman74e99bb2019-02-15 18:47:25 -050040 "system/OpenglSystemCommon/HostConnection.cpp",
41 "system/OpenglSystemCommon/HostConnection.h",
42 "system/OpenglSystemCommon/ProcessPipe.cpp",
43 "system/OpenglSystemCommon/ProcessPipe.h",
44 "system/OpenglSystemCommon/QemuPipeStream.cpp",
45 "system/OpenglSystemCommon/QemuPipeStream.h",
46 "system/OpenglSystemCommon/ThreadInfo.cpp",
47 "system/OpenglSystemCommon/ThreadInfo.h",
48 "system/renderControl_enc/renderControl_enc.cpp",
49 "system/renderControl_enc/renderControl_enc.h",
50 "system/vulkan/func_table.cpp",
51 "system/vulkan/func_table.h",
52 "system/vulkan/goldfish_vulkan.cpp",
53 "system/vulkan_enc/HostVisibleMemoryVirtualization.cpp",
54 "system/vulkan_enc/HostVisibleMemoryVirtualization.h",
55 "system/vulkan_enc/ResourceTracker.cpp",
56 "system/vulkan_enc/ResourceTracker.h",
57 "system/vulkan_enc/Resources.cpp",
58 "system/vulkan_enc/Resources.h",
59 "system/vulkan_enc/Validation.cpp",
60 "system/vulkan_enc/Validation.h",
61 "system/vulkan_enc/VkEncoder.cpp",
62 "system/vulkan_enc/VkEncoder.h",
63 "system/vulkan_enc/VulkanHandleMapping.cpp",
64 "system/vulkan_enc/VulkanHandleMapping.h",
Lingfeng Yang42ac1792019-02-22 20:13:44 -080065 "system/vulkan_enc/VulkanStreamGuest.cpp",
66 "system/vulkan_enc/VulkanStreamGuest.h",
David Reveman74e99bb2019-02-15 18:47:25 -050067 "system/vulkan_enc/goldfish_vk_deepcopy_guest.cpp",
68 "system/vulkan_enc/goldfish_vk_deepcopy_guest.h",
69 "system/vulkan_enc/goldfish_vk_extension_structs_guest.cpp",
70 "system/vulkan_enc/goldfish_vk_extension_structs_guest.h",
71 "system/vulkan_enc/goldfish_vk_marshaling_guest.cpp",
72 "system/vulkan_enc/goldfish_vk_marshaling_guest.h",
73 "system/vulkan_enc/goldfish_vk_transform_guest.cpp",
74 "system/vulkan_enc/goldfish_vk_transform_guest.h",
75 ]
76
77 include_dirs = [
78 "android-emu",
79 "host/include/libOpenglRender",
Roman Kiryanov1ef59e42020-05-11 15:50:11 -070080 "shared/GoldfishAddressSpace/include",
David Reveman74e99bb2019-02-15 18:47:25 -050081 "shared/OpenglCodecCommon",
82 "system/OpenglSystemCommon",
83 "system/renderControl_enc",
84 "system/vulkan_enc",
85 "system/include",
86 ]
87
88 defines = [
89 "LOG_TAG=\"goldfish_vulkan\"",
90 "GOLDFISH_VULKAN",
91 "GOLDFISH_NO_GL",
David Reveman5b7c5842019-02-20 01:06:48 -050092 "VK_USE_PLATFORM_FUCHSIA",
David Reveman74e99bb2019-02-15 18:47:25 -050093 "PLATFORM_SDK_VERSION=1",
94 "PAGE_SIZE=4096",
95 ]
96
Yilong Liced3b8a2019-10-17 11:47:05 -070097 cflags_c = [
98 "-Wno-missing-field-initializers",
99 "-Wno-newline-eof",
100 "-Wno-unused-function",
101 "-Wno-unused-value",
102 "-Wno-unused-variable",
103 ]
104
David Reveman74e99bb2019-02-15 18:47:25 -0500105 cflags_cc = [
David Reveman5b7c5842019-02-20 01:06:48 -0500106 "-Wno-missing-field-initializers",
David Revemanaa65ad62019-05-02 08:23:46 -0400107 "-Wno-newline-eof",
David Reveman3c7b3ca2019-05-01 19:36:26 -0400108 "-Wno-unused-function",
109 "-Wno-unused-value",
110 "-Wno-unused-variable",
David Reveman74e99bb2019-02-15 18:47:25 -0500111 ]
112
David Reveman7beff562019-04-22 16:50:02 +0200113 ldflags = [ "-static-libstdc++" ]
114
David Reveman74e99bb2019-02-15 18:47:25 -0500115 if (target_os == "fuchsia") {
David Reveman4f45b8c2019-04-21 09:10:10 +0200116 sources -= [ "system/OpenglSystemCommon/QemuPipeStream.cpp" ]
117 sources += [
Craig Stout3d2098f2019-11-25 15:36:43 -0800118 "fuchsia/fuchsia_stdio.cc",
David Reveman4f45b8c2019-04-21 09:10:10 +0200119 "fuchsia/port.cc",
John Bauman8153a442019-10-16 15:41:17 -0700120 "fuchsia/service_connector.cc",
David Reveman4f45b8c2019-04-21 09:10:10 +0200121 "system/OpenglSystemCommon/QemuPipeStreamFuchsia.cpp",
122 ]
David Reveman74e99bb2019-02-15 18:47:25 -0500123
124 include_dirs += [
David Reveman74e99bb2019-02-15 18:47:25 -0500125 "fuchsia/include",
Lingfeng Yang6c7e7272019-08-28 13:37:00 -0700126 "//third_party/Vulkan-Headers/include"
David Reveman74e99bb2019-02-15 18:47:25 -0500127 ]
128
David Reveman5b7c5842019-02-20 01:06:48 -0500129 libs = [
130 "zircon"
131 ]
132
133 deps = [
Yilong Li94188822019-10-17 18:09:07 -0700134 "//sdk/fidl/fuchsia.hardware.goldfish",
David Reveman26619522020-05-13 09:39:11 -0400135 "//sdk/fidl/fuchsia.sysmem",
Yilong Li1f030bc2019-11-11 10:27:13 -0800136 "//zircon/public/lib/trace-with-static-engine",
Craig Stout3d2098f2019-11-25 15:36:43 -0800137 "//zircon/public/lib/syslog-static",
John Bauman8153a442019-10-16 15:41:17 -0700138 "//zircon/public/lib/zx",
Craig Stoutbd797ab2019-11-13 18:07:58 -0800139 "//zircon/public/lib/zxio",
Craig Stout3d2098f2019-11-25 15:36:43 -0800140 "//zircon/system/fidl/fuchsia-logger:llcpp",
David Reveman5b7c5842019-02-20 01:06:48 -0500141 ]
142
David Reveman74e99bb2019-02-15 18:47:25 -0500143 defines += [
David Reveman1b2a7792019-04-08 11:30:05 -0400144 "QEMU_PIPE_PATH=\"/dev/class/goldfish-pipe/000\"",
145 "GOLDFISH_ADDRESS_SPACE_DEVICE_NAME=\"/dev/class/goldfish-address-space/000\"",
David Reveman74e99bb2019-02-15 18:47:25 -0500146 ]
147 }
148}