summaryrefslogtreecommitdiffstats
path: root/extensions/browser/BUILD.gn
blob: e044a7a89128d21ba12ffcf2bc92bcfc89aef762 (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
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
# 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/config/features.gni")
import("//extensions/extensions.gni")

# GYP version: extensions/extensions.gyp:extensions_browser
source_set("browser") {
  sources = []

  deps = [
    "//base:i18n",
    "//components/guest_view/browser",
    "//components/keyed_service/content",
    "//components/keyed_service/core",
    "//components/pref_registry",
    "//components/sessions",
    "//components/ui/zoom",
    "//components/update_client",
    "//components/version_info",
    "//components/web_cache/browser",
    "//components/web_modal",
    "//content/public/browser",
    "//crypto:platform",
    "//extensions/common",
    "//extensions/common/api",
    "//extensions/common/api:api_registration",
    "//extensions/strings",
    "//google_apis",
    "//skia",
    "//third_party/leveldatabase",
    "//third_party/re2",
  ]

  configs += [
    "//build/config:precompiled_headers",

    # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    "//build/config/compiler:no_size_t_to_int_warning",
  ]

  if (enable_extensions) {
    # Includes all API implementations and the ExtensionsApiClient
    # interface. Moving an API from src/chrome to src/extensions implies
    # it can be cleanly disabled with enable_extensions=false.
    # TODO: Eventually the entire extensions module should not be built
    # when enable_extensions=false.
    sources = rebase_path(extensions_gypi_values.extensions_browser_sources,
                          ".",
                          "//extensions")

    deps += [
      "//components/browsing_data",
      "//components/onc",
      "//components/storage_monitor",
      "//components/update_client",
      "//components/variations",
      "//crypto:platform",
      "//device/bluetooth",
      "//device/core",
      "//device/hid",
      "//device/serial",
      "//device/usb",
      "//extensions/common/api/cast_channel:cast_channel_proto",
    ]

    if (is_chromeos) {
      deps += [ "//chromeos" ]
    }

    if (is_chromeos) {
      chromeos_sources = rebase_path(
              extensions_gypi_values.extensions_browser_sources_chromeos,
              ".",
              "//extensions")
      sources += chromeos_sources
    } else {
      nonchromeos_sources = rebase_path(
              extensions_gypi_values.extensions_browser_sources_nonchromeos,
              ".",
              "//extensions")
      sources += nonchromeos_sources

      if (is_linux) {
        configs += [ "//build/config/linux:dbus" ]
        deps += [ "//dbus" ]
        linux_sources = rebase_path(
                extensions_gypi_values.extensions_browser_sources_linux_nonchromeos,
                ".",
                "//extensions")
        sources += linux_sources
      } else {
        if (is_win || is_mac) {
          deps += [ "//components/wifi" ]

          win_or_mac_sources = rebase_path(
                  extensions_gypi_values.extensions_browser_sources_win_or_mac,
                  ".",
                  "//extensions")
          sources += win_or_mac_sources
        }
      }
      if (enable_wifi_display) {
        wifi_display_sources = rebase_path(
                extensions_gypi_values.extensions_browser_sources_wifi_display,
                ".",
                "//extensions")
        sources += wifi_display_sources
      }
    }
  }
}