# 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" ] } }