summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/modules.gni
blob: aed5f431201a0e93856a29525ec23eddfb7b8ab2 (plain)
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
# 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.

# DON'T INCLUDE modules_idl_files.gni FROM HERE.
#
# This file is shared with all modules' BUILD files which shouldn't need access
# to the huge and slow lists of sources. If sharing is necessary, make a
# separate .gni.
import("//build/config/jumbo.gni")
import("//third_party/blink/renderer/config.gni")
blink_modules_output_dir = "$root_gen_dir/third_party/blink/renderer/modules"

# Defines a part of blink modules. This is either a source set or a static
# library with defaults for commonly-used values.
#
#   deps
#      Default deps are automatically appended to any specified on the caller.
#
#   visibility
#      Normal meaning if defined. If undefined, defaults to everything in core.
template("blink_modules_sources") {
  if (is_component_build) {
    target_type = "source_set"
  } else {
    target_type = "static_library"
  }

  target("jumbo_" + target_type, target_name) {
    # The visibility will get overridden by forward_variables_from below if the
    # invoker defined it.
    visibility = [ "//third_party/blink/renderer/modules/*" ]

    deps = [
      "//third_party/blink/renderer/core",
      "//third_party/blink/renderer/modules:make_modules_generated",
      "//third_party/icu",
    ]
    if (defined(invoker.deps)) {
      deps += invoker.deps
    }

    # Take everything else not handled above from the invoker.
    forward_variables_from(invoker, "*", [ "deps" ])
  }
}
set_defaults("blink_modules_sources") {
  # 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 = default_compiler_configs
  configs += [
    # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    "//build/config/compiler:no_size_t_to_int_warning",
    "//third_party/blink/renderer:config",
    "//third_party/blink/renderer/modules:modules_implementation",
    "//third_party/blink/renderer:non_test_config",
    "//third_party/blink/renderer:inside_blink",
  ]
  configs -= [ "//build/config/compiler:default_symbols" ]
  configs += blink_symbols_config
  configs -= [ "//build/config/compiler:default_optimization" ]
  configs += blink_optimization_config
}