electron/shell/browser/extensions/api/BUILD.gn

45 lines
1.6 KiB
Plaintext

# Copyright 2018 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("//electron/buildflags/buildflags.gni")
import("//extensions/buildflags/buildflags.gni")
import("//tools/json_schema_compiler/json_schema_api.gni")
assert(enable_extensions,
"Cannot depend on extensions because enable_extensions=false.")
function_registration("api_registration") {
sources = [
"//electron/shell/common/extensions/api/action.json",
"//electron/shell/common/extensions/api/extension.json",
"//electron/shell/common/extensions/api/resources_private.idl",
"//electron/shell/common/extensions/api/scripting.idl",
"//electron/shell/common/extensions/api/tabs.json",
]
if (enable_pdf_viewer) {
sources +=
[ "//electron/shell/common/extensions/api/pdf_viewer_private.idl" ]
}
impl_dir = "//electron/shell/browser/extensions/api"
configs = [ "//build/config:precompiled_headers" ]
bundle_name = "Electron"
root_namespace = "extensions::api::%(namespace)s"
schema_include_rules = "extensions/common/api:extensions::api::%(namespace)s"
deps = [
# Different APIs include headers from these targets.
"//components/zoom",
"//content/public/browser",
"//extensions/browser",
# Different APIs include some headers from chrome/common that in turn
# include generated headers from these targets.
# TODO(brettw) this should be made unnecessary if possible.
"//electron/shell/common/extensions/api",
]
deps += [ "//extensions/common/api" ]
}