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