| # Copyright 2015 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| import("//build/config/linux/pkg_config.gni") |
| import("//third_party/wayland/features.gni") |
| |
| if (!use_system_libwayland) { |
| config("wayland_config") { |
| include_dirs = [ |
| "include/src", |
| "include/protocol", |
| "src/src", |
| ] |
| |
| # TODO(thomasanderson): Remove this once |
| # https://patchwork.freedesktop.org/patch/242086/ lands. |
| cflags = [ "-Wno-macro-redefined" ] |
| } |
| |
| static_library("wayland_util") { |
| sources = [ |
| "src/src/wayland-util.c", |
| "src/src/wayland-util.h", |
| ] |
| |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ "//build/config/compiler:no_chromium_code" ] |
| |
| public_configs = [ ":wayland_config" ] |
| } |
| |
| static_library("wayland_private") { |
| sources = [ |
| "src/src/connection.c", |
| "src/src/wayland-os.c", |
| "src/src/wayland-os.h", |
| "src/src/wayland-private.h", |
| ] |
| |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//build/config/linux/libffi", |
| ":wayland_config", |
| ] |
| } |
| |
| static_library("wayland_protocol") { |
| sources = [ |
| "protocol/wayland-protocol.c", |
| ] |
| |
| deps = [ |
| ":wayland_util", |
| ] |
| |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ "//build/config/compiler:no_chromium_code" ] |
| |
| public_configs = [ ":wayland_config" ] |
| } |
| |
| static_library("wayland_server") { |
| sources = [ |
| "include/protocol/wayland-server-protocol.h", |
| "src/src/event-loop.c", |
| "src/src/wayland-server.c", |
| "src/src/wayland-shm.c", |
| ] |
| |
| deps = [ |
| ":wayland_private", |
| ":wayland_protocol", |
| ":wayland_util", |
| ] |
| |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//build/config/linux/libffi", |
| ] |
| |
| public_configs = [ ":wayland_config" ] |
| } |
| |
| static_library("wayland_client") { |
| sources = [ |
| "include/protocol/wayland-client-protocol.h", |
| "src/src/wayland-client.c", |
| ] |
| |
| deps = [ |
| ":wayland_private", |
| ":wayland_protocol", |
| ":wayland_util", |
| ] |
| |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//build/config/linux/libffi", |
| ] |
| |
| public_configs = [ ":wayland_config" ] |
| } |
| |
| config("wayland_scanner_config") { |
| cflags = [ |
| "-Wno-int-conversion", |
| "-Wno-implicit-function-declaration", |
| ] |
| |
| include_dirs = [ "include/" ] |
| } |
| |
| executable("wayland_scanner") { |
| sources = [ |
| "src/src/scanner.c", |
| ] |
| |
| deps = [ |
| ":wayland_util", |
| "//third_party/expat:expat", |
| ] |
| |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//build/config/linux/libffi", |
| ":wayland_scanner_config", |
| ] |
| } |
| } |
| |
| if (use_system_libwayland) { |
| pkg_config("wayland_client_config") { |
| packages = [ "wayland-client" ] |
| } |
| |
| pkg_config("wayland_server_config") { |
| packages = [ "wayland-server" ] |
| } |
| |
| group("wayland_client") { |
| public_configs = [ ":wayland_client_config" ] |
| } |
| |
| group("wayland_server") { |
| public_configs = [ ":wayland_server_config" ] |
| } |
| |
| group("wayland_util") { |
| public_configs = [ ":wayland_client_config" ] |
| } |
| } |