BUILD.gn 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # Copyright 2018 The Chromium Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style license that can be
  3. # found in the LICENSE file.
  4. import("//electron/buildflags/buildflags.gni")
  5. import("//extensions/buildflags/buildflags.gni")
  6. import("//tools/json_schema_compiler/json_schema_api.gni")
  7. assert(enable_extensions,
  8. "Cannot depend on extensions because enable_extensions=false.")
  9. function_registration("api_registration") {
  10. sources = [
  11. "//electron/shell/common/extensions/api/action.json",
  12. "//electron/shell/common/extensions/api/extension.json",
  13. "//electron/shell/common/extensions/api/resources_private.idl",
  14. "//electron/shell/common/extensions/api/scripting.idl",
  15. "//electron/shell/common/extensions/api/tabs.json",
  16. ]
  17. if (enable_pdf_viewer) {
  18. sources +=
  19. [ "//electron/shell/common/extensions/api/pdf_viewer_private.idl" ]
  20. }
  21. impl_dir = "//electron/shell/browser/extensions/api"
  22. configs = [ "//build/config:precompiled_headers" ]
  23. bundle_name = "Electron"
  24. root_namespace = "extensions::api::%(namespace)s"
  25. schema_include_rules = "extensions/common/api:extensions::api::%(namespace)s"
  26. deps = [
  27. # Different APIs include headers from these targets.
  28. "//components/zoom",
  29. "//content/public/browser",
  30. "//extensions/browser",
  31. # Different APIs include some headers from chrome/common that in turn
  32. # include generated headers from these targets.
  33. # TODO(brettw) this should be made unnecessary if possible.
  34. "//electron/shell/common/extensions/api",
  35. ]
  36. deps += [ "//extensions/common/api" ]
  37. }