| # Copyright 2016 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") |
| |
| declare_args() { |
| # Controls whether the build should use the version of libsync |
| # library shipped with the system. In release builds of Chrome OS we |
| # use the system version, but when building on dev workstations we |
| # bundle it because Ubuntu doesn't ship a usable version. |
| use_system_libsync = false |
| } |
| |
| if (!use_system_libsync) { |
| config("libsync_config") { |
| include_dirs = [ |
| "src", |
| "src/include", |
| ] |
| } |
| |
| config("libsync_private_config") { |
| # To suppress the warning caused by strlcpy. |
| cflags = [ "-Wno-implicit-function-declaration" ] |
| } |
| |
| source_set("libsync") { |
| sources = [ |
| "src/include/sync/sync.h", |
| "src/sw_sync.h", |
| "src/sync.c", |
| "strlcpy.c", |
| ] |
| |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| ":libsync_private_config", |
| ] |
| |
| public_configs = [ ":libsync_config" ] |
| } |
| } |
| |
| if (use_system_libsync) { |
| pkg_config("libsync_config") { |
| packages = [ "libsync" ] |
| } |
| group("libsync") { |
| public_configs = [ ":libsync_config" ] |
| } |
| } |