aboutsummaryrefslogtreecommitdiffstats
path: root/BUILD.gn
blob: 0e2fea136d1292ca89b30393570b7e0e729d7c56 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
shared_library("libvulkan_goldfish") {
  sources = [
    "android-emu/android/base/AlignedBuf.cpp",
    "android-emu/android/base/AlignedBuf.h",
    "android-emu/android/base/Pool.cpp",
    "android-emu/android/base/Pool.h",
    "android-emu/android/base/ring_buffer.c",
    "android-emu/android/base/AndroidSubAllocator.cpp",
    "android-emu/android/base/AndroidSubAllocator.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/synchronization/AndroidConditionVariable.h",
    "android-emu/android/base/synchronization/AndroidLock.h",
    "android-emu/android/base/synchronization/AndroidMessageChannel.h",
    "android-emu/android/base/synchronization/AndroidMessageChannel.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/AndroidWorkPool.h",
    "android-emu/android/base/threads/AndroidFunctorThread.cpp",
    "android-emu/android/base/threads/AndroidThreadStore.h",
    "android-emu/android/base/threads/AndroidThread_pthread.cpp",
    "android-emu/android/base/threads/AndroidWorkPool.cpp",
    "android-emu/android/base/Tracing.cpp",
    "android-emu/android/base/Tracing.h",
    "shared/OpenglCodecCommon/ChecksumCalculator.cpp",
    "shared/OpenglCodecCommon/ChecksumCalculator.h",
    "shared/OpenglCodecCommon/glUtils.cpp",
    "shared/OpenglCodecCommon/glUtils.h",
    "shared/OpenglCodecCommon/goldfish_address_space.cpp",
    "shared/OpenglCodecCommon/goldfish_address_space.h",
    "shared/OpenglCodecCommon/goldfish_dma.cpp",
    "shared/OpenglCodecCommon/goldfish_dma.h",
    "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/func_table.cpp",
    "system/vulkan/func_table.h",
    "system/vulkan/goldfish_vulkan.cpp",
    "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/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_transform_guest.cpp",
    "system/vulkan_enc/goldfish_vk_transform_guest.h",
  ]

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

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

  cflags_c = [
    "-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",
  ]

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

  if (target_os == "fuchsia") {
    sources -= [ "system/OpenglSystemCommon/QemuPipeStream.cpp" ]
    sources += [
      "fuchsia/fuchsia_stdio.cc",
      "fuchsia/port.cc",
      "fuchsia/service_connector.cc",
      "system/OpenglSystemCommon/QemuPipeStreamFuchsia.cpp",
    ]

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

    libs = [
      "zircon"
    ]

    deps = [
      "//sdk/fidl/fuchsia.hardware.goldfish",
      "//zircon/system/fidl/fuchsia-sysmem",
      "//zircon/public/lib/trace-with-static-engine",
      "//zircon/public/lib/syslog-static",
      "//zircon/public/lib/zx",
      "//zircon/public/lib/zxio",
      "//zircon/system/fidl/fuchsia-logger:llcpp",
    ]

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