• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import("//build/ohos.gni")
2import("//third_party/wayland_standard/wayland_protocol.gni")
3
4config("wayland_default_config") {
5  cflags = [
6    "-Wall",
7    "-Werror",
8    "-Wno-cast-qual",
9    "-Wno-pointer-arith",
10    "-Wno-unused-parameter",
11    "-Wno-unused-variable",
12  ]
13}
14
15## Generate Wayland Version {{{
16action("wayland_version") {
17  script = "gen_wayland_version_header_wrapper.sh"
18  inputs = [ "src/wayland-version.h.in" ]
19  outputs =
20      [ "$root_gen_dir/" + rebase_path(get_path_info(inputs[0], "dir"), "//") +
21        "/wayland-version.h" ]
22  args = [
23    rebase_path("gen_wayland_version_header.sh", root_build_dir),
24    rebase_path("configure.ac", root_build_dir),
25    rebase_path(inputs[0], root_build_dir),
26    rebase_path(outputs[0], root_build_dir),
27  ]
28}
29
30## Generate Wayland Version }}}
31
32## Build wayland_scanner {{{
33config("wayland_scanner_config") {
34  visibility = [ ":*" ]
35
36  include_dirs = [ "." ]
37
38  cflags = [
39    "-Wno-int-conversion",
40    "-Wno-implicit-function-declaration",
41  ]
42}
43
44ohos_executable("wayland_scanner") {
45  install_enable = false
46
47  sources = [ "src/scanner.c" ]
48
49  configs = [ ":wayland_scanner_config" ]
50
51  deps = [
52    ":wayland_util",
53    "//third_party/expat:expat",
54  ]
55
56  part_name = "graphic_standard"
57  subsystem_name = "graphic"
58}
59
60## Build wayland_scanner }}}
61
62## Generate Wayland Protocols {{{
63wayland_protocol("wayland_core_protocol") {
64  sources = [ "protocol/wayland.xml" ]
65}
66
67## Generate Wayland Protocols }}}
68
69## Build wayland_util.a {{{
70config("wayland_util_config") {
71  visibility = [ ":*" ]
72
73  include_dirs = []
74
75  cflags = []
76}
77
78config("wayland_util_public_config") {
79  include_dirs = [
80    "include/src",
81    "include/protocol",
82    "src",
83  ]
84
85  cflags = [ "-Wno-macro-redefined" ]
86}
87
88ohos_static_library("wayland_util") {
89  sources = [
90    "src/wayland-private.h",
91    "src/wayland-util.c",
92    "src/wayland-util.h",
93  ]
94
95  configs = [
96    ":wayland_util_config",
97    ":wayland_default_config",
98  ]
99
100  public_configs = [ ":wayland_util_public_config" ]
101
102  deps = []
103
104  public_deps = []
105}
106
107## Build wayland_util.a }}}
108
109## Build libwayland_cursor.a {{{
110config("libwayland_cursor_config") {
111  visibility = [ ":*" ]
112
113  include_dirs = [ "." ]
114
115  cflags = [ "-Wno-macro-redefined" ]
116}
117
118config("libwayland_cursor_public_config") {
119  include_dirs = [ "cursor" ]
120
121  cflags = []
122}
123
124ohos_static_library("libwayland_cursor") {
125  sources = [
126    "cursor/os-compatibility.c",
127    "cursor/wayland-cursor.c",
128    "cursor/xcursor.c",
129  ]
130
131  configs = [
132    ":wayland_default_config",
133    ":libwayland_cursor_config",
134  ]
135
136  public_configs = [ ":libwayland_cursor_public_config" ]
137
138  deps = []
139
140  public_deps = [ ":wayland_core_protocol" ]
141}
142
143## Build libwayland_cursor.a }}}
144
145## Build libwayland_client.a {{{
146config("libwayland_client_config") {
147  visibility = [ ":*" ]
148
149  include_dirs = []
150
151  cflags = []
152}
153
154config("libwayland_client_public_config") {
155  include_dirs = [ "src" ]
156
157  cflags = []
158}
159
160ohos_shared_library("libwayland_client.0") {
161  sources = [
162    "src/connection.c",
163    "src/wayland-client.c",
164    "src/wayland-os.c",
165  ]
166
167  configs = [
168    ":wayland_default_config",
169    ":libwayland_client_config",
170  ]
171
172  public_configs = [ ":libwayland_client_public_config" ]
173
174  deps = [ "//third_party/libffi:ffi" ]
175
176  public_deps = [
177    ":wayland_core_protocol",
178    ":wayland_version",
179  ]
180  symlink_target_name = [ "libwayland-client.so.0" ]
181  part_name = "graphic_standard"
182  subsystem_name = "graphic"
183}
184
185## Build libwayland_client.a }}}
186ohos_static_library("libwayland_client") {
187  sources = [
188    "src/connection.c",
189    "src/wayland-client.c",
190    "src/wayland-os.c",
191  ]
192
193  configs = [
194    ":wayland_default_config",
195    ":libwayland_client_config",
196  ]
197
198  public_configs = [ ":libwayland_client_public_config" ]
199
200  deps = [ "//third_party/libffi:ffi" ]
201
202  public_deps = [
203    ":wayland_core_protocol",
204    ":wayland_version",
205  ]
206}
207
208## Build libwayland_client.a }}}
209
210## Build libwayland_server.a {{{
211config("libwayland_server_config") {
212  visibility = [ ":*" ]
213
214  include_dirs = [
215    "src",
216    ".",
217  ]
218
219  cflags = [ "-Wno-macro-redefined" ]
220}
221
222config("libwayland_server_public_config") {
223  include_dirs = []
224
225  cflags = []
226}
227
228ohos_static_library("libwayland_server") {
229  sources = [
230    "src/connection.c",
231    "src/event-loop.c",
232    "src/wayland-os.c",
233    "src/wayland-server.c",
234    "src/wayland-shm.c",
235  ]
236
237  configs = [
238    ":wayland_default_config",
239    ":libwayland_server_config",
240  ]
241
242  public_configs = [ ":libwayland_server_public_config" ]
243
244  deps = [
245    ":wayland_util",
246    "//third_party/libffi:ffi",
247  ]
248
249  public_deps = [ ":wayland_core_protocol" ]
250}
251
252## Build libwayland_server.a }}}
253ohos_shared_library("libwayland_server.0") {
254  sources = [
255    "src/connection.c",
256    "src/event-loop.c",
257    "src/wayland-os.c",
258    "src/wayland-server.c",
259    "src/wayland-shm.c",
260  ]
261
262  configs = [
263    ":wayland_default_config",
264    ":libwayland_server_config",
265  ]
266
267  public_configs = [ ":libwayland_server_public_config" ]
268
269  deps = [
270    ":wayland_util",
271    "//third_party/libffi:ffi",
272  ]
273
274  symlink_target_name = [ "libwayland-server.so.0" ]
275  public_deps = [ ":wayland_core_protocol" ]
276  part_name = "graphic_standard"
277  subsystem_name = "graphic"
278}
279## Build libwayland_server.a }}}
280