File: BUILD.gn

package info (click to toggle)
chromium 138.0.7204.183-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 6,071,908 kB
  • sloc: cpp: 34,937,088; ansic: 7,176,967; javascript: 4,110,704; python: 1,419,953; asm: 946,768; xml: 739,971; pascal: 187,324; sh: 89,623; perl: 88,663; objc: 79,944; sql: 50,304; cs: 41,786; fortran: 24,137; makefile: 21,806; php: 13,980; tcl: 13,166; yacc: 8,925; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (126 lines) | stat: -rw-r--r-- 4,018 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# Copyright 2021 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/python.gni")
import("//third_party/blink/renderer/bindings/bindings.gni")
import("//third_party/blink/renderer/build/scripts/scripts.gni")
import("//third_party/blink/renderer/config.gni")
import("//third_party/blink/renderer/extensions/extensions.gni")

assert(use_blink_extensions_chromeos)

visibility = [
  "//third_party/blink/renderer/bindings/extensions/*",
  "//third_party/blink/renderer/extensions/*",
]

config("extensions_chromeos_implementation") {
  visibility += [ "//third_party/blink/renderer/bindings/extensions/*" ]
  defines = [ "BLINK_EXTENSIONS_CHROMEOS_IMPLEMENTATION=1" ]
}

component("chromeos") {
  output_name = "blink_extensions_chromeos"

  visibility = []  # Allow re-assignment of list.
  visibility = [ "//third_party/blink/*" ]

  sources = [
    "chromeos.cc",
    "chromeos.h",
    "chromeos_extensions.cc",
    "chromeos_extensions.h",
    "extensions_chromeos_export.h",
  ]

  # This sets the default list of configs when the blink_modules_sources target
  # is defined. The default_compiler_configs comes from BUILDCONFIG.gn and
  # is the list normally applied to static libraries and source sets.
  configs += [
    ":extensions_chromeos_implementation",

    "//third_party/blink/renderer:config",
    "//third_party/blink/renderer:non_test_config",
    "//third_party/blink/renderer:inside_blink",
  ]

  deps = [
    ":chromeos_generated",
    "//third_party/blink/renderer/core",
    "//third_party/blink/renderer/extensions/chromeos/kiosk",
    "//third_party/blink/renderer/modules",
  ]

  public_deps =
      [ "//third_party/blink/renderer/bindings/extensions/v8:v8_chromeos" ]
}

group("make_chromeos_generated") {
  public_deps = [
    ":make_chromeos_generated_event_names",
    ":make_chromeos_generated_event_target_names",
    ":make_chromeos_generated_event_type_names",
  ]
}

blink_chromeos_extensions_output_dir = "$blink_extensions_output_dir/chromeos"

# generate_event_interfaces ----------------------------------------------------

action_with_pydeps("chromeos_event_interfaces") {
  script = "//third_party/blink/renderer/bindings/scripts/generate_event_interface_names.py"

  inputs = [ web_idl_database_filepath ]
  outputs = [ get_path_info(".", "gen_dir") +
              "/event_interface_chromeos_names.json5" ]

  args = [
    "--web_idl_database",
    rebase_path(web_idl_database_filepath, root_build_dir),
    "--component",
    "extensions_chromeos",
    "--export-macro",
    "EXTENSIONS_CHROMEOS_EXPORT",
    "--suffix",
    "ChromeOS",
    "--output",
    rebase_path(outputs[0], root_build_dir),
  ]

  deps = [ "//third_party/blink/renderer/bindings:web_idl_database" ]
}

# make_names -------------------------------------------------------------------

make_names("make_chromeos_generated_event_target_names") {
  in_files = [ "event_target_chromeos_names.json5" ]
  output_dir = blink_chromeos_extensions_output_dir
}

make_names("make_chromeos_generated_event_names") {
  in_files = [ "$blink_chromeos_extensions_output_dir/event_interface_chromeos_names.json5" ]
  output_dir = blink_chromeos_extensions_output_dir
  deps = make_core_generated_deps + [ ":chromeos_event_interfaces" ]
}

make_names("make_chromeos_generated_event_type_names") {
  in_files = [ "event_type_chromeos_names.json5" ]
  output_dir = blink_chromeos_extensions_output_dir
}

blink_extensions_chromeos_sources("chromeos_generated") {
  # Targets from above that generate outputs that need to be compiled.
  # All sources declared as outputs from these targets will be compiled
  # into one target.
  targets_generating_sources = [
    ":make_chromeos_generated_event_names",
    ":make_chromeos_generated_event_target_names",
    ":make_chromeos_generated_event_type_names",
  ]

  sources = []
  foreach(current, targets_generating_sources) {
    sources += get_target_outputs(current)
  }
}