mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 09:46:09 +03:00
123 lines
3.1 KiB
Plaintext
123 lines
3.1 KiB
Plaintext
|
# Copyright 2014 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/toolchain/toolchain.gni")
|
||
|
|
||
|
if (is_android) {
|
||
|
import("//build/config/android/rules.gni")
|
||
|
import("//build/config/zip.gni")
|
||
|
}
|
||
|
|
||
|
# Generates a Service binary. The parameters of this template are those of an
|
||
|
# executable.
|
||
|
template("service") {
|
||
|
base_target_name = target_name
|
||
|
if (defined(invoker.output_name)) {
|
||
|
base_target_name = invoker.output_name
|
||
|
}
|
||
|
|
||
|
service_deps = []
|
||
|
if (defined(invoker.deps)) {
|
||
|
service_deps += invoker.deps
|
||
|
}
|
||
|
|
||
|
service_data_deps =
|
||
|
[ "//services/service_manager/public/cpp/standalone_service:main" ]
|
||
|
|
||
|
if (defined(invoker.data_deps)) {
|
||
|
service_data_deps += invoker.data_deps
|
||
|
}
|
||
|
|
||
|
if (defined(invoker.resources)) {
|
||
|
# TODO(rockot): Remove this once all existing service targets have stopped
|
||
|
# setting |resources|. This target serves no purpose other than to ensure
|
||
|
# that |resources| is actually used, avoiding GN complaints.
|
||
|
source_set("${target_name}__unused_resources_target") {
|
||
|
testonly = true
|
||
|
sources = invoker.resources
|
||
|
deps = invoker.deps
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (is_win) {
|
||
|
executable_extension = "service.exe"
|
||
|
} else {
|
||
|
executable_extension = "service"
|
||
|
}
|
||
|
|
||
|
executable(target_name) {
|
||
|
output_name = base_target_name
|
||
|
output_extension = executable_extension
|
||
|
|
||
|
if (defined(invoker.cflags)) {
|
||
|
cflags = invoker.cflags
|
||
|
}
|
||
|
if (defined(invoker.cflags_c)) {
|
||
|
cflags_c = invoker.cflags_c
|
||
|
}
|
||
|
if (defined(invoker.cflags_cc)) {
|
||
|
cflags_cc = invoker.cflags_cc
|
||
|
}
|
||
|
if (defined(invoker.cflags_objc)) {
|
||
|
cflags_objc = invoker.cflags_objc
|
||
|
}
|
||
|
if (defined(invoker.cflags_objcc)) {
|
||
|
cflags_objcc = invoker.cflags_objcc
|
||
|
}
|
||
|
if (defined(invoker.defines)) {
|
||
|
defines = invoker.defines
|
||
|
}
|
||
|
if (defined(invoker.include_dirs)) {
|
||
|
include_dirs = invoker.include_dirs
|
||
|
}
|
||
|
if (defined(invoker.ldflags)) {
|
||
|
ldflags = invoker.ldflags
|
||
|
}
|
||
|
if (defined(invoker.lib_dirs)) {
|
||
|
lib_dirs = invoker.lib_dirs
|
||
|
}
|
||
|
if (defined(invoker.libs)) {
|
||
|
libs = invoker.libs
|
||
|
}
|
||
|
|
||
|
data_deps = service_data_deps
|
||
|
|
||
|
deps = [
|
||
|
"//services/service_manager/public/cpp/standalone_service:main",
|
||
|
]
|
||
|
|
||
|
deps += service_deps
|
||
|
if (defined(invoker.public_deps)) {
|
||
|
public_deps = invoker.public_deps
|
||
|
}
|
||
|
if (defined(invoker.all_dependent_configs)) {
|
||
|
all_dependent_configs = invoker.all_dependent_configs
|
||
|
}
|
||
|
if (defined(invoker.public_configs)) {
|
||
|
public_configs = invoker.public_configs
|
||
|
}
|
||
|
if (defined(invoker.check_includes)) {
|
||
|
check_includes = invoker.check_includes
|
||
|
}
|
||
|
if (defined(invoker.configs)) {
|
||
|
configs += invoker.configs
|
||
|
}
|
||
|
if (defined(invoker.data)) {
|
||
|
data = invoker.data
|
||
|
}
|
||
|
if (defined(invoker.inputs)) {
|
||
|
inputs = invoker.inputs
|
||
|
}
|
||
|
if (defined(invoker.public)) {
|
||
|
public = invoker.public
|
||
|
}
|
||
|
if (defined(invoker.sources)) {
|
||
|
sources = invoker.sources
|
||
|
}
|
||
|
if (defined(invoker.testonly)) {
|
||
|
testonly = invoker.testonly
|
||
|
}
|
||
|
}
|
||
|
}
|